機器學習中的 PCA:假設、應用步驟和應用

已發表: 2020-11-12

目錄

了解 ML 中的降維

ML(機器學習)算法使用一些數據進行測試,這些數據在開發和測試時可以稱為特徵集。 開發人員需要減少其特徵集中的輸入變量數量,以提高任何特定 ML 模型/算法的性能。

例如,假設您有一個包含許多列的數據集,或者您在 3-D 空間中有一個點數組。 在這種情況下,您可以通過在 ML 中應用降維技術來減少數據集的維度。 PCA(主成分分析)是 ML 開發人員/測試人員廣泛使用的降維技術之一。 讓我們深入了解機器學習中的 PCA。

主成分分析

PCA 是一種無監督統計技術,用於減少數據集的維度。 具有許多輸入變量或更高維度的 ML 模型在對更高輸入數據集進行操作時往往會失敗。 PCA 有助於識別不同變量之間的關係,然後將它們耦合起來。 PCA 在一些要遵循的假設上工作,它幫助開發人員維護一個標準。

PCA 涉及將數據集中的變量轉換為一組稱為 PC(主成分)的新變量。 主成分將等於給定數據集中原始變量的數量。

第一個主成分 (PC1) 包含早期變量中存在的最大變化,並且隨著我們移動到較低的水平,這種變化會減小。 最終 PC 的變量變化最小,您將能夠減少功能集的尺寸。

PCA 中的假設

PCA 中有一些假設需要遵循,因為它們將導致這種降維技術在 ML 中準確運行。 PCA 中的假設是:

• 數據集中必須存在線性,即變量以線性方式組合形成數據集。 變量表現出它們之間的關係。

• PCA 假設必須注意具有高方差的主成分,而將具有較低方差的主成分視為噪聲。 Pearson 相關係數框架導致了 PCA 的起源,並且首先假設具有高方差的軸只會變成主成分。

• 所有變量都應在相同的比率測量水平上訪問。 最優選的規範是樣本集的至少 150 個觀測值,比率測量值為 5:1。

• 偏離任何數據集中其他數據點的極值(也稱為異常值)應該更少。 更多數量的異常值將代表實驗錯誤,並會降低您的 ML 模型/算法。

• 特徵集必須是相關的,應用 PCA 後減少的特徵集將代表原始數據集,但以更少維度的有效方式。

必讀:印度的機器學習薪資

應用 PCA 的步驟

在任何 ML 模型/算法上應用 PCA 的步驟如下:

• 數據的規範化對於應用 PCA 是非常必要的。 未縮放的數據可能會導致數據集的相對比較出現問題。 例如,如果我們在某個二維數據集中的列下有一個數字列表,則從所有數字中減去這些數字的平均值以標準化二維數據集。 規範化數據也可以在 3-D 數據集中完成。

• 標準化數據集後,找出不同維度之間的協方差並將它們放入協方差矩陣中。 協方差矩陣中的非對角元素將代表每對變量之間的協方差,對角元素將代表每個變量/維度的方差。

為任何數據集構建的協方差矩陣將始終是對稱的。 協方差矩陣將表示數據中的關係,您可以輕鬆了解每個主成分的方差量。

• 您必須找到協方差矩陣的特徵值,該矩陣表示圖中數據在正交基礎上的變異性。 您還必須找到協方差矩陣的特徵向量,它表示數據中最大方差發生的方向。

假設您的協方差矩陣“C”有一個由“C”的特徵值組成的方陣“E”。 在這種情況下,它應該滿足這個方程——(EI – C) = 0 的行列式,其中“I”是與“C”維數相同的單位矩陣。 您應該檢查它們的協方差矩陣是否是對稱/方陣,因為這樣只能計算特徵值。

• 按升序/降序排列特徵值並選擇較高的特徵值。 您可以選擇要處理的特徵值數量。 忽略較小的特徵值會丟失一些信息,但這些微小的值不會對最終結果產生足夠的影響。

