隨著資料不斷增長,擁有數百甚至數千個欄位(或特徵)以及數百萬筆資料的訓練資料集已成為常態,這也造成了從龐大的資料集中得出精確的模型推論變得越來越具有挑戰性。因此,在訓練模型時降低所使用的特徵變數數量變得至關重要。顧名思義,維度縮減 (Dimensionality Reduction) 是指在維持(甚至提高)模型性能的情況下,減少資料集中特徵變數(或維度)數量的過程。正如下圖中的例子所示,消除不必要的特徵後,可用的特徵變數的排列組合數量就會減少,有時甚至會大大減少。
.
對於一個訓練資料集,隨著使用的特徵變數增加,機器學習(ML)和深度學習(DL)模型會變得更加複雜。如果模型越複雜,發生過度擬合 (Overfitting) 的可能性就越大(稍後第 16 堂課會介紹過度擬合 (Overfitting) 和低度擬合 (Underfitting) 的概念)。簡單來說,當一個模型被訓練的特徵太多,它會變得越依賴於訓練資料集,從而增加了過度擬合的風險。過度擬合的結果是模型在處理新的或未知的資料時,它的預測表現會變差。
雖然避免模型過度擬合是維度縮減(降維)的主要動機之一,然而,維度縮減在整體上還是有以下綜效:
- 減少資料的儲存空間需求。
- 消除多餘的特徵 (Redundant features) 與雜訊 (Noise)。
- 降低模型訓練時所需的運算資源。
- 縮短模型訓練的時間。
- 提高模型的準確性(因為在訓練過程中,會得到較少的誤導性資料)。
- 使用更簡單的模型演算法(不適合大量維度的演算法)。
降維可以透過兩種方式進行:只保留原始資料集中最相關的特徵變數,稱為“特徵選擇 (Feature Selection)”;或將原始資料集視為一個整體,將有用的資訊對應到一個較低維度的特徵空間,稱為“特徵萃取 (Feature Extraction)”。通常,特徵選擇可以透過手動或程式來完成,使用視覺化的方式,表達特徵變數與目標變數之間的關係,大致上就可以確定不需要的特徵。例如,當您嘗試建立一個預測某人是否罹患糖尿病的模型時,在資料集中「眼睛顏色」這個欄位可能是不需要的。
第二種方法,特徵萃取通常需要透過程式來完成。實務上知名的機器學習函式庫 Scikit-learn 提供了兩種可程式化的特徵選擇方法,包括 Variance Threshold 與 Univariate Selection。前者主要用於刪除值域變化較小的特徵變數,也就是將欄位值變異數未達指定臨界值的特徵移除。後者則逐一檢查每個特徵變數,並確定該特徵與目標變數之間的關聯強度。以下是幾種基於線性轉換方法論 (Linear Transformation Methodologies) 設計出的特徵萃取方法:
主成分分析 (Principal Component Analysis, PCA)
PCA 是一種透過尋找出能夠最大化資料的線性變化的新向量來減少特徵空間維度的技術,萃取出的變數稱為主成分 (Principal Components)。PCA 會沿著變異數增加的方向來旋轉與投射資料,並將最大變異數的特徵選擇為主成分。當資料集存在較強的線性關聯性,PCA 可以在不損失過多資訊的前提下,大幅降低資料集的維度。此外,PCA 還可以用來衡量資訊損失的實際程度並且進行相對應的調整。因此,PCA 是目前實務上最普遍且較常使用的降維技術之一。
因素分析 (Factor Analysis)
因素分析也是一種用來降低大量特徵變數的降維技術,相較於以分析變異數為導向的 PCA 方法,因素分析著重於分析共變異數,並試圖找出少數重要的因素(變數)來解釋一組存在相互關連關係的變數。因素分析的目的在找出潛在的因素或構面,以解釋變數之間的關聯性。例如,人們對於產品品質的評價可能是由多個因素所組成,因素分析可以將這些因素萃取出來並評估它們對於產品品質的貢獻。
線性區別分析 (Linear Discriminant Analysis, LDA)
LDA 是一種監督式學習技術,目的在透過提高類別之間可分離性的方式來預測資料,通常被用在降低特徵變數維度 (Dimensionality Reduction) 和解決分類 (Classification) 問題,當用於降維時也被稱為區別分析特徵萃取 (Discriminant Analysis Feature Extraction)。與 PCA 方法類似,LDA 同樣採用投射資料 (Projection) 的方式將特徵變數由高維空間轉換到低維空間,並確保同一類別的資料相互靠攏,而不同類別的資料相互分開。與 PCA 方法不同之處在於,PCA 屬於非監督式學習 (Unsupervised Learning) 的範疇,因此無須事先指定類別的數量,LDA 則需要在事先指定類別數量的情況下進行維度縮減。
若特徵變數無法適用於線性轉換方法論,也可採用下列的非線性轉換方法,又稱流形學習方法 (Manifold Learning Method):
T分配隨機鄰近嵌入法 (t-distributed Stochastic Neighbor Embedding, t-SNE)
t-SNE 是一種非線性降維技術,其基本原理是透過條件機率的計算,評估資料集中每個資料點與特徵之間的相似程度,進而尋找出高維空間中的樣態。接著,t-SNE 透過投影的方式,將這些相似度樣態轉換(投射)到一個低維空間中,讓這些樣態在低維空間中盡可能維持一致,藉此實現維度的縮減。
多維標度法 (Multi-Dimensional Scaling, MDS)
MDS 是一種利用幾何距離 (Euclidean distance) 概念的降維技術,目的在將高維空間中的資料點投射到低維空間中,同時盡可能維持資料點之間的成對距離。MDS 透過最小化高維空間中資料點之間的距離與低維空間中的距離之間的差異,來實現維度的縮減。
等距特徵映射法 (Isometric Feature Mapping, ISOMAP)
ISOMAP 的原理與 MDS 類似,都是計算資料點之間的距離,然後將高維空間中的資料點投射到低維空間中。這二種方法的差異在於 ISOMAP 使用圖論中的測地距離 (Geodesic distance) 而非幾何距離。測地距離指的是曲線上兩點之間的最短距離,這樣可以更好地處理高維資料中的非線性結構。
局部線性嵌入法 (Locally Linear Embedding, LLE)
LLE 是一種非監督式學習 (Unsupervised Learning) 技術,可用於維度縮減 (Dimension Reduction) 和流型學習 (Manifold Learning)。LLE 的名稱來自於它會對資料點中的局部線性關係 (Local Linear Relationships) 進行建模,運用近鄰 (Nearest neighbor) 的概念與局部線性加權重構的方法,在高維空間中將資料點的近鄰關係進行編碼。接著,將這樣的近鄰關係嵌入 (Embedding) 到一個低維空間中,並確保在低維空間中的資料點保持原有的近鄰關係。LLE 的基本思想是,低維空間中的資料點應該保留原始高維空間中的局部幾何結構。
Hessian 特徵對應法 (Hessian Eigenmaps, HLLE)
Hessian 特徵對應法也稱作 Hessian Locally Linear Embedding,它的原理源自於局部線性嵌入法 (LLE),不同點在於 HLLE 使用了基於 Hessian 矩陣的二次形式 (Hessian-based Quadratic Form) 來重構每個近鄰的局部線性結構 (Locally Linear Structure)。
拉普拉斯特徵對應法 (Laplacian Eigenmaps or Spectral Embedding)
拉普拉斯特徵對應法也是一種維度縮減方法,與 ISOMAP 以及 LLE 等方法的概念基本是相通的。這些方法都是希望在高維空間降維到低維空間的過程中盡量保持原資料點之間的相似性(距離最短)。不同之處在於,拉普拉斯特徵對應法運用頻譜技術來計算相似度矩陣,因此又被稱為頻譜嵌入法 (Spectral Embedding)。
我們可以透過下圖對前面提到的各種維度縮減方法做一個簡單的彙整。對於 AI 基礎課程而言,您並不需要特別深入了解這些方法的詳細定義和公式,因為這些知識通常屬於資料科學家或統計專家的範疇。不過,瞭解一些常用降維方法的簡單定義可以讓您知道當 AI/ML 專案需要處理特徵變數過多的情況時,您可以選擇哪些方法有效地降低特徵變數的數量。
.
10.模型具體是什麼? 《 上一堂課 ∣ 下一堂課 》 12.資料準備-資料分割
人工智慧 28 堂基礎入門課程,完整目錄連結:
版權聲明
人工智慧 28 堂基礎入門課程系列文章係依據 IBM 原廠英文教材進行適度翻譯與內容調整而成,每一門課程使用的主圖片其版權歸屬於 IBM 公司。文章內容未經授權,請勿進行任何形式的複製、修改或發佈本文內容,如需轉載或引用,請在使用時注明出處並取得授權。本文中提及的特定公司、產品、品牌名稱等僅為描述目的,其版權歸屬於相應的公司或擁有者。
沒有留言:
張貼留言