设\(\lambda_i\)为\(\bf{X} \bf{X}^T\)的特征值,对应的特征向量为\(\mathbf{\alpha}_i\),则

\[\bf{X} \bf{X}^T \mathbf{\alpha}_i=\lambda_i\mathbf{\alpha}_i
\tag{1}
\]

\((1)\)式两边同时左乘\(\bf{X}^T\),有

\[\bf{X}^T \bf{X} \bf{X}^T \mathbf{\alpha}_i=\bf{X}^T \lambda_i\mathbf{\alpha}_i
\]

\[(\bf{X}^T \bf{X}) (\bf{X}^T \mathbf{\alpha}_i)=\lambda_i(\bf{X}^T \mathbf{\alpha}_i)
\tag{2}
\]

\((2)\)式意味着\(\lambda_i\)是矩阵\(\bf{X}^T \bf{X}\)的特征值,其对应的一个特征向量为\(\bf{X}^T \mathbf{\alpha}_i\)。

注意到

\[\text{rank} (\bf{X} \bf{X}^T)=\text{rank} (\bf{X}^T\bf{X})=\text{rank} (\bf{X})=\text{rank}(\bf{X})
\tag{3}
\]

\((2)\)式和\((3)\)式说明,\(\bf{X} \bf{X}^T\)和\(\bf{X}^T\bf{X}\)的非零特征根是一样的,非零特征根对应的特征向量具有如下关系:

  • 若\(\mathbf{\alpha}_i\)是\(\bf{X} \bf{X}^T\)的一个特征向量,那么\(\bf{X}^T \mathbf{\alpha}_i\)为\(\bf{X}^T\bf{X}\)的一个特征向量,二者分别对应同一个非零特征值
  • 若\(\mathbf{\beta}_i\)是\(\bf{X}^T\bf{X}\)的一个特征向量,那么\(\bf{X} \mathbf{\beta}_i\)为\(\bf{X}\bf{X}^T\)的一个特征向量,二者分别对应同一个非零特征值(证法类似,此处略去)

这一结论的具体应用如下:

假如样本矩阵\(\bf{X}\)有100个观测,1000个变量,其维度\(n\times p=100 \times 1000\),现在要计算\(\bf{X}^T\bf{X}\)的特征向量。注意到,一方面\(\bf{X}^T\bf{X}\)的维度为\(1000 \times 1000\),维度很大,直接输进软件里求解的话会耗费大量时间;另一方面,\(\bf{X}\bf{X}^T\)的维度为\(100 \times 100\),维度适中,直接输进软件里求解的话较快。因此,可以先求得\(\bf{X}\bf{X}^T\)的非零特征根对应的特征向量,然后分别再左乘矩阵\(\bf{X}^T\)即可解决问题。

随机推荐

  1. Linux route命令修改默认路由优先级

    (自测可用)摘自:https://www.cnblogs.com/luoyang712/p/11953256.html 在多个网络连接的情况下,比如以太网和WIFI同时存在的时候,路由表中就会存在多个 ...

  2. nodejs 后台运行 forever

    一.安装nodejs //安装必要的make以及gcc,gcc-c++编译器 yum -y install make gcc gcc-c++ //获取源码 wget http://nodejs.org ...

  3. go语言初记

    快速了解 http://go-tour-zh.appspot.com/welcome/1 (可以需要爬墙) 下面记录下了解go的过程,特别记录下与你脑子里原有"观念"不同的地方: ...

  4. FPGA MIG调试bug(一)

    目标器件:复旦微FPGA:JFM7K325T8FCBGA676(对标Xilinx Kintex-7系的XC7K325T) 工程背景:板载4片DDR(AllianceMemory_DDR3L_8G_AS ...

  5. WSL2安装nvm并配置npm镜像源

    1.下载安装脚本并执行 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 2.关闭命令行后 ...

  6. 在TMOS系统中添加按键检测功能

    目录 TMOS系统中自带有按键检测轮询功能,默认100ms检测一次,在debug时很有帮助.不过在需要低功耗休眠的前提下,检测按键需要频繁唤醒,影响功耗,故多数BLE的工程都没有用到这个功能.代码贴在 ...

  7. 如何实现基于GPIO按键的长按,短按,双击

    不同的架构实现并不相同,所以我分成了两中:STM32平台和其他平台: STM32平台 首先要分析:该如何判断当前的按键状态:单机和双击是通过在有限时间内是否有新的按动作产生 -- 所以需要一个记录按键 ...

  8. Power shell 读取电量,改变屏幕亮度

    1. Get-Wmiobject  -List win32*  # 列出所有win32_信息(基本的BIOS,Battery , Memory, processor) 2.Get-WmiObject ...

  9. 小程序微信支付完整demo,包含退款

    最近刚完成一个商场小程序(http://market.zhenzikj.com/detail/121.html), 使用到了微信支付功能,其中遇到了很多的抗,所以,我把支付这块摘出来,以免大家少走弯路 ...

  10. 004. html篇之《标签分类和嵌套规则》

    html篇之<标签分类和嵌套规则> 一.常用标签 (1) <div></div> 一个区块容器标记,可以包含图片.表格.段落等各种html元素 (2) <sp ...