PCA

如果reduce to 1D,我们使用z1=w1xz_1=w^1*x,使得xx投影到w1w^1上,即达到了降维的目的,那么我们如何来评价降维的好坏呢?

我们可以使用降维之后数据的variance来评价,variance越大越好
李宏毅老师课程:Unsupervised Learning: PCA
如果reduce to 2D,那么现在就需要投影到两个不同的方向(w1,w2)(w^1,w^2)上,再来与xx做inner product,得到z1,z2z_1,z_2,再分别计算这两者的variance;其中w1,w2w^1,w^2要满足一定的条件,即w1w2=0w^1*w^2=0,两者是垂直的,可以保证是不同的方向

那么W就是一个正交矩阵,向量之间相互正交,且向量模长都是1
李宏毅老师课程:Unsupervised Learning: PCA

Formula

李宏毅老师课程:Unsupervised Learning: PCA
李宏毅老师课程:Unsupervised Learning: PCA
李宏毅老师课程:Unsupervised Learning: PCA

Decorrelation

李宏毅老师课程:Unsupervised Learning: PCA

Another Point of View

下图中的7可以由三个部分组成,即u1,u3,u5u^1,u^3,u^5
李宏毅老师课程:Unsupervised Learning: PCA
那么我们目标就是找到这K个component
李宏毅老师课程:Unsupervised Learning: PCA
李宏毅老师课程:Unsupervised Learning: PCA
李宏毅老师课程:Unsupervised Learning: PCA
ckc_k可以用另外一种形式表达出来
李宏毅老师课程:Unsupervised Learning: PCA
那么c1c_1乘上wiw^i,就可以得到output
李宏毅老师课程:Unsupervised Learning: PCA
对于c2c_2也有类似的结果
李宏毅老师课程:Unsupervised Learning: PCA
如果是在linear的情况下,使用PCA比较好,用network就会很麻烦;但network可以是deep的,可以中间有很多个hidden layer,这被称为Deep Autoencoder

Weakness of PCA

  • unsupervised,输入的data是没有label的,PCA会找一种方式使得降维之后data的variance最大,就可能出现左上的结果,这时两者的class是不一样的,如果还是继续投影到红线上,就会出现两个class的data相互交错的局面;
  • Linear,对于立体的data,如果还是继续pca,得到的结果也会非常不理想
    李宏毅老师课程:Unsupervised Learning: PCA

PCA for Pokemon

李宏毅老师课程:Unsupervised Learning: PCA
李宏毅老师课程:Unsupervised Learning: PCA
李宏毅老师课程:Unsupervised Learning: PCA

PCA for MNIST

李宏毅老师课程:Unsupervised Learning: PCA

PCA for Face

李宏毅老师课程:Unsupervised Learning: PCA
本文图片来自李宏毅老师课程PPT,文字是对李宏毅老师上课内容的笔记或者原话复述,在此感谢李宏毅老师的教导。

相关文章:

  • 2021-08-01
  • 2021-09-04
  • 2021-06-02
  • 2021-11-20
  • 2021-05-06
  • 2021-05-26
  • 2021-08-04
  • 2021-12-17
猜你喜欢
  • 2021-04-12
  • 2021-12-15
  • 2021-05-16
  • 2021-04-29
  • 2021-07-12
  • 2022-01-17
  • 2021-09-26
相关资源
相似解决方案