学习笔记

  1. PCA与SVD

    03.04日机器学习视频主题之一,关于主成分分析(PCA)和奇异值分解(SVD)。在PCA优化过程中,要求矩阵\(\frac{1}{m}\Sigma^m_i x^{(i)^{T}}x^{(i)}\)的最大几个特征值对应的特征向量,但对于高维数据(比如500*500图像,\(x \in \mathcal{R}^{250,000}\))计算\(\Sigma\)及其特征向量较为困难。于是在计算\(\Sigma\)前,先对X进行SVD分解,直接得到\(\Sigma\)所对应的特征向量,即可取最大特征值的k个对应的特征向量使用。\(\textit{X} = UDV^T\),取\(U\)的前k行或\(V\)的前k列。

    和广西讨论了一下,SVD和PCA关系比较纠缠,其实可以看做一个东西的两种描述(或侧重): PCA较为偏重的是降维,SVD强调的是分解

  2. 一个表格

      Model F(x) Not problistic
    Subspace Factor Analysis PCA
    Clumps/groups Mixture of Gaussian K-means

    上面表格,是对之前几讲内容的整合。左边标注场合,上面标注类型。

    可以看到,因子分解和高斯混合两个模型都对数据的分布进行了逼近(无论是降维之后的子空间,还是本征数据集上)给我的感觉上,都有一些生成模型的意思;而PCA和K临近,则是只使用非概率方法,对数据进行了表征,使用数据本身特点(而非勾画分布)进行处理,有点儿判别模型的意思(?个人想法)。于是引出第三个话题

  3. 生成模型vs判别模型

    生成模型是分布主导

    判别模型是数据主导

    ——广西和某知乎用户

    或者再引一个知乎用户回答

    生成模型使用联合分布建模,判别模型直接使用条件分布建模。

    自然的,生成模型用以生成一些数据,而判别模型则对已有feature进行判别。

    什么是生成模型?

    需要继续思考和尝试回答这个问题。