ML课刚学,发现更多是对线性代数的回顾。更进一步说,统计机器学习方法就是以高数、线代和概率论为基石构筑的“一栋大厦”。下面主要沿着老师ppt的思路讲讲对PCA方法的个人理解。



这里 u 1 T x ( i ) u_1^Tx^{(i)} u1T​x(i)是 x ( i ) x^{(i)} x(i)在单位方向向量 u 1 u_1 u1​上的投影长度,实际上 u 1 ⋅ x ( i ) ∣ u 1 ∣ = u 1 ⋅ x ( i ) = u 1 T x ( i ) \frac{u_1\cdot x^{(i)}}{|u_1|}=u_1\cdot x^{(i)}=u_1^Tx^{(i)} ∣u1​∣u1​⋅x(i)​=u1​⋅x(i)=u1T​x(i).


求取投影后数据的方差,并通过协方差矩阵的形式表达:
1 N ∑ i = 1 N ( u 1 T x ( i ) − u 1 T μ ) 2 = 1 N ∑ i = 1 N ( ( x ( i ) ) T u 1 − μ T u 1 ) 2 = 1 N ∑ i = 1 N ( ( x ( i ) ) T u 1 − μ T u 1 ) T ( ( x ( i ) ) T u 1 − μ T u 1 ) = 1 N ∑ i = 1 N u 1 T ( ( x ( i ) ) T − μ T ) T ( ( x ( i ) ) T − μ T ) u 1 = 1 N ∑ i = 1 N u 1 T ( x ( i ) − μ ) ( x ( i ) − μ ) T u 1 = u 1 T [ 1 N ∑ i = 1 N ( x ( i ) − μ ) ( x ( i ) − μ ) T ] u 1 = u 1 T S u 1 \frac{1}{N}\sum_{i=1}^{N}(u_1^Tx^{(i)}-u_1^T\mu)^2\\ =\frac{1}{N}\sum_{i=1}^{N}((x^{(i)})^Tu_1-\mu^Tu_1)^2\\ =\frac{1}{N}\sum_{i=1}^{N}((x^{(i)})^Tu_1-\mu^Tu_1)^T((x^{(i)})^Tu_1-\mu^Tu_1)\\ =\frac{1}{N}\sum_{i=1}^{N}u_1^T((x^{(i)})^T-\mu^T)^T((x^{(i)})^T-\mu^T)u_1\\ =\frac{1}{N}\sum_{i=1}^{N}u_1^T(x^{(i)}-\mu)(x^{(i)}-\mu)^Tu_1\\ =u_1^T[\frac{1}{N}\sum_{i=1}^{N}(x^{(i)}-\mu)(x^{(i)}-\mu)^T]u_1\\ =u_1^TSu_1 N1​∑i=1N​(u1T​x(i)−u1T​μ)2=N1​∑i=1N​((x(i))Tu1​−μTu1​)2=N1​∑i=1N​((x(i))Tu1​−μTu1​)T((x(i))Tu1​−μTu1​)=N1​∑i=1N​u1T​((x(i))T−μT)T((x(i))T−μT)u1​=N1​∑i=1N​u1T​(x(i)−μ)(x(i)−μ)Tu1​=u1T​[N1​∑i=1N​(x(i)−μ)(x(i)−μ)T]u1​=u1T​Su1​
第一步变换,将点积表达为 u 1 T x ( i ) u_1^Tx^{(i)} u1T​x(i)和 ( x ( i ) ) T u 1 (x^{(i)})^Tu_1 (x(i))Tu1​是等价的。


优化目标为使投影数据的方差最大,根据最大方差理论:方差越大,信息量越大。以此为目标使投影保留的数据信息量最大,损失最小。使用拉格朗日乘子法求解:
这里要用到矩阵求导公式: ∇ X X T A X = ( A + A T ) X \nabla_{X} X^TAX=(A+A^T)X ∇X​XTAX=(A+AT)X.

求导后我们发现极值处, λ 1 \lambda_1 λ1​不就是协方差矩阵 S S S的特征值, u 1 u_1 u1​不就是对应的特征向量!左右同时乘上 u 1 T u_1^T u1T​,得到 u 1 T S u 1 = λ 1 u_1^TSu_1=\lambda_1 u1T​Su1​=λ1​,等式左侧正是我们的优化目标,特征值 λ 1 \lambda_1 λ1​就是数据投影至向量 u 1 u_1 u1​上的方差。
因此,在算法步骤中,对 S S S进行特征值分解,将特征值从大到小排序 λ 1 , λ 2 , . . . λ n \lambda_1,\lambda_2,...\lambda_n λ1​,λ2​,...λn​,对应的特征向量为 u 1 , u 2 , . . . u n u_1,u_2,...u_n u1​,u2​,...un​,取前 K K K个作投影,将数据降至 K K K维。

