7-1

主成分分析法 PCA Principal Component Analysis

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

二维降至一维

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

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

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

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

第一步:将所有样本的均值归0 (demean) 由于均值为0,则公式(1)可以化简为:

Var(x)=1mi=1m(xixˉ)2=1mi=1mxi2(2)\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是样本映射到坐标轴以后的新的样本的值 XprojectX_{\text{project}} 。 第二步:求一个轴的方向w = (w1, w2),使用所有的样本映射到w以后,有 Var(Xproject)Var(X_{\text{project}}) 最大:

Var(Xproject)=1mi=1mxproject(i)2(3)\begin{aligned} Var(X_{\text{project}}) = \frac{1}{m}\sum_{i=1}^m||x^{(i)}_{\text{project}}||^2 && (3) \end{aligned}

推导过程: 假设均值化之后的x的坐标为

X(i)=(X1(i),X2(i))X^{(i)}=(X^{(i)}_1, X^{(i)}_2)

要映射的坐标轴为 ww1,w2w-{w_1, w_2} X(i)X^{(i)} 映射到 ww1,w2w - {w_1, w_2} 之后的新坐标为

Xpr(i)=(Xpr1(i),Xpr2(i))X_{pr}^{(i)} = (X^{(i)}_{pr1}, X^{(i)}_{pr2})

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

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

代入公式(3)得:

Var(Xproject)=1mi=1mX(i)w2(4)\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最小

Last updated