> For the complete documentation index, see [llms.txt](https://windmising.gitbook.io/liu-yu-bo-play-with-machine-learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://windmising.gitbook.io/liu-yu-bo-play-with-machine-learning/src/chapter7-1/7-1.md).

# 7-1

## 主成分分析法 PCA Principal Component Analysis

一个非监督的机器学习算法\
主要用于数据的降维\
通过降维，可以发现更便于人类理解的特征\
其他应用：可视化，去噪

## 二维降至一维

![](http://windmissing.github.io/images/2019/88.png)\
如何把图中的二维空间中的点降至一维？\
![](http://windmissing.github.io/images/2019/89.png)\
以上三种方法哪种更好？\
第三种，因为第三种最大程度地保留了原数据之间的关系. 概率论与数理统计中, 方差(Variance)描述了样本整体疏密的一个指标.

## 如何找到这个样本间间距(方差)最大的轴？

![](http://windmissing.github.io/images/2019/91.png)

$$
\begin{aligned} Var(x) = \frac{1}{m}\sum\_{i=1}^m(x\_i-\bar x)^2 && (1) \end{aligned}
$$

其中 $$\bar x$$ 代表x的平均值。

第一步：将所有样本的均值归0 （demean）\
![](http://windmissing.github.io/images/2019/92.png)\
由于均值为0，则公式（1）可以化简为:

$$
\begin{aligned} Var(x) = \frac{1}{m}\sum\_{i=1}^m(x\_i-\bar x)^2 = \frac{1}{m}\sum\_{i=1}^mx\_i^2 && (2) \end{aligned}
$$

这里的x是样本映射到坐标轴以后的新的样本的值 $$X\_{\text{project}}$$ 。\
第二步：求一个轴的方向w = (w1, w2)，使用所有的样本映射到w以后，有 $$Var(X\_{\text{project}})$$ 最大:

$$
\begin{aligned} Var(X\_{\text{project}}) = \frac{1}{m}\sum\_{i=1}^m||x^{(i)}\_{\text{project}}||^2 && (3) \end{aligned}
$$

推导过程：\
![](http://windmissing.github.io/images/2019/95.png)\
假设均值化之后的x的坐标为

$$
X^{(i)}=(X^{(i)}\_1, X^{(i)}\_2)
$$

要映射的坐标轴为 $$w-{w\_1, w\_2}$$\
$$X^{(i)}$$ 映射到 $$w - {w\_1, w\_2}$$ 之后的新坐标为

$$X\_{pr}^{(i)} = (X^{(i)}*{pr1}, X^{(i)}*{pr2})$$

那么, $$||x^{(i)}\_{\text{project}}||$$ 为:

$$
||x^{(i)}\_{\text{project}}|| = X^{(i)} \cdot w
$$

代入公式（3）得:

$$
\begin{aligned} Var(X\_{\text{project}}) = \frac{1}{m}\sum\_{i=1}^m|| X^{(i)} \cdot w||^2 && (4) \end{aligned}
$$

目标是最大化公式（4），这是一个求目标函数的最优化问题，使用梯度上升法解决。

## 主成分分析法和线性回归的区别

![](http://windmissing.github.io/images/2019/97.png)

\| 主成分分析 | 线性回归 --|---|-- 坐标轴 | 2个特征 | 1个特征和输出标记 要求的是什么 | 一个方向 | 一根直线 经过点的线与什么垂直 | 所求的方向垂直 | x轴 目标 | 方差最大 | MSE最小
