PCA最小平方误差理论推导

PCA最小平方误差理论推导PCA求解其实是寻找最佳投影方向,即多个方向的标准正交基构成一个超平面。理论思想:在高维空间中,我们实际上是要找到一个d维超平面,使得数据点到这个超平面的距离平方和最小

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

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_iTx_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_iTx_k^Tx_kw_i$$

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

根据奇异值分解$$\sum_{i=1}dw_iTx_kx_k^Tw_i = tr(WTx_kTx_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(WTXXTW)$$

\[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(WTXXTW)$$

\[s.t. W^TW = I \]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/120024.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python激活码【2021.7最新】

    (python激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~M…

  • mysql insert or replace_dbinsert

    mysql insert or replace_dbinsert通常情况下insert语句的写法为insertintotablenamevalues(a,b);区别之处:1oracle中使用如下语句1.1方式一该方式特点是能插如值是固定的多条数据insertallintotest01values(1,’a’)intotest01values(2,’b’)select1fromdual;–这一行不…

  • layUI展示树状treetable树形表格完整代码「建议收藏」

    layUI展示树状treetable树形表格完整代码「建议收藏」前言:因项目功能需要,在shiro权限管理模块中需要使用树状展示,前端使用的layUI框架,在官网的开发文档上没有找到树状表格的内容。只有树状菜单的文档:https://www.layui.com/doc/modules/tree.html树状表格步骤如下:1、首先下载所需调用的文件。下载链接:https://download.csdn.net/download/qq_35393472/10…

  • rabbitmq常见面试题「建议收藏」

    rabbitmq常见面试题「建议收藏」1、使用RabbitMQ有什么好处?1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!2.异步,将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度3.削峰,并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常2、RabbitMQ中的broker是指什么?cluster又是指什么?bro…

  • OpenSSL密码库算法笔记——第5.4.13章 椭圆曲线点的压缩

    OpenSSL密码库算法笔记——第5.4.13章 椭圆曲线点的压缩首先来看看什么是点的压缩。椭圆曲线上的任一仿射点(x,y)(非无穷远点)都可以压缩成利用其y坐标的最后一比特(记为y*)和x坐标来表示,即(x,y*),这就是点的压缩。反过来,利用(x,y*)恢复y坐标,还原仿射点(x,y)的过程就称为点的解压缩。利用点的压缩可以减少存储和传输时的数据量,但增加了数据处理时间。代码中用参数point_conver…

  • 物联网架构设计「建议收藏」

    物联网架构设计「建议收藏」在设计lan(Github:https://github.com/phodal/lan)物联网平台的时候,结合之前的一些经验,构建出一个实际应用中的物联网构架模型。然后像lan这样的应用,在里面刚属于服务层。物联网层级结构通常,我们很容易在网上看到如下图所示的三层结构:从理论上划分这样的层级结构是没有问题的,也是有各种理…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号