機器學習中7種常用的線性降維技術總結

deephub 2024-02-17 10:08:08

上篇文章中我們主要總結了非線性的降維技術,本文我們來總結一下常見的線性降維技術。

1、Principal Component Analysis (PCA)

Principal Component Analysis (PCA) 是一種常用的降維技術,用于將高維數據集轉換爲低維表示,同時保留數據集的主要特征。PCA 的目標是通過找到數據中最大方差的方向(主成分),將數據投影到這些方向上,從而實現降維。

PCA 的主要思想是通過線性變換將原始數據映射到一個新的坐標系下,使得在新的坐標系下數據的方差最大化。這些新的坐標軸稱爲主成分,它們是原始特征的線性組合。通過保留最大方差的主成分,可以保留數據中最重要的信息,而丟棄方差較小的主成分可以達到降維的效果。

PCA 的步驟如下:

標准化數據:對原始數據進行標准化處理,使得每個特征的均值爲 0,方差爲 1。

計算協方差矩陣:計算標准化後的數據的協方差矩陣。

計算特征值和特征向量:對協方差矩陣進行特征值分解,得到特征值和對應的特征向量。

選擇主成分:按照特征值的大小選擇前 k 個特征向量作爲主成分,其中 k 是降維後的維度。

投影數據:將原始數據投影到選定的主成分上,得到降維後的數據集。

PCA 可以用于數據可視化、去除噪音、減少計算量等。然而,需要注意的是,PCA 假設數據是線性可分的,因此在應用 PCA 之前需要對數據進行一定的預處理和理解。

2、Factor Analysis (FA)

Factor Analysis (FA) 是一種統計方法,用于探索觀察到的變量之間的潛在結構或因素。它試圖找到能夠解釋觀察到的變量之間共同變異的潛在因素,並將這些變量歸納爲較少數量的無關變量。

FA 和 PCA 有些相似,但也有一些重要的區別:

目標:PCA 旨在找到最大方差的方向,而 FA 旨在找到潛在的變量(因素),這些變量能夠解釋觀察到的變量之間的共同變異。

假設:PCA 假設觀察到的變量是觀察到的原始特征,而 FA 假設觀察到的變量是潛在因素的線性組合和隨機誤差的總和。

解釋性:PCA 往往更直接,因爲它的主成分是原始特征的線性組合。而 FA 的因素可能不太容易解釋,因爲它們是觀察到的變量的線性組合,而非原始特征。

旋轉:在 FA 中,因素通常會進行旋轉,以使它們更易于解釋。

FA 在許多領域都有應用,包括心理學、社會科學、市場研究等。它可用于簡化數據集、識別潛在結構、減少測量誤差等。但是需要謹慎選擇適當的因素數目和因素旋轉方法,以確保結果的可解釋性和有效性。

3、Linear Discriminant Analysis,LDA

線性判別分析(Linear Discriminant Analysis,LDA)是一種用于降維和特征提取的監督學習技術。它與主成分分析(PCA)不同,因爲它不僅考慮了數據的方差結構,還考慮了數據的類別信息。LDA 旨在找到一個投影方向,最大化不同類別之間的距離(類間散布),同時最小化同一類別內部的距離(類內散布)。

LDA 的主要步驟如下:

計算類別的均值向量:對于每個類別,計算該類別下所有樣本的均值向量。

計算類內散布矩陣(Within-class scatter matrix):對于每個類別,計算該類別下所有樣本與其均值向量之間的散布矩陣,並將它們求和。

計算類間散布矩陣(Between-class scatter matrix):計算所有類別的均值向量與總體均值向量之間的散布矩陣。

計算特征值和特征向量:對于矩陣的逆矩陣乘以類間散布矩陣,得到的矩陣進行特征值分解,得到特征值和特征向量。

選擇投影方向:選擇特征值最大的前 k 個特征向量作爲投影方向,其中 k 是降維後的維度。

投影數據:將原始數據投影到選定的投影方向上,得到降維後的數據。

LDA 的優點在于它考慮了數據的類別信息,因此生成的投影能更好地區分不同類別之間的差異。它在模式識別、人臉識別、語音識別等領域中有著廣泛的應用。LDA 在處理多類別和類別不平衡的情況下可能會遇到一些問題,需要特別注意。

4、Eigendecomposition

Eigendecomposition(特征值分解)是一種用于對方陣進行分解的數學技術。它將一個方陣分解爲一組特征向量和特征值的乘積形式。特征向量表示了在轉換中不改變方向的方向,而特征值表示了在轉換中沿著這些方向的縮放比例。

給定一個方陣 AA,其特征值分解表示爲:

其中,Q是由 A 的特征向量組成的矩陣,Λ是對角矩陣,其對角線上的元素是 A的特征值。

特征值分解有許多應用,包括主成分分析(PCA)、特征臉識別、譜聚類等。在PCA中,特征值分解用于找到數據協方差矩陣的特征向量,從而找到數據的主成分。在譜聚類中,特征值分解用于找到相似性圖的特征向量,從而進行聚類。特征臉識別利用了特征值分解來識別人臉圖像中的重要特征。