選定的更高特徵值將成為您更新的特徵集的維度。 我們還形成了一個特徵向量,它是一個由相對選擇的特徵值的特徵向量組成的向量矩陣。

• 使用特徵向量,我們找到正在分析的數據集的主要成分。 我們將特徵向量的轉置與縮放矩陣的轉置相乘(歸一化後數據的縮放版本)以獲得包含主成分的矩陣。

我們會注意到最高特徵值將適合數據,而其他特徵值不會提供有關數據集的太多信息。 這證明了我們在減少數據集的維度時並沒有丟失數據; 我們只是更有效地代表它。

實施這些方法是為了最終減少 PCA 中任何數據集的維度。

PCA的應用

許多部門都會產生數據,因此需要分析數據以了解任何公司/公司的增長。 PCA 將有助於減少數據的維度,從而使其更易於分析。 PCA的應用有:

• 神經科學——神經科學家使用 PCA 來識別任何神經元或在相變期間繪製大腦結構圖。

• 金融——PCA 在金融領域用於降低數據維度以創建固定收益投資組合。 金融部門的許多其他方面都涉及 PCA,例如預測收益、制定資產配置算法或股權算法等。

• 圖像技術——PCA 也用於圖像壓縮或數字圖像處理。 通過繪製每個像素的強度值,可以通過矩陣表示每個圖像,然後我們可以對其應用 PCA。

• 面部識別– 面部識別中的PCA 導致創建特徵面部,從而使面部識別更加準確。

• 醫療——PCA 用於大量醫療數據,以找出不同變量之間的相關性。 例如,醫生使用 PCA 來顯示膽固醇和低密度脂蛋白之間的相關性。

• 安全性——使用 PCA 可以輕鬆發現異常。 它用於識別網絡/計算機攻擊並在 PCA 的幫助下將其可視化。

外賣點

如果原始數據集的相關性較弱或沒有相關性,應用 PCA 後也會導致模型性能低下。 這些變量需要相互關聯才能完美地應用 PCA。 PCA 為我們提供了特徵的組合,並且從原始數據集中消除了單個特徵的重要性。 方差最大的主軸是理想的主成分。

另請閱讀:機器學習項目理念

結論

PCA 是一種廣泛使用的技術,用於減少特徵集的維度。

如果您有興趣了解有關機器學習的更多信息,請查看 IIIT-B 和 upGrad 的機器學習和人工智能 PG 文憑,該文憑專為工作專業人士設計,提供 450 多個小時的嚴格培訓、30 多個案例研究和作業、IIIT- B 校友身份、5 個以上實用的實踐頂點項目和頂級公司的工作協助。

PCA 可以用於所有數據嗎?

是的。 主成分分析 (PCA) 是一種數據分析技術,它提供了一種查看和理解非常高維數據的方法。 換句話說,PCA 可以應用於具有大量變量的數據。 有一個普遍的誤解,認為 PCA 只能用於特定形式的數據。 例如,許多人認為 PCA 僅對數值變量有用。 不是這種情況。 事實上,PCA 可以用於所有類型的變量。 例如,PCA 可以應用於分類變量、有序變量等。

主成分分析的局限性是什麼?

PCA 是分析數據和提取兩個或三個最重要因素的絕佳工具。 發現異常值和趨勢非常好。 但是,它有一些限制,例如:它不適合小型數據集(通常,數據集應該超過 30 行)。 它不會找到重要因素,而是根據值選擇它們。 因此,很難找到重要的因素。 它背後沒有強大的數學結構。 很難將數據與 PCA 進行比較。 它找不到任何非線性關係。

主成分分析的優點是什麼?

主成分分析 (PCA) 是一種統計方法,用於將大量可能相關的變量轉換為數量少得多的不相關變量,稱為主成分。 PCA 可以用作數據縮減技術,因為它允許我們找到描述數據集所需的最重要的變量。 PCA 還可用於降低數據空間的維數,以便深入了解數據的內部結構。 這在處理大型數據集時很有幫助。