设\(\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. Mybatis-Plus 之BaseMapper 方法详解

    package com.itheima.dao; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomido ...

  2. web生命周期概览

    1, 输入URL(或单击连接). 2, 生成请求并发送至服务器. 3,执行某些动作或者获取某些资源;将响应发送给客户端. 4,处理HTML,CSS和JavaScript并构建结果页面. 5,监控事件队 ...

  3. x-sheet 开发系列教程:初始化配置

    介绍 x-sheet 是一款高性能 Web JavaScript Canvas 电子表格,之前小编写过一篇 x-sheet 入门体验,简单介绍了一下如何使用 x-sheet.这次我们继续深入一下,了解 ...

  4. windows搭建minikube环境学习Kubernates

    1.使用powershell下载minikube New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force Invoke-Web ...

  5. gitignore文件中忽略项不起作用的解决方法

    在使用git的时候会遇到这样的情况,我们生产的一些class或者target的目录,我不能提交,这个时候我们需要使用gitignore,但是有的时候虽然添加了,但是不起作用. 情况:开发过程中,我们自 ...

  6. Fast Report 分栏分页

    Layout 设置布局 AcrossThenDown是水平分栏  DownThenAcross是垂直分栏

  7. selenium模拟鼠标点击

    JAVA环境 WebElement button = driver.findElement(By.xpath("/html/body/div[1]/div[3]/h2/div[2]" ...

  8. SQL数据库常用命令

    数据库操作: 创建库:create database 数据库名 删除库:drop database 数据库名 选择库:use 数据库名 Database changed 关闭安全模式:set sql_ ...

  9. sxt_(008_011)_servlet

    一.servlet简介 Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于 ...

  10. vue3 自定义组件中使用 v-model

    1.直接绑定 v-model,但是 Props 要固定为 modelValue 组件D: 注意这里的 Props 和 Emits,必须使用 Vue 提供的 defineProps() 和 define ...