雖然特征值分解在許多應用中非常有用,但並非所有的方陣都能進行特征值分解。例如,奇異矩陣(singular matrix)或非方陣就不能進行特征值分解。特征值分解在大型矩陣計算上可能是非常耗時的。

5、Singular value decomposition (SVD)

奇異值分解(Singular Value Decomposition,SVD)是一種用于矩陣分解的重要技術。它將一個矩陣分解爲三個矩陣的乘積形式,這三個矩陣分別是一個正交矩陣、一個對角矩陣和另一個正交矩陣的轉置。

給定一個 m × n 的矩陣 AA,其奇異值分解表示爲:

其中,U 是一個 m × m 的正交矩陣,稱爲左奇異向量矩陣;Σ 是一個 m × n 的對角矩陣,其對角線上的元素稱爲奇異值;VT 是一個 n × n 的正交矩陣的轉置,稱爲右奇異向量矩陣。

奇異值分解具有廣泛的應用,包括數據壓縮、降維、矩陣逆求解、推薦系統等。在降維中,只保留奇異值較大的項,可以實現對數據的有效壓縮和表示。在推薦系統中,通過奇異值分解可以對用戶和項目之間的關系進行建模,從而提供個性化的推薦。

奇異值分解還可以用于矩陣逆求解,特別是對于奇異矩陣。通過保留奇異值較大的項,可以近似求解逆矩陣,從而避免了對奇異矩陣求逆的問題。

6、Truncated Singular Value Decomposition (TSVD)

截斷奇異值分解(Truncated Singular Value Decomposition,TSVD)是奇異值分解(SVD)的一種變體,它在計算中只保留最重要的奇異值和對應的奇異向量,從而實現數據的降維和壓縮。

給定一個 m × n 的矩陣 AA,其截斷奇異值分解表示爲:

其中,Uk 是一個 m × k 的正交矩陣,Σk 是一個 k × k 的對角矩陣,VkT 是一個 k × n 的正交矩陣的轉置,這些矩陣對應于保留最重要的 k 個奇異值和對應的奇異向量。

TSVD 的主要優點在于它可以通過保留最重要的奇異值和奇異向量來實現數據的降維和壓縮,從而減少了存儲和計算成本。這在處理大規模數據集時尤其有用,因爲可以顯著減少所需的存儲空間和計算時間。

TSVD 在許多領域都有應用,包括圖像處理、信號處理、推薦系統等。在這些應用中,TSVD 可以用于降低數據的維度、去除噪聲、提取關鍵特征等。

7、Non-Negative Matrix Factorization (NMF)

Non-Negative Matrix Factorization (NMF) 是一種用于數據分解和降維的技術,其特點是分解得到的矩陣和向量都是非負的。這使得 NMF 在許多應用中都很有用,特別是在文本挖掘、圖像處理和推薦系統等領域。

給定一個非負矩陣 VV,NMF 將其分解爲兩個非負矩陣 WW 和 HH 的乘積形式:

其中,W 是一個 m × k 的非負矩陣,稱爲基矩陣(basis matrix)或者特征矩陣(feature matrix),H 是一個 k × n 的非負矩陣,稱爲系數矩陣(coefficient matrix)。這裏的 k 是降維後的維度。

NMF 的優點在于它能夠得到具有物理含義的分解結果,因爲所有的元素都是非負的。這使得 NMF 在文本挖掘中能夠發現潛在的主題,而在圖像處理中能夠提取出圖像的特征。此外,NMF 還具有數據降維的功能,可以減少數據的維度和存儲空間。

NMF 的應用包括文本主題建模、圖像分割與壓縮、音頻信號處理、推薦系統等。在這些領域中,NMF 被廣泛應用于數據分析和特征提取,以及信息檢索和分類等任務中。

總結

線性降維技術是一類用于將高維數據集映射到低維空間的技術,其核心思想是通過線性變換來保留數據集的主要特征。這些線性降維技術在不同的應用場景中有其獨特的優勢和適用性,可以根據數據的性質和任務的要求選擇合適的方法。例如,PCA適用于無監督的數據降維,而LDA適用于監督學習任務。

結合前一篇文章,我們介紹了10種非線性降維技術核7種線性降維技術,下面我們來做個總結

線性降維技術:基于線性變換將數據映射到低維空間,適用于線性可分的數據集;例如數據點分布在一個線性子空間上的情況;因爲其算法簡單,所以計算效率高,易于理解和實現;通常不能捕捉數據中的非線性結構,可能會導致信息丟失。

非線性降維技術:通過非線性變換將數據映射到低維空間;適用于非線性結構的數據集,例如數據點分布在流形上的情況;能夠更好地保留數據中的非線性結構和局部關系,提供更好的可視化效果;計算複雜度較高,通常需要更多的計算資源和時間。

如果數據是線性可分的或者計算資源有限,可以選擇線性降維技術。而如果數據包含複雜的非線性結構或者需要更好的可視化效果,可以考慮使用非線性降維技術。在實踐中,也可以嘗試不同的方法,並根據實際效果來選擇最合適的降維技術。

https://avoid.overfit.cn/post/8e5b22f48f3e4b68afc9e30e6d7c329e

0 阅读:0

deephub

簡介:提供專業的人工智能知識,包括CV NLP 數據挖掘等