zoukankan      html  css  js  c++  java
  • 特征值和特征向量

    设A是n阶方阵,若存在n维非零向量x,使得:

    那么就称λ是A的特征值,x为A属于λ的特征向量,一个矩阵的一组特征向量是一组正交向量。

    特征值分解是将一个矩阵分解成下面的形式:

    其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。

    首先要明确的是一个矩阵其实就是一个线性变换,因为一个矩阵乘以一个向量后得到的向量,其实就相当于将这个向量进行了线性变换。比如说下面这个矩阵:

    这个矩阵对应的线性变换为:

    由于上面这个矩阵式对称的,所以变换是一个对x,y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值>1时,是拉长,当值<1时时缩短),当矩阵不是对称的时候,假如说矩阵是下面的样子:

    那么变换是:

    其实就是在平面上对一个轴进行拉伸变换,蓝色的箭头是最主要的一个方向(变化的方向可能不止一个),如果想要描述好一个变换,那就描述这个主要的变化方向就好了。

    特征值分解的式子里分解得到的对角阵,里面的特征值是从大到小排列的,这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。

    当矩阵式高维时候,这个矩阵就是高维空间下的一个线性变换,这个变换同样有很多的变换方向,我们通过特征值分解得到的前N个特征向量,那么就对应了这个矩阵最主要的N个变换方向。我们利用这N个变换方向,就可以近似这个矩阵变换。也就是说的:提取这个矩阵的最主要的特征。

    总结:特征值分解可以得到特征值与特征向量,特征值表示这个特征有多重要,而特征向量表示这个特征向量是什么,可以将每个特征向量理解为一个线性的子空间,我们可以利用这些线性的子空间干很多事情。特征值分解有很多的局限性,变换的矩阵必须是方阵。

     

     

     

     

  • 相关阅读:
    时间序列数据库(TSDB)初识与选择(InfluxDB、OpenTSDB、Druid、Elasticsearch对比)
    Prometheus COMPARISON TO ALTERNATIVES
    认真分析mmap:是什么 为什么 怎么用
    Flume学习之路 (二)Flume的Source类型
    Flume学习之路 (一)Flume的基础介绍
    Spark学习之路 (二十一)SparkSQL的开窗函数和DataSet
    Spark学习之路 (二十)SparkSQL的元数据
    CentOS 7的安装
    Spark学习之路 (十九)SparkSQL的自定义函数UDF
    Spark学习之路 (十八)SparkSQL简单使用
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11382517.html
Copyright © 2011-2022 走看看