目录

  • 主成分分析(PCA)
    • 1. 坐标投影
    • 2. 最近重构性
    • 3. 最大可分性
    • 4. 求解

主成分分析(PCA)


1. 坐标投影

主成分分析(PCA, Principal Component Analysis)是最常用的一种线性降维方法。

假设原来的样本是 d 维空间,样本矩阵 X=[x1x2⋯xm]∈Rd×mX=\begin{bmatrix}x_1 &amp; x_2 &amp; \cdots &amp; x_m \end{bmatrix} \in \mathbb{R^{d\times m}}X=[x1​​x2​​⋯​xm​​]∈Rd×m,xi∈Rdx_i \in \mathbb{R^d}xi​∈Rd 表示第 i 个样本。为了方便起见,假设样本进行了中心化,即 ∑i=1mxi=0\sum_{i=1}^m x_i=0∑i=1m​xi​=0。现在要将样本投影到一个 k 维的超平面,其中 k&lt;dk &lt; dk<d。选取此超平面中的一组标准正交基作为坐标轴,记为 W=[w1w2⋯wk]W=\begin{bmatrix}w_1 &amp; w_2 &amp; \cdots &amp; w_k \end{bmatrix}W=[w1​​w2​​⋯​wk​​],其中 wiw_iwi​ 是标准正交向量,即 ∥wi∥2=1\left \| w_i\right \|_2=1∥wi​∥2​=1,wiTwj=0(i≠j)w_i^Tw_j=0\ (i \neq j)wiT​wj​=0 (i̸​=j)。则每个样本 xix_ixi​ 在这个低维坐标系中的投影为 zi=[zi1zi2⋯zik]Tz_i=\begin{bmatrix}z_{i1} &amp; z_{i2} &amp; \cdots &amp; z_{ik} \end{bmatrix}^Tzi​=[zi1​​zi2​​⋯​zik​​]T, 其中 zij=wjTxiz_{ij}=w_j^T x_izij​=wjT​xi​ 是 xix_ixi​ 投影到第 j 个坐标轴 wjw_jwj​ 得到的坐标,证明如下。

证明方法一:xix_ixi​ 到第 j 个坐标轴 wjw_jwj​ 的投影长度为 wjTxi∥wi∥2=wjTxi\frac{w_j^Tx_i}{\left \| w_i\right \|_2}=w_j^Tx_i∥wi​∥2​wjT​xi​​=wjT​xi​,因为 ∥wi∥2=1\left \| w_i\right \|_2=1∥wi​∥2​=1,所以投影的长度即为坐标。
证明方法二:假设 xix_ixi​ 投影在 wjw_jwj​ 的坐标为 c,则 xix_ixi​ 可分解为两个分量,一个分量是 c⋅wjc\cdot w_jc⋅wj​,另一个是垂直 wjw_jwj​ 的分量,为 xi−c⋅wjx_i-c\cdot w_jxi​−c⋅wj​,可得 wjT(xi−c⋅wj)=0w_j^T(x_i-c\cdot w_j)=0wjT​(xi​−c⋅wj​)=0,即 wjTxi=c∥wi∥22w_j^Tx_i=c \left \| w_i\right \|_2^2wjT​xi​=c∥wi​∥22​,因为 ∥wi∥2=1\left \| w_i\right \|_2=1∥wi​∥2​=1, 所以 c=wjTxic=w_j^Tx_ic=wjT​xi​

所以,样本 xix_ixi​ 在这个低维坐标系中的投影坐标为 zi=WTxiz_i=W^Tx_izi​=WTxi​,所有样本投影之后的结果是 Z=WTXZ=W^TXZ=WTX,ZZZ 的每一列是一个新的样本坐标。下面使用两种优化目标来推导 PCA 的求解公式。

2. 最近重构性

