给定一系列样本点,找到贯穿样本点的直线; 处理这个问题有两类方法,一种是线性回归,另一种是主成分分析。本文从优化目标来比较两者区别。
由于两类方法比较经典,教程也较多,本文不再详细介绍二类方法。
假定样本点为:
(x^1,y^1),(x^2,y^2),…,(x^N,y^N)
1. 线性回归
线性回归假设直线方程为: y=kx+b, 众所周知它的优化目标是尽可能减小预测yi以及真值 y^i之间的距离的平方:
mini=1∑N(yi−y^i)2⇒k,bmini=1∑N(kxi+b−y^i)2
上式就是我们熟知的最小二乘法。对k和b分别求偏导并令偏导为0即可求解出最终的k^和b^。推导过程和最终结果省略。
2. 主成分分析
与线性回归不同,主成分分析的优化目标是最小化点到直线距离,假设直线方程为ax+by+c=0。 简单起见,如果假设样本点均值和最终的直线截距均为0, 则直线方程简化为 ax+by=0.
从解析几何的性质可知:假设某个样本点坐标为
(x^i,y^i)
那么这个样本点到直线距离如下:
di=a2+b2ax^i+by^i
最终优化目标可以表示为最小化所有点到直线的距离平方和:
mini=1∑Ndi2
如果把优化参数写成列向量的形式 w≡(a;b)∈R2×1 数据点写成行向量的形式 pi≡(x^i,y^i)∈R1×2,那么公式(4)可以写成如下表达:
di=∥w∥2piw
如果约束 ∥w∥2=1,并且所有点集合用大矩阵 P≡(p1;p2;…;pN)∈Rn×2表示,那么优化目标(5)可以转化为:
wmini=1∑N(piw)2,s.t.∥w∥2=1⇒wminwTPTPw,s.t.wTw=1
上式可以使用拉格朗日乘子法求解:
wTPTPw+λwTw
对 w求偏导并令导数为零:
2PTPw+2λw=0⇒PTPw=(−λ)w
问题转化为对协方差矩阵(零均值假设)PTP∈R2×2求特征值和特征向量。下面分析拉格朗日乘子λ的物理意义,由于2阶方阵最多有两个特征值,那么应该选取哪个特征值呢? 特征值有如下性质推导:
i=1∑Ndi2=wTPTPw=(−λ)wT(−λ)w=λ2wTw=λ2
可知,优化目标值就是特征值的平方,由于我们希望优化目标值越小越好,因此选择绝对值较小的特征值对应的特征向量作为最终的解。
特点总结:
- 线性回归通常用于两变量相关性分析以及机器学习预测, 它的侧重点是变量分析和预测本身, 数据点的坐标分量物理意义明确。但是优化目标和结果高度依赖坐标轴的选取和建立。
- 主成分分析直接建模点到直线的距离,它不依赖坐标系的选取,优化结果具有旋转、镜像等变性。适合几何建模。