PCA最小平方误差理论推导

PCA求解其实是寻找最佳投影方向,即多个方向的标准正交基构成一个超平面。

理论思想:在高维空间中,我们实际上是要找到一个d维超平面,使得数据点到这个超平面的距离平方和最小

假设\(x_k\)表示p维空间的k个点,\(z_k\)表示\(x_k\)在超平面D上的投影向量,\(W = {w_1,w_2,...,w_d}\)为D维空间的标准正交基,即PCA最小平方误差理论转换为如下优化问题\[z_k = \sum_{i=1}^d (w_i^T x_k)w_i---(1)\]
\[argmin \sum_{i=1}^k||x_k - z_k||_2^2\]
\[s.t. w_i^Tw_j = p(当i==j时p=1,否则p=0)\]

注:\(w_i^Tx_k\)为x_k在w_i基向量的投影长度,\(w_i^Tx_kw_i\)为w_i基向量的坐标值

求解:

\(L = (x_k - z_k)^T(x_k-z_k)\)

\(L= x_k^Tx_k - x_k^Tz_k - z_k^Tx_k + z_k^Tz_k\)

由于向量内积性质\(x_k^Tz_k = z_k^Tx_k\)

\(L = x_k^Tx_k - 2x_k^Tz_k + z_k^Tz_k\)

将(1)带入得\[x_k^Tz_k = \sum_{i=1}^dw_i^Tx_kx_k^Tw_i\]

\[z_k^Tz_k = \sum_{i=1}^d\sum_{j=1}^d(w_i^Tx_kw_i)^T(w_j^Tx_kw_j)\]

根据约束条件s.t.得\[z_k^Tz_k = \sum_{i=1}^dw_i^Tx_k^Tx_kw_i\]

\[L =x_k^Tx_k - \sum_{i=1}^dw_i^Tx_kx_k^Tw_i\]

根据奇异值分解\[\sum_{i=1}^dw_i^Tx_kx_k^Tw_i = tr(W^Tx_k^Tx_kW)\]

\[L =argmin\sum_{i=1}^kx_k^Tx_k - tr(W^Tx_k^Tx_kW) = argmin\sum_{i=1}^k- tr(W^Tx_k^Tx_kW) + C\]

等价于带约束得优化问题:\[argmaxtr(W^TXX^TW)\]
\[s.t. W^TW = I\]

最佳超平面W与最大方差法求解的最佳投影方向一致,即协方差矩阵的最大特征值所对应的特征向量,差别仅是协方差矩阵\(\xi\)的一个倍数

定理

\[argmin\phi(W,Z|X) = tr((X-W^TZ)^T(X-W^TZ)) = ||X-W^TZ||_F^2\]
\[s.t.W^TW=I_q\]

注:X为(n,p),Z为(n,q),q < p,w为(p,q)

该定理表达的意思也就是平方差理论,将降维后的矩阵通过W^T投影回去,再与X计算最小平方差,值越小说明信息损失越少

\(\phi\)目标函数最小时,W为X的前q个特征向量矩阵且\(Z=W^TX\)

以上优化可以通过拉格朗日对偶问题求得,最终也会得到\[argmaxtr(W^TXX^TW)\]
\[s.t. W^TW = I\]

最新文章

  1. Altium Designer自动更新——解决方法
  2. 新建jfinal2.2项目并连接mysql
  3. 一行代码调用实现带字段选取+条件判断+排序+分页功能的增强ORM框架
  4. PHP高级架构技术年度大盘点
  5. java的nio之:java的nio系列教程之java的io和nio的区别
  6. TchApp项目说明
  7. 使用WinDbg获得托管方法的汇编代码
  8. Xdebug+phpstorm配置
  9. 查看Oracle SQL执行计划的常用方式
  10. Linux下GPIO驱动(二) ----s3c_gpio_cfgpin();gpio_set_value();
  11. 通过配置tomcat虚拟路径配置站点的静态资源
  12. JDK安装配置与升级
  13. 手把手教你js原生瀑布流效果实现
  14. java jdk缓存-128~127的Long与Integer
  15. Arch安装fcitx输入法
  16. bzoj4067 [Ctsc2015]gender
  17. ubus socket always in connecting status
  18. 百度前端学院-基础学院-第七天到第八天之BFC
  19. c/c++ 标准库 map set 大锅炖
  20. windows redis 连接错误Creating Server TCP listening socket 127.0.0.1:637 9: bind: No error

热门文章

  1. 【eclipse】Multiple annotations found at this line:——解决方法
  2. springMVC多视图的支持
  3. MU puzzle
  4. WinCE数据通讯之Web Service分包传输篇
  5. Maximal Rectangle, 求矩阵中最大矩形,参考上一题
  6. 数据库的ACID特性详解
  7. 全文检索引擎Solr系列——整合中文分词组件mmseg4j
  8. duff&#39;s device
  9. spring mvc:练习 @RequestParam(参数绑定到控制器)和@PathVariable(参数绑定到url模板变量)
  10. Xcode各版本