PCA主成分分析法浅理解
ML课刚学,发现更多是对线性代数的回顾。更进一步说,统计机器学习方法就是以高数、线代和概率论为基石构筑的“一栋大厦”。下面主要沿着老师ppt的思路讲讲对PCA方法的个人理解。
这里 u 1 T x ( i ) u_1^Tx^{(i)} u1Tx(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)=u1Tx(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(u1Tx(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=1Nu1T((x(i))T−μT)T((x(i))T−μT)u1=N1∑i=1Nu1T(x(i)−μ)(x(i)−μ)Tu1=u1T[N1∑i=1N(x(i)−μ)(x(i)−μ)T]u1=u1TSu1
第一步变换,将点积表达为 u 1 T x ( i ) u_1^Tx^{(i)} u1Tx(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 ∇XXTAX=(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 u1TSu1=λ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主成分分析法浅理解相关推荐
- 主成分分析法的理解与人脸摆正实例
先前用pca对三维人脸进行了姿势坐标系的统一,只是照步骤来写代码,没有仔细推敲其中的原理.无论人脸是怎样姿势处理后都能够归一化其所在的坐标系.Pca算法为什么能把人脸摆正呢?->统计学中奥妙的冰 ...
- 机器学习:(PCA)主成分分析法及应用(spss)
目录 1.1.主成分分析法简介 1.2.主成分分析法的意义 1.3.主成分分析法的思想 1.4.主成分分析法的步骤 2.1.导入数据 2.2.生成图表 3.1.PCA算法梯度求解 3.1.1. 梯度上 ...
- PCA主成分分析法详解
第二次作业:PCA主成分分析(2021.03.18) 主成分分析(Principal Component Analysis,PCA)是一种常见的线性降维方法,广泛应用于图像处理.人脸识别.数据压缩.信 ...
- PCA(主成分分析)的简单理解
PCA(Principal Components Analysis),它是一种"投影(projection)技巧",就是把高维空间上的数据映射到低维空间.比如三维空间的一个球,往坐 ...
- 机器学习(4):PCA主成分分析法实例
一.简介 1.Principal Component Analysis 2.用途:降维中最常用的一种手段,可用于数据压缩.提取重要信息等领域. 3.目标:基于方差提取最有价值的信息 二.PCA求解原理 ...
- 数据分析案例-基于PCA主成分分析法对葡萄酒数据进行分析
- 【数学与算法】PCA主成分分析(降维)的通俗理解
1.PCA降维 PCA主成分分析简单的理解,就是把某物的很多个能直接获取到的特征,经过变换得到很多个新特征,这些新特征对该物体来说,有的影响很大,有的影响很小,只需要使用这些影响大的新特征,舍弃很多影 ...
- 三维点云学习(1)上-PCA主成分分析 法向量估计
三维点云学习(1)上 环境安装 1.系统环境 win10 或者 ubuntu 2. Anaconda3+python3.6 使用Anaconda创建的conda虚拟环境进行python的编写 环境安装 ...
- 数学建模系列-评价模型(四)---主成分分析法
主成分分析法可以理解为层次分析法的一种衍生,是为了舍去无用或者效用较少的参数来达到拟合的目的,为了简化计算. 主成分与原始变量之间的关系: (1)主成分保留了原始变量绝大多数信息. (2)主成 ...
最新文章
- C++ Primer 5th笔记(chap 18 大型程序工具)未命名的命名空间unnamed namespace
- AngularJS2 环境搭建:
- 多重循环控制练习之班级成绩情况
- java自带的xml解析,使用Java自带SAX工具解析XML
- 全新视角洞察租车行业发展趋势
- 简单 Proxy 自动提款机应用
- linux sed命令_Linux sed命令用法与示例
- 代码轻视频系列#001
- 考试一个程序员,1f=0.1
- Atitit 扩大个人影响力和宣传目录1. 发文舆论阵地 11.1. 简书 知乎 csdn等 11.2. Ifttt出发同步 11.3. 问答平台 知乎 quaro 11.4. Tik
- 毕设查重,避免雷区【划重点!!!】
- Web程序设计(第三版)课后答案
- Juniper交换机配置命令_学习笔记
- Kali linux 基础常用指令详解
- 3月16日----3月20日二年级课程表
- java获取当天星期几
- 【python】tkinter界面化+百度API—聊天机器人(四)
- 半导体通讯标准EAP、SECS/GEM视频介绍
- 微信小程序——获取步数
- 用Go实现UTXO,UTXO实现