機器學習之特徵值/特徵向量的解析和應用
機器學習中,矩陣的特徵值/特徵向量理論有著非常廣泛的應用,比如資料降維 [1],人臉識別 [2]等。本文主要介紹特徵值/特徵向量。
1. 特徵值
定義: 給定階方陣,如果存在數值和維非零向量,使得,則稱數值為方陣的特徵值,向量為方針的屬於特徵值的特徵向量。其中,特徵值可以為零,且屬於同一個特徵值的特徵向量並不唯一。譬如,若 是方陣的特徵值的特徵向量,則也是方陣的特徵值的特徵向量。
計算: 已知階方陣,則方陣的特徵多項式,如下,
不妨令特徵多項式,得到特徵方程 [3],如下,
不妨令為方陣的特徵值,得到齊次線性方程組 [4],如下,
該齊次線性方程組的非零解即為矩陣對應於特徵值 的特徵向量。
舉例: 給定方陣,求方陣的特徵值及其特徵向量。
方陣的特徵方程,如下,
根據行列式展開/拉普拉斯公式 [5],將高階行列式展開為低階行列式進行計算。得到方陣的特徵值分別如下,
,,
分別將上述各個特徵值代入方陣的齊次線性方程組,得到相應特徵向量,如下,
,,.
應用: 通過特徵值特徵向量可以將方陣分解為形式如下:,其中 是方陣的特徵值組成的對角方陣,是其對應特徵向量組成的方陣。特徵向量表示矩陣各種線性變換,其對應特徵值表示該線性變換的程度。不難想象,高維空間下的一個方陣表示高維空間下的一系列線性變換的集合,這些變換包含很多不同程度,不同方向的變換。因此,為了精簡高維空間變換問題,同時保留儘可能多的變換資訊,我們可以通過特徵值特徵向量分解高維矩陣的方法來近似地描述該方陣。
2. 奇異值分解
特徵值分解是一個提取方陣重要特徵資訊的不錯的方法,但是它僅僅侷限於方陣形式,因為方陣才有逆矩陣。但是在現實世界中,我們看到的大多數矩陣形式都不是方陣,譬如說,一個班級有個學生, 每個學生有門成績,這樣構成了一個的矩陣就不是方陣。問:如何描述這樣一個非方陣形式的矩陣的重要特徵?奇異值分解就可以用來幹這事的,我們如下講解。
定義: 給定階矩陣,計算的特徵值特徵向量,如下,
得到特徵值,以及特徵向量,其中構成右奇異酉矩陣。
根據上述特徵值特徵向量,進一步地,