透过表象看本质!?之二——除了最小p乘,还有PCA
2013-09-01 22:10
281 查看
透过表象看本质!?之二——除了最小p乘,还有PCA
分类: 人工智能 观测 本质 预测2013-08-1916:46 166人阅读 评论(1) 收藏 举报
PCA最小二乘法数据分析压缩人脸识别
如图1所示,最小p乘法求得是
,而真实值到拟合曲线的距离为
。那么,
对应的是什么样的数据分析呢?
图1 最小p乘法的使用的误差是
。真实值到拟合曲线的距离为
假如存在拟合曲线,设直线方程为
。真实值
到该曲线的投影点为
。p=2时,则两点之间的距离为
(37)
(38)
点
在直线上,同时
。这两个条件构成如下方程组
(39)
联立上述方程组求得
(40)
代入式(37)(38)得
(41)
上式两边对b求偏导,令偏导数为零得
(42)
化简为
(43)
(44)
令
(45)
(46)
将式(45)(46)代入式(44)得
(47)
(48)
因此,该直线通过均值点
,投影点可以改写为
(49)
其中e是直线方向的单位向量。将式(49)代入式(38)得
化简为
(50)
其中
。上式中等号右边的第二项是个常量,不影响I取得极值时对应的e,可以去掉。同时,我们假设e是单位向量,则
。重写I如下
(51)
上式两边对e求导得
(52)
化简得
(53)
上式成立时,u取得最大值,I取得最小值。对上两边同时除以(n-1),得到数据矩阵的协方差矩阵。
/(n-1)是协方差矩阵的特征值,e是对应的特征向量。上述推导过程可以较为简单的推广到m维空间。对特征值按降序排列,
,其中m为数据变量的维度。
对应着数据的主方向。经过特征向量矩阵的映射,将协方差矩阵投影为对角阵,变量之间的相关性被消除,而数据方差最大的方向就是主方向。
当计算出数据协方差矩阵的特征向量后,我们计算贡献率
(54)
求出
(55)
使用前
个特征值和特征向量压缩原来的数据的表达空间,同时还能保证压缩后的数据矩阵损失最小。上述方法就是我们熟悉的PCA。
主方向线通过数据矩阵的均值点,这个点对应的是使用PCA做人脸识别时求出的均值脸。
总结一下PCA的推导过程,
1、去数据变量样本间的均值,并将该均值从数据矩阵中减去,得到零均值矩阵。
2、求零均值数据矩阵的协方差矩阵。
3、求协方差矩阵的特征向量和特征值。
4、按照一定的比例选择特征值和特征向量,实现降维。
上面推导的是线性关系的PCA,对于非线性的数据上面的方法可能会失效。解决方法,使用核函数将数据映射到高维再进行上述分析,这貌似就是kernel PCA。
同时,PCA分析的主方向通过数据的均值。而数据的均值很采样数据紧相关,如果数据中存在粗大误差,那么此时的均值不能反应真实的数据均值。如果不进行预处理,后续的PCA分析很可能会是错误的,达不到预期的效果。因此,对数据进行预处理是很必要的,剔除粗大误差后再进行PCA分析,貌似就是robust PCA。
在PCA推导的过程中,我们可以较为清晰地看到,如果将数据标签揉到推导中,修改优化的目标函数,我们应该能推导出SVM。因此,不同的误差定义,不同的优化目标函数推导出了不同的数据分析方法。无论这些怎么变换花样,其依托的数学思想都是一致的。
说到这里,我们差不多吧数据拟合相关的数据分析方法说了遍,但是说来说去关键问题还是没有触及,我们最关心最希望自动化的东西没有设计,那就是数据的模式,线性的还是非线性的,一阶的还是二阶的等等问题。因为,我们明明可以看到数据在图像上或者几何上呈现出了某种分布,但是却不能通过数学推导自动化的把它从数据中挖出来。
到底能不能是一个终极问题,这个系列的文章只能做个抛砖引玉,希望能够激发出大家的进一步迭代思考,也许这种模式对应的数学公式就在不远处。
未完待续
分享到:
上一篇:透过表象看
相关文章推荐
- 透过表象看本质!?之二——除了最小p乘,还有PCA
- 透过表象看本质!?之二——除了最小p乘,还有PCA
- 透过表象看本质!?之二数据拟合
- 透过表象看本质!?之二数据拟合
- 透过表象看本质!?
- 透过表象看本质!?之三——Kalman滤波
- 软件测试——透过表象看本质
- 透过表象看本质!?
- 透过表象看本质!?之三——Kalman滤波
- 透过表象看本质 推荐
- 透过表象看本质!?之三——Kalman滤波
- 377. Combination Sum IV——DP本质:针对结果的迭代,dp[ans] <= dp[ans-i] & dp[i] 找三者关系 思考问题的维度+1,除了数据集迭代还有考虑结果
- 第十七周上机实践项目——透过表象直达本质
- 透过表象看本质!?
- 一个数组保存了N个结构,每个结构保存了一个坐标,结构间的坐标都不相同,请问要找到指定坐标的结构除了遍历整个数组还有更好的办法吗?
- 巴山老狼《丑陋的中国皇帝》系列之二——不太丑陋、有几分可爱、还有几分搞笑的刘备父子
- 17年,除了代码收入还有房子收入
- 算法2_实现一个栈,除了push和pop操作,还要实现min函数以返回栈中的最小值,时间复杂度都为O(1)(keep it up)
- 网络编程除了socket之外还有什么方式?
- 好程序员的十大习惯之三 透过现象看本质,抓住最重要的事情