主成分分析法 PCA Principal Component Analysis

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

二维降至一维


如何把图中的二维空间中的点降至一维?

以上三种方法哪种更好?
第三种,因为第三种最大程度地保留了原数据之间的关系. 概率论与数理统计中, 方差(Variance)描述了样本整体疏密的一个指标.

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

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

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

第一步:将所有样本的均值归0 (demean)

由于均值为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} $$

推导过程:

假设均值化之后的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),这是一个求目标函数的最优化问题,使用梯度上升法解决。

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

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