李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
这个课呢讲解无监督学习中的两大类,数据降维和生成模型.
数据降维先专注于线性降维.

聚类(Clustering)

K-means

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

HAC

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

数据降维(Dimension Reduction)

数据降维直观上看这张图就能知道,高维空间中的特点可以在低维空间表示.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
再举例来说,一张数字图片大小为28×2828\times28,但是表示数字的信息的像素点是很少的.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
一张3的图片,经过旋转之后,还是3,但是计算机得到的是另外4张图片.
而这4张图片可以用一个仿射变换矩阵得到,这样数据得到了压缩.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
如何做降维呢?

第一种方法叫Feature selection:把没有用的维度去掉
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
第2种就是PCA

PCA(Principal Component Analysis)

PCA就是一个线性函数,输入一个高维向量输出一个低维向量.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
这里引用了Bishop 对于PCA的定义.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
再补充一个大佬的博客

PCA的做法就蕴含在定义中.
先找w1w_1,使得z1z_1的方差最大:
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
再找w2w_2,使得z2z_2的方差最大,同时保证w2w_2与先找到的w1w_1垂直,以此类推,找到所有的wiw_i.所以最终的WW是一个正交矩阵(Orthogonal matrix):
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
在大佬的博客中,其实就说的非常清楚了:
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
PCA降维到k维,这个k就是一个超参数,是需要自己决定的.下图中的M既是k.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
下面的推导需要注意:
(ab)(a \cdot b)表示内积
(ab)(ab)表示矩阵乘积
下面推导后的结果就是:
让投影后方差最大等价于让(w1)TSw1(w^1)^TSw^1最大.
SS是数据的协方差矩阵
同时规定w12=(w1)Tw1=1||w^1||_2=(w^1)^Tw^1=1作为限定条件
这个条件就可以用拉格朗日乘数法带入,找到w1w^1
如果对推导有困难,可以先看后面的PRML中的特征向量和拉格朗日乘数法.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

基于特征值分解协方差矩阵实现PCA算法

因为SS是数据的协方差矩阵,所有具有一些性质:

  1. SS是对称的(Symmetric)
  2. SS是半正定矩阵(Positive-semidefinite): 设SS为实对称矩阵,若对于每个非零实向量XX,都有XTSX0X^TSX\ge 0,则称A为半正定矩阵,称XTSXX^TSX为半正定二次型。
  3. SS的特征值(eigenvalues)都是非负的
  4. eigenvector是特征向量

通过推导得到结论:
计算数据矩阵的协方差矩阵,然后得到协方差矩阵的特征值特征向量,选择特征值最大(即方差最大)的k个特征所对应的特征向量组成的矩阵。
下图为k=1:
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
下图为k=2:
求偏导得到红色框公式:
左乘(w1)T(w^1)^T推导得β=0\beta=0
红色框公式带入β=0\beta=0得黄色框公式
所以w2w^2是特征向量
因为最大的特征值对应的特征向量是w1w^1
所以为了使(w2)TSw2(w^2)^TSw^2最大
w2w^2就是第二大特征值对应的特征向量

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
Cov(z)=DCov(z)=D对角矩阵(diagonal matrix)
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

特征向量

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

拉格朗日乘数法

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

基于SVD分解协方差矩阵实现PCA算法

假设在MNIST上的数字都是由不同的笔画组成,每一个数字可以看作是笔画的线性组合.
我们提取的笔画数远远小于像素数,就完成了数据降维.
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
在定义中一个digit由component线性组成,再加一个digit的平均
digit: xx
digits的平均: xˉ\bar x
component线性组成: x^\hat x
xˉ\bar xxx是已知的,目标就是最小化xxˉx-\bar xx^\hat x之间的重构误差(reconstruction error)

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

PCA通过神经网络实现

注意这时候WW不能保证是正交矩阵
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

PCA在数据可视化的例子

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

Weakness of PCA

  1. 无监督的
  2. 线性的

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis
李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

PCA的扩展

矩阵分解(Matrix Factorization)

https://datajobs.com/data-science-repo/Recommender-Systems-[Netflix].pdf

李宏毅ML lecture-13 unsupervised Learning Principle Component Analysis

相关文章:

  • 2021-06-03
  • 2021-08-27
  • 2021-06-22
  • 2021-07-18
  • 2021-06-24
  • 2021-05-04
  • 2021-05-06
  • 2021-05-22
猜你喜欢
  • 2021-04-30
  • 2021-07-12
  • 2021-06-08
  • 2021-12-18
  • 2021-08-02
  • 2021-04-06
  • 2021-09-23
相关资源
相似解决方案