投影之后,利用投影得到的坐标 ziz_izi​ 来重构 xix_ixi​,得到 x^i=∑j=1kzijwj=Wzi\hat{x}_i=\sum_{j=1}^kz_{ij}w_j=Wz_ix^i​=∑j=1k​zij​wj​=Wzi​。由于 k 比 d 小,因此投影之后一般会有信息损失(除非所有 xix_ixi​ 都在 k 维超平面上,即 WWW 的列空间里)。信息损失为 ∥xi−x^i∥22\left \| x_i-\hat{x}_i\right \|_2^2∥xi​−x^i​∥22​, 即 xix_ixi​ 到上述 k 维超平面的距离。要想使信息损失最小,则需要让所有样本到超平面的距离最小化,如下:
∑i=1m∥xi−x^i∥22=∑i=1m∥xi−Wzi∥22=∥X−WZ∥22\sum_{i=1}^m\left \| x_i-\hat{x}_i\right \|_2^2=\sum_{i=1}^m\left \| x_i-Wz_i\right \|_2^2=\left \|X-WZ\right \|_2^2i=1∑m​∥xi​−x^i​∥22​=i=1∑m​∥xi​−Wzi​∥22​=∥X−WZ∥22​ 把 Z=WTXZ=W^TXZ=WTX 代入,根据 ∥A∥22=tr(ATA)=tr(AAT)\left \| A\right \|_2^2=tr(A^TA)=tr(AA^T)∥A∥22​=tr(ATA)=tr(AAT) 得
∥X−WWTX∥22=tr((X−WWTX)T(X−WWTX))=tr((XT−XTWWT)(X−WWTX))=tr(XTX−2⋅XTWWTX+XTWWTWWTX)=tr(XTX−2⋅XTWWTX+XTWWTX)=tr(XTX−XTWWTX)=tr(XTX)−tr(XTWWTX)\begin{aligned} \left \|X-WW^TX\right \|_2^2 &amp; =tr((X-WW^TX)^T(X-WW^TX)) \\ &amp; = tr((X^T-X^TWW^T)(X-WW^TX)) \\ &amp; = tr(X^TX-2\cdot X^TWW^TX+X^TWW^TWW^TX) \\ &amp; = tr(X^TX-2\cdot X^TWW^TX+X^TWW^TX)\\ &amp; = tr(X^TX-X^TWW^TX) \\ &amp; = tr(X^TX)-tr(X^TWW^TX) \end{aligned}∥∥​X−WWTX∥∥​22​​=tr((X−WWTX)T(X−WWTX))=tr((XT−XTWWT)(X−WWTX))=tr(XTX−2⋅XTWWTX+XTWWTWWTX)=tr(XTX−2⋅XTWWTX+XTWWTX)=tr(XTX−XTWWTX)=tr(XTX)−tr(XTWWTX)​ 上面的变换主要利用了 WTW=IW^TW=IWTW=I,注意 WWW 不是方阵,因此 WWT≠IWW^T \neq IWWT̸​=I,不能消去。由于 tr(XTX)tr(X^TX)tr(XTX) 是常数,可以从优化目标里去掉,并且:
tr(XTWWTX)=tr((WTX)T(WTX))=tr((WTX)(WTX)T)=tr(WTXXTW)tr(X^TWW^TX)=tr((W^TX)^T(W^TX))=tr((W^TX)(W^TX)^T)=tr(W^TXX^TW) tr(XTWWTX)=tr((WTX)T(WTX))=tr((WTX)(WTX)T)=tr(WTXXTW) 因此最后的优化目标如下:
max⁡Wtr(WTXXTW)s.t.WTW=I\max_W tr(W^TXX^TW) \\ s.t. \quad W^TW=IWmax​tr(WTXXTW)s.t.WTW=I 由于样本做了中心化,因此 XXTXX^TXXT 是协方差矩阵。

3. 最大可分性

除了要求信息损失最小之外,也可以从另一个角度去优化,我们希望投影之后的点在超平面上尽可能地分散开,不要都挤到一起,即使投影后的样本点方差最大化。由于 ∑i=1mzi=∑i=1mWTxi=WT∑i=1mxi=0\sum_{i=1}^mz_i=\sum_{i=1}^mW^Tx_i=W^T\sum_{i=1}^mx_i=0∑i=1m​zi​=∑i=1m​WTxi​=WT∑i=1m​xi​=0 (因为 xix_ixi​ 做了中心化),可以得出 ziz_izi​ 的均值也为 000。所以投影后方差可以表示为
∑i=1m∥zi∥22=∥Z∥22=∥WTX∥22\sum_{i=1}^m\left \|z_i\right \|_2^2=\left \|Z\right \|_2^2=\left \| W^TX \right \|_2^2i=1∑m​∥zi​∥22​=∥Z∥22​=∥∥​WTX∥∥​22​ 根据 ∥A∥22=tr(ATA)=tr(AAT)\left \| A\right \|_2^2=tr(A^TA)=tr(AA^T)∥A∥22​=tr(ATA)=tr(AAT), 有:
∥WTX∥22=tr((WTX)(WTX)T)=tr(WTXXTW)\left \| W^TX \right \|_2^2=tr((W^TX)(W^TX)^T)=tr(W^TXX^TW)∥∥​WTX∥∥​22​=tr((WTX)(WTX)T)=tr(WTXXTW) 因此优化目标为:
max⁡Wtr(WTXXTW)s.t.WTW=I\max_W tr(W^TXX^TW) \\ s.t. \quad W^TW=IWmax​tr(WTXXTW)s.t.WTW=I

4. 求解