PCA算法步骤:



前面提到损失最小,如何量化说明这点?通过降维后的数据重构原数据 x ~ ( i ) \widetilde{x}^{(i)} x (i),看损失了多少,是不是最小。


∣ ∣ x ( i ) − u u T x ( i ) ∣ ∣ 2 = ( x ( i ) − u u T x ( i ) ) T ( x ( i ) − u u T x ( i ) ) = ( ( x ( i ) ) T − ( x ( i ) ) T u u T ) ( x ( i ) − u u T x ( i ) ) = ( x ( i ) ) T x ( i ) − 2 ( x ( i ) ) T u u T x ( i ) + ( x ( i ) ) T u u T u u T x ( i ) = ( x ( i ) ) T x ( i ) − 2 ( x ( i ) ) T u u T x ( i ) + ( x ( i ) ) T u u T x ( i ) = ( x ( i ) ) T x ( i ) − ( x ( i ) ) T u u T x ( i ) ||x^{(i)}-uu^Tx^{(i)}||^2\\ =(x^{(i)}-uu^Tx^{(i)})^T(x^{(i)}-uu^Tx^{(i)})\\ =((x^{(i)})^T-(x^{(i)})^Tuu^T)(x^{(i)}-uu^Tx^{(i)})\\ =(x^{(i)})^Tx^{(i)}-2(x^{(i)})^Tuu^Tx^{(i)}+(x^{(i)})^Tuu^Tuu^Tx^{(i)}\\ =(x^{(i)})^Tx^{(i)}-2(x^{(i)})^Tuu^Tx^{(i)}+(x^{(i)})^Tuu^Tx^{(i)}\\ =(x^{(i)})^Tx^{(i)}-(x^{(i)})^Tuu^Tx^{(i)} ∣∣x(i)−uuTx(i)∣∣2=(x(i)−uuTx(i))T(x(i)−uuTx(i))=((x(i))T−(x(i))TuuT)(x(i)−uuTx(i))=(x(i))Tx(i)−2(x(i))TuuTx(i)+(x(i))TuuTuuTx(i)=(x(i))Tx(i)−2(x(i))TuuTx(i)+(x(i))TuuTx(i)=(x(i))Tx(i)−(x(i))TuuTx(i)

而 m i n ∑ ( ( x ( i ) ) T x ( i ) − ( x ( i ) ) T u u T x ( i ) ) ⟺ m a x ∑ ( ( x ( i ) ) T u u T x ( i ) ) min\sum((x^{(i)})^Tx^{(i)}-(x^{(i)})^Tuu^Tx^{(i)})\\ \iff max\sum((x^{(i)})^Tuu^Tx^{(i)}) min∑((x(i))Tx(i)−(x(i))TuuTx(i))⟺max∑((x(i))TuuTx(i))
进一步变换,利用 u T x ( i ) = ( x ( i ) ) T u u^Tx^{(i)}=(x^{(i)})^Tu uTx(i)=(x(i))Tu,
⟺ m a x ∑ ( ( ( x ( i ) ) T u ) ( u T x ( i ) ) ) ⟺ m a x ∑ ( ( u T x ( i ) ) ( ( x ( i ) ) T u ) ) ⟺ m a x ∑ ( u T x ( i ) ( x ( i ) ) T u ) ⟺ m a x u T ∑ ( x ( i ) ( x ( i ) ) T ) u \iff max\sum(((x^{(i)})^Tu)(u^Tx^{(i)}))\\ \iff max\sum((u^Tx^{(i)})((x^{(i)})^Tu))\\ \iff max\sum(u^Tx^{(i)}(x^{(i)})^Tu)\\ \iff max\ u^T\sum(x^{(i)}(x^{(i)})^T)u ⟺max∑(((x(i))Tu)(uTx(i)))⟺max∑((uTx(i))((x(i))Tu))⟺max∑(uTx(i)(x(i))Tu)⟺max uT∑(x(i)(x(i))T)u
最后发现这和前面方差最大的优化目标时相等价,印证了最大方差理论。

