日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/18 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 特征值和特征向量到底描述了什么 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

矩陣的乘法

矩陣對向量可以做拉伸也可以做旋轉


對角矩陣對向量(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:

特征值:

特征向量:

總結

以上是生活随笔為你收集整理的特征值和特征向量到底描述了什么的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。