矩阵的乘法

矩阵对向量可以做拉伸也可以做旋转


对角矩阵对向量(x,y)(x,y)(x,y)在x轴上拉伸了3倍。非对角矩阵对向量(x,y)(x,y)(x,y)不仅做了拉伸,同时也做了旋转。

特征值和特征向量到底描述了什么

举个例子:打拳击。我们可以把方向当做特征向量,在这个方向上用多大的力量就是特征值。

特征向量可以说是主要的前进目标,特征值是向这个目标产生多大的作用。

数学定义

对于给定矩阵A,寻找一个常数λ\lambdaλ和非零向量xxx,使得向量xxx被矩阵A作用后所得的向量AxAxAx与原向量xxx平行,并且满足Ax=λxAx=\lambda xAx=λx。如下图所示:

λ\lambdaλ就是特征值,xxx就是特征值λ\lambdaλ对应的特征向量。

例如要做降维操作,10维的数据,每一维度都有一个特征向量,有下面两个维度逇特征向量,应该选择哪一个?

如果有两个特征值λ1>λ2\lambda_1 > \lambda_2λ1​>λ2​,我们会认为λ1\lambda_1λ1​对应的特征向量更重要,更有价值,所以在做降维操作时,选择特征值大的一个特征向量。

特征空间

特征空间包含了所有的特征向量。

应用

既然特征值表达了重要程度,并且和特征向量所对应,那么特征值大的就是主要信息了,基于这一点,我们可以提取各种有价值的信息了!


图像可以看做是一个矩阵,既然是矩阵,就可以算出这个矩阵的特征向量和特征值,我们如果取前10个特征值最大的特征向量,那么就可以对这个图像进行压缩,虽然图像变的有一些模糊,但是整体不会有太大变化。

使用numpy计算特征值和特征向量

import numpy as np# 创建矩阵 维度 4*2
data = np.array([[2, 4], [1, 3], [0, 0], [0, 0]])# 将矩阵转为方阵 维度 4*4
A = np.dot(data, data.T)
#A=array([[20, 14,  0,  0],
#       [14, 10,  0,  0],
#       [ 0,  0,  0,  0],
#       [ 0,  0,  0,  0]])
# 求A的特征值和特征向量
val,vector = np.linalg.eig(A)
# val=array([29.86606875,  0.13393125,  0.        ,  0.        ])
# vector=array([[ 0.81741556, -0.57604844,  0.        ,  0.        ],
#        [ 0.57604844,  0.81741556,  0.        ,  0.        ],
#        [ 0.        ,  0.        ,  1.        ,  0.        ],
#        [ 0.        ,  0.        ,  0.        ,  1.        ]])
特征值29.86606875 对应的

特征值29.86606875 对应的特征向量为[ 0.81741556,0.57604844,0 ,0]
特征值0.13393125对应的特征向量为[-0.57604844,0.81741556,0,0]

验证:

np.dot(A, vector[:,0])
# array([24.41298932, 17.20430221,  0.        ,  0.        ])
np.dot(val[0], vector[:,0])
# array([24.41298932, 17.20430221,  0.        ,  0.        ])np.dot(A, vector[:,1])
# array([-0.07715089,  0.10947749,  0.        ,  0.        ])
np.dot(vector[:, 1], val[1])
array([-0.07715089,  0.10947749,  0.        ,  0.        ])

矩阵data:

矩阵A:

特征值:

特征向量:

特征值和特征向量到底描述了什么相关推荐

  1. 花了10分钟,终于弄懂了特征值和特征向量到底有什么意义

    转自 http://k.sina.com.cn/article_6367168142_17b83468e001005yrv.html 有振动 就有特征值 今天,超模君看到了一句神翻译: 吓得超模君马上 ...

  2. 特征值与特征向量的几何含义(转)

    全文转自blog:http://blog.csdn.net/lfkupc/article/details/4561564 长时间以来一直不了解矩阵的特征值和特征向量到底有何意义(估计很多兄弟有同样感受 ...

  3. 特征值和特征向量的理解

    最近看了几篇文章,对理解特征值和特征向量有很大帮助,贴到这里供日后复习 花了10分钟,终于弄懂了特征值和特征向量到底有什么意义_豚-CSDN博客_特征向量有什么用转自 http://k.sina.co ...

  4. 使用python求解特征值与特征向量

    #使用python求解特征值与特征向量 问题描述: 求解矩阵[[1.25,0.375,0],[0.375,1.25,-0.5],[0,-0.5,0.875]]的特征值与特征向量 参考链接1: 百度经验 ...

  5. 所谓的特征值和特征向量

    在线性代数的最后,我们都会学矩阵的特征值分解,我们知道一个方阵A经过特征值分解后就得到特征向量和特征值了.那么,这个所谓的特征值和特征向量到底是什么东西呢? 我们一上来就会学到这样的一个公式: Ax ...

  6. 深入理解矩阵的特征值和特征向量

    原 [数学基础]矩阵的特征向量.特征值及其含义 2018年08月31日 11:37:08 zhaosarsa 阅读数 4693 更多 分类专栏: 数学 版权声明:本文为博主原创文章,遵循 CC 4.0 ...

  7. 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义

    关于特征值.特征向量的讲解有很多的教程,对于这些枯燥的数学基础怎么运用到自己的实际计算机视觉实验中,是一项很重要的任务.算法的底层其实就是数学公式的各种结合与推导,有时间不是我们不能很好的去理解这些算 ...

  8. 特征值与特征向量_矩阵的特征值和特征向量

    不少学习过线性代数的同学可能都有这样的疑惑,就是线性代数到底是什么?我们算的这些东西究竟有什么用?回忆起这门课来可能仅有的印象也就是矩阵.向量.还有一个特征什么来着? 线性代数是一门相对较为年轻的学科 ...

  9. 特征值与特征向量的意义

    转载地址:http://blog.csdn.net/sunshine_in_moon/article/details/45749691 从定义出发,Ax=cx:A为矩阵,c为特征值,x为特征向量.  ...

最新文章

  1. 6、图书类别修改删除功能
  2. ubuntu 系统中如何截图
  3. PHP在Postman上面进行xdebug的测试
  4. Hexo博文加密思路总结
  5. 代码统计工具有哪几种_抖音小程序如何开发及类型有哪几种?
  6. Minpro-I编程器的驱动安装
  7. pyhton中matplotlib箱线图的绘制(matplotlib双轴图、箱线图、散点图以及相关系数矩阵图))...
  8. 蓝牙配对连接HCI log学习
  9. java斐波黄金分割_斐波那契(黄金分割)
  10. 搞机吧 | 利用magisk安装Xposed框架
  11. Linux基础篇(五):远程操作
  12. [Mac软件推荐] 三款提高 Mac 使用效率的必备软件
  13. 3DMM(3D Morphable Model)原理和实现
  14. MySQL数据库的锁 --- 六种分类 - 14种锁详细介绍
  15. Prometheus告警实践
  16. 解决“8080端口“被占用问题
  17. lv9-ARM体系结构与接口技术(1) 计算机硬件基础
  18. Android 开发新技术:Jetpack Compose当仁不让
  19. 你不得不知的几个互联网ID生成器方案
  20. 关于sketchup模型导入revit编辑问题

热门文章

  1. JavaScript计算两个文本框内数据的乘积(四舍五入保留两位小数)
  2. java 三种将list转换为map的方法详解
  3. 关于SpringBoot 1.x和2.x版本差别
  4. python算法与数据结构-双向链表
  5. Kafka 入门 and kafka+logstash 实战应用
  6. PHP通过GET方法参数为数组请求
  7. Win隐藏 Win10 中的3D对象、文档、音乐、图片、视频、下载、桌面7个文件夹
  8. PHP的魔术常量魔术方法超全局变量
  9. Go创建赋值channel
  10. win7与linux共享文件夹共享,Ubuntu+Win7+Samba实现文件共享