使用拉格朗日乘子法,令导数为0,可得
XXTW=λWXX^TW=\lambda WXXTW=λW 对 XXTXX^TXXT 进行特征值分解,将得到的特征值从大到小排列,前 k 个特征值对应的特征向量即为 WWW 的各个列向量。然后用 WTXW^TXWTX 就可求得降维后的样本矩阵 ZZZ。

机器学习笔记之——降维(二)主成分分析(PCA)相关推荐

  1. 机器学习笔记之降维(二)样本均值与样本方差的矩阵表示

    机器学习笔记之降维--样本均值与样本方差的矩阵表示 引言 场景介绍 样本均值与样本方差 样本均值与样本方差的矩阵表示 样本均值的矩阵表达 样本方差的矩阵表达 中心矩阵的性质 引言 上一节介绍了维数灾难 ...

  2. Python机器学习笔记 使用scikit-learn工具进行PCA降维...

    Python机器学习笔记 使用scikit-learn工具进行PCA降维 之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-lear ...

  3. Python机器学习笔记 使用scikit-learn工具进行PCA降维

    Python机器学习笔记 使用scikit-learn工具进行PCA降维 之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-lear ...

  4. 机器学习笔记之降维(一)维数灾难

    机器学习笔记之降维--维数灾难 引言 回顾:过拟合 维度灾难 从数值角度观察维数灾难 从几何角度观察维度灾难 示例1 示例2 引言 本节将介绍降维算法,并介绍降维算法的相关背景. 回顾:过拟合 我们在 ...

  5. 机器学习-降维之主成分分析PCA算法原理及实战

    主成分分析 前言 近年来,随着互联网和信息行业的发展,数据已经渗透到各行各业,成为重要的生产因素如数据记录和属性规模的急剧增长.社会已经进入大数据时代,数据越多越好似乎已经成为公理.然而,数据量并不是 ...

  6. 西瓜书+实战+吴恩达机器学习(十八)降维(主成分分析 PCA)

    文章目录 0. 前言 1. 主成分分析PCA 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 维数灾难:在高维情形下出现的数据样本稀疏.距离计算困难等问题. 缓解 ...

  7. coursera机器学习-聚类,降维,主成分分析

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  8. 【机器学习】无监督学习--(降维)主成分分析PCA

    注:数据集在文章末尾 1. PCA简单例子 import numpy as np import matplotlib.pyplot as plt# 载入数据 data = np.genfromtxt( ...

  9. 机器学习笔记(十)降维和度量学习

    10.降维和度量学习 10.1k近邻学习 k近邻(k-NearestNeighbor,简称kNN)学习是一种常用的监督学习方法,其原理是:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练 ...

最新文章

  1. JAVA笔记(十四)
  2. matlab ode45求解齿轮动力学,ode45求解多自由度动力学方程实例.doc
  3. 产品报价单模板_外贸干货 | 外贸人的好东西,报价单这样做才专业!
  4. ROS 教程之 network:多台计算机之间网络通信(1)
  5. K8S专题-基础组件的部署1
  6. SEO:避免关键词内部竞争带来的无法收录问题,
  7. 华为手机怎么设置字体?
  8. AMESim2020MATLAB2020b联合仿真设置
  9. jzoj3027. 【NOIP2011DAY2】计算系数(math)
  10. MySQL数据库出现unknown error 1449错误原因及其解决办法
  11. JAVA、PHP统一社会信用代码、身份证号算法解析验证
  12. 王者荣耀无法提取模型
  13. 基于OCR识别引擎的识别表格文字并将结果以Excel电子表格的形式原样导出的Android客户端代码
  14. 微信公众号新上线“快捷私信”功能 微信留言功能没有的号迎来转机
  15. [Pytorch]torch.nn.functional.conv2d与深度可分离卷积和标准卷积
  16. 容器服务(四): Kubernetes 搭建与核心原理
  17. 华视身份证读卡器网页信息采集失灵处理办法
  18. 日本語トレーニング45
  19. weblogic10.3压测BEA-000449的调整
  20. 飞行机的精确定位问题

热门文章

  1. Field XXXService in com.XXX.controller.XXX required a bean of type ‘com.XXX.mapper.xxx‘that could no
  2. 网站统计源码,功能强大显示访问设备等
  3. 国内动态ip 通过派克斯来支持宽带拨号实现换ip的目的
  4. 专利申请的八个详细步骤
  5. 双重预防机制数字化系统为施工进度提供安全保障
  6. 简单爬取阿里巴巴商品信息
  7. T-SQL:表的创建和管理
  8. 求程序员技能交换本人英语专业
  9. cst与matlab联合优化,MATLAB-CST联合仿真之三:结构参数优化
  10. 卷积神经网络与循环神经网络实战 --- 手写数字识别及诗词创作