PCA主成分分析法浅理解相关推荐

  1. 主成分分析法的理解与人脸摆正实例

    先前用pca对三维人脸进行了姿势坐标系的统一,只是照步骤来写代码,没有仔细推敲其中的原理.无论人脸是怎样姿势处理后都能够归一化其所在的坐标系.Pca算法为什么能把人脸摆正呢?->统计学中奥妙的冰 ...

  2. 机器学习:(PCA)主成分分析法及应用(spss)

    目录 1.1.主成分分析法简介 1.2.主成分分析法的意义 1.3.主成分分析法的思想 1.4.主成分分析法的步骤 2.1.导入数据 2.2.生成图表 3.1.PCA算法梯度求解 3.1.1. 梯度上 ...

  3. PCA主成分分析法详解

    第二次作业:PCA主成分分析(2021.03.18) 主成分分析(Principal Component Analysis,PCA)是一种常见的线性降维方法,广泛应用于图像处理.人脸识别.数据压缩.信 ...

  4. PCA(主成分分析)的简单理解

    PCA(Principal Components Analysis),它是一种"投影(projection)技巧",就是把高维空间上的数据映射到低维空间.比如三维空间的一个球,往坐 ...

  5. 机器学习(4):PCA主成分分析法实例

    一.简介 1.Principal Component Analysis 2.用途:降维中最常用的一种手段,可用于数据压缩.提取重要信息等领域. 3.目标:基于方差提取最有价值的信息 二.PCA求解原理 ...

  6. 数据分析案例-基于PCA主成分分析法对葡萄酒数据进行分析

  7. 【数学与算法】PCA主成分分析(降维)的通俗理解

    1.PCA降维 PCA主成分分析简单的理解,就是把某物的很多个能直接获取到的特征,经过变换得到很多个新特征,这些新特征对该物体来说,有的影响很大,有的影响很小,只需要使用这些影响大的新特征,舍弃很多影 ...

  8. 三维点云学习(1)上-PCA主成分分析 法向量估计

    三维点云学习(1)上 环境安装 1.系统环境 win10 或者 ubuntu 2. Anaconda3+python3.6 使用Anaconda创建的conda虚拟环境进行python的编写 环境安装 ...

  9. 数学建模系列-评价模型(四)---主成分分析法

    主成分分析法可以理解为层次分析法的一种衍生,是为了舍去无用或者效用较少的参数来达到拟合的目的,为了简化计算. 主成分与原始变量之间的关系: ​ (1)主成分保留了原始变量绝大多数信息. ​ (2)主成 ...

最新文章

  1. C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace
  2. AngularJS2 环境搭建:
  3. 多重循环控制练习之班级成绩情况
  4. java自带的xml解析,使用Java自带SAX工具解析XML
  5. 全新视角洞察租车行业发展趋势
  6. 简单 Proxy 自动提款机应用
  7. linux sed命令_Linux sed命令用法与示例
  8. 代码轻视频系列#001
  9. 考试一个程序员,1f=0.1
  10. Atitit 扩大个人影响力和宣传目录1. 发文舆论阵地 11.1. 简书 知乎 csdn等 11.2. Ifttt出发同步 11.3. 问答平台 知乎 quaro 11.4. Tik
  11. 毕设查重,避免雷区【划重点!!!】
  12. Web程序设计(第三版)课后答案
  13. Juniper交换机配置命令_学习笔记
  14. Kali linux 基础常用指令详解
  15. 3月16日----3月20日二年级课程表
  16. java获取当天星期几
  17. 【python】tkinter界面化+百度API—聊天机器人(四)
  18. 半导体通讯标准EAP、SECS/GEM视频介绍
  19. 微信小程序——获取步数
  20. 用Go实现UTXO,UTXO实现

热门文章

  1. 设置Adobe Reader为default的PDF阅读工具
  2. pythonwith open 打开多个文件_Python中使用with语句同时打开多个文件
  3. 卷积神经网络( CNN)与全卷积神经网络(FCN)
  4. sourcetree的日常使用
  5. Java代码修改文件后缀名
  6. Java课程project(SMAC计算器)----基于JavaSE
  7. 给HttpClient添加Socks代理
  8. 粮仓分布式多点测温的简单参考方案
  9. Windows下安装 msysGit 以及初始化 Git server环境
  10. 使用jquery获取标签的id属性