设\(\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. 在orangepi 3 lts上使用SmartCardReader(读卡器)

    前期工作 orangepi 3 lts使用全志的H6芯片,通过查询该芯片的datasheet和user manual,可以发现H6有两个scr接口,分别为scr0和scr1,理论上是支持读卡器接口的, ...

  2. ASP.net EF动态映射实体

    1.配置EF与建立实体模型这里不做过多介绍.主要介绍如何动态映射实体模型 1.1.实现过程有很多种方式我们这里使用接口.然后扫描所有继承了该接口的实体类然后映射(也可以自行扩展使用特性) 首先我们新建 ...

  3. Centos 6.5 iptables 端口白名单设置

    iptables -I INPUT -p tcp --dport 8888 -j DROPiptables -I INPUT -s 10.9.145.101 -p tcp --dport 8888 - ...

  4. 设备树编译链接报错arch/arm/boot/dts/imx50.dtsi:16:42: fatal error: dt-bindings/

    1.vim scripts/Makefile.lib, add 3 lines into dtc_cpp_flags dtc_cpp_flags  = -Wp,-MD,$(depfile).pre.t ...

  5. codeforce B. Creating the Contest

    http://codeforces.com/contest/1029/problem/B 水题真快乐= = 1 public class Main { 2 public static void mai ...

  6. vue3 、typescript环境, props自定义类型propType

    vue3 .typescript环境, props自定义类型propType //子组件的props类型是复杂的类型的时候,可以用propType进行强制类型转换 //eg 复杂函数,对象数组,对象的 ...

  7. 部署mall电商系统踩坑记录

    一. mysql docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/d ...

  8. js获取的 后端的列表。

    1.引号被转码 处理办法 {% autoescape off %} var tmp = '{{ data1 }}'; var tmp = '{{ data2 }}'; {% endautoescape ...

  9. MAC怎么获取文件路径 MAC获取文件路径的四种方法

    MAC怎么获取文件路径介绍 方法一:最简单的方法  右键文件或者文件夹,选择显示简介 2在弹出来的窗口中找到位置,即为路径,在mac 10.10之前的系统是正常的路径,10.10开始是小箭头代替/显示 ...

  10. PageHelper大致逻辑

    简单涉及以下几个类: PageHelper   PageMethod  PageParam PageInterceptor  implement Interceptor PageHelperAutoC ...