当前位置: 首页 > news >正文

PCA 主成分分析

问题定义:

若原始数据是 d 维的,我们希望找到一个压缩映射 W ∈ R n × d W \in \R^{n \times d} WRn×d 和 一个重建映射 U ∈ R d × n U \in \R^{d \times n} URd×n,使得压缩数据在解压后与原数据的误差最小: (1) arg ⁡ min ⁡ U , W ∑ i = 1 m ∣ ∣ x i − U W x i ∣ ∣ \arg \min_{U,W} \sum_{i=1}^m||x_i - UWx_i||\tag{1} argU,Wmini=1mxiUWxi(1)其中,m 为数据量。

引理

若 (U,W) 为上述问题的最优解,则 U 的列是正交归一的( U T U = I n U^TU = I_n UTU=In),且 W = U T W = U^T W=UT

根据上述引理,原问题变成 (2) arg ⁡ min ⁡ U ∈ R d × n ; U T U = I n ∑ i = 1 m ∣ ∣ x i − U U T x i ∣ ∣ \arg \min_{U \in \R^{d \times n}; U^TU = I_n} \sum_{i=1}^m||x_i - UU^Tx_i||\tag{2} argURd×n;UTU=Inmini=1mxiUUTxi(2)

变形

∑ i = 1 m ∣ ∣ x i − U U T x i ∣ ∣ = ∑ i = 1 m ( x i − U U T x i ) T ( x i − U U T x i ) = ∑ i = 1 m ( x i T x i − 2 x i T U U T x i + x i T U U T U U T x i ) = ∑ i = 1 m ( x i T x i − x i T U U T x i ) = ∑ i = 1 m x i T x i − ∑ i = 1 m t r a c e { x i T U U T x i } = ∑ i = 1 m x i T x i − ∑ i = 1 m t r a c e { U U T x i x i T } = ∑ i = 1 m x i T x i − t r a c e { U U T ∑ i = 1 m x i x i T } ( 记 X = ∑ i = 1 m x i x i T ) = ∑ i = 1 m x i T x i − t r a c e { U T X U } \sum_{i=1}^m||x_i - UU^Tx_i|| \\=\sum_{i=1}^m(x_i - UU^Tx_i)^T(x_i - UU^Tx_i) \\= \sum_{i=1}^m(x_i^Tx_i -2x_i^TUU^Tx_i +x_i^TUU^TUU^Tx_i) \\= \sum_{i=1}^m(x_i^Tx_i -x_i^TUU^Tx_i ) \\= \sum_{i=1}^mx_i^Tx_i - \sum_{i=1}^mtrace\{x_i^TUU^Tx_i \} \\= \sum_{i=1}^mx_i^Tx_i - \sum_{i=1}^mtrace\{UU^Tx_ix_i^T \} \\= \sum_{i=1}^mx_i^Tx_i - trace\{UU^T\sum_{i=1}^mx_ix_i^T \} \\(记 X = \sum_{i=1}^mx_ix_i^T) \\=\sum_{i=1}^mx_i^Tx_i - trace\{U^TXU\} i=1mxiUUTxi=i=1m(xiUUTxi)T(xiUUTxi)=i=1m(xiTxi2xiTUUTxi+xiTUUTUUTxi)=i=1m(xiTxixiTUUTxi)=i=1mxiTxii=1mtrace{xiTUUTxi}=i=1mxiTxii=1mtrace{UUTxixiT}=i=1mxiTxitrace{UUTi=1mxixiT}X=i=1mxixiT=i=1mxiTxitrace{UTXU}所以,问题 (2) 等价于 arg ⁡ max ⁡ U ∈ R d × n ; U T U = I n t r a c e { U T X U } \arg \max_{U \in \R^{d \times n}; U^TU = I_n} trace\{U^TXU\} argURd×n;UTU=Inmaxtrace{UTXU}等价于
arg ⁡ max ⁡ u i ⊥ u j ; ∣ ∣ u i ∣ ∣ = 1 ∑ i = 1 n u i T X u i \arg \max_{u_i \perp u_j; ||u_i||=1}\sum_{i=1}^n u_i^TXu_i arguiuj;ui=1maxi=1nuiTXui
显然,该问题的最优解为 X 的前 n 大的特征值对应的特征向量。此时, max ⁡ u i ⊥ u j ; ∣ ∣ u i ∣ ∣ = 1 ∑ i = 1 n u i T X u i = ∑ i = 1 n λ [ i ] \max_{u_i \perp u_j; ||u_i||=1}\sum_{i=1}^n u_i^TXu_i \\ =\sum_{i=1}^n \lambda_{[i]} uiuj;ui=1maxi=1nuiTXui=i=1nλ[i]其中, λ [ i ] \lambda_{[i]} λ[i] 表示 第 i 大的特征值

根据 X X T 和 X T X XX^T 和 X^TX XXTXTX 的特征向量之间的关系,可以做一些优化:

在这里插入图片描述

相关文章:

  • 范数的共轭函数
  • Python几种开发工具介绍
  • 对偶锥与自对偶
  • VC2005使用SQLite,适用于WIN32以及WINCE
  • 凸函数的梯度的单调性 (Monotonicity of gradient)
  • 恢复Debian下root用户bash高亮显示
  • SVM——支持向量机
  • VMWare桥接模式虚拟机网络配置
  • SVM——支持向量机【Latex原稿】
  • VMWare Pocket ACE实例包的创建
  • AdaBoost 算法
  • 文件读写操作的缓存机制
  • PAC学习框架
  • 《梦断代码(Dreaming in Code)》译后记
  • PAC学习框架【latex原稿】
  • Invalidate和postInvalidate的区别
  • leetcode386. Lexicographical Numbers
  • nodejs实现webservice问题总结
  • storm drpc实例
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 缓存与缓冲
  • 机器学习学习笔记一
  • 基于组件的设计工作流与界面抽象
  • 入门到放弃node系列之Hello Word篇
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 硬币翻转问题,区间操作
  • ​io --- 处理流的核心工具​
  • # include “ “ 和 # include < >两者的区别
  • #每日一题合集#牛客JZ23-JZ33
  • ${ }的特别功能
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (39)STM32——FLASH闪存
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (solr系列:一)使用tomcat部署solr服务
  • (分布式缓存)Redis分片集群
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (理论篇)httpmoudle和httphandler一览
  • (篇九)MySQL常用内置函数
  • (三)elasticsearch 源码之启动流程分析
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .Net core 6.0 升8.0
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net下的富文本编辑器FCKeditor的配置方法
  • ??myeclipse+tomcat
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [Android Studio] 开发Java 程序
  • [Angular] 笔记 20:NgContent
  • [Assignment] C++1
  • [C++]unordered系列关联式容器
  • [CSS]盒子模型
  • [CUDA 学习笔记] CUDA kernel 的 grid_size 和 block_size 选择
  • [DAU-FI Net开源 | Dual Attention UNet+特征融合+Sobel和Canny等算子解决语义分割痛点]
  • [DM复习]关联规则挖掘(下)