當前位置:
首頁 > 最新 > 人工智慧–PCA演算法

人工智慧–PCA演算法

人工智慧之PCA演算法

前言:人工智慧機器學習有關演算法內容,請參見公眾號「科技優化生活」之前相關文章。人工智慧之機器學習主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下PCA演算法。^_^

PCA(主成分分析)是十大經典機器學習演算法之一。PCA是Pearson在1901年提出的,後來由Hotelling在1933年加以發展提出的一種多變數的統計方法。

對於維數比較多的數據,首先需要做的事就是在盡量保證數據本質的前提下將數據中的維數降低。降維是一種數據集預處理技術,往往在數據應用在其他演算法之前使用,它可以去除掉數據的一些冗餘信息和雜訊,使數據變得更加簡單高效,從而實現提升數據處理速度的目的,節省大量的時間和成本。降維也成為了應用非常廣泛的數據預處理方法。目前處理降維的技術有很多種,如SVD奇異值分解,主成分分析(PCA),因子分析(FA),獨立成分分析(ICA)等。今天重點介紹主成分分析(PCA)。

PCA(主成分分析)演算法目的是在「信息」損失較小的前提下,將高維的數據轉換到低維,通過析取主成分顯出的最大的個別差異,也可以用來削減回歸分析和聚類分析中變數的數目,從而減小計算量。

PCA(主成分分析)通常用於高維數據集的探索與可視化,還可以用於數據壓縮,數據預處理等。

PCA演算法概念:

PCA(PrincipalComponent Analysis)主成分分析,也稱為卡爾胡寧-勒夫變換(Karhunen-Loeve Transform),是一種用於探索高維數據結構的技術。

PCA是一種較為常用的降維技術,PCA的思想是將維特徵映射到維上,這維是全新的正交特徵。這維特徵稱為主元,是重新構造出來的維特徵。在PCA中,數據從原來的坐標系轉換到新的坐標系下,新的坐標系的選擇與數據本身是密切相關的。第一個新坐標軸選擇的是原始數據中方差最大的方向,第二個新坐標軸選擇和第一個坐標軸正交且具有最大方差的方向。該過程一直重複,重複次數為原始數據中特徵的數目。大部分方差都包含在最前面的幾個新坐標軸中。因此,可以忽略餘下的坐標軸,即對數據進行降維處理。

PCA演算法本質:

PCA演算法本質就是找一些投影方向,使得數據在這些投影方向上的方差最大,而且這些投影方向是相互正交的。這其實就是找新的正交基的過程,計算原始數據在這些正交基上投影的方差,方差越大,就說明在對應正交基上包含了更多的信息量。原始數據協方差矩陣的特徵值越大,對應的方差越大,在對應的特徵向量上投影的信息量就越大。反之,如果特徵值較小,則說明數據在這些特徵向量上投影的信息量很小,可以將小特徵值對應方向的數據刪除,從而達到了降維的目的。

PCA把可能具有相關性的高維變數合成線性無關的低維變數,稱為主成分(principal components)。新的低維數據集會儘可能保留原始數據的變數。

簡而言之,PCA本質上是將方差最大的方向作為主要特徵,並且在各個正交方向上將數據「離相關」,也就是讓它們在不同正交方向上沒有相關性

PCA演算法中術語:

1、樣本「信息量」

樣本的「信息量」指的是樣本在特徵方向上投影的方差。方差越大,則樣本在該特徵上的差異就越大,因此該特徵就越重要。在分類問題里,樣本的方差越大,越容易將不同類別的樣本區分開。

2、方差

希望投影后投影值儘可能分散,而這種分散程度,可以用數學上的方差來表述。在統計描述中,方差用來計算每一個變數(觀察值)與總體均數之間的差異。此處,一個欄位的方差可以看做是每個元素與欄位均值的差的平方和的均值,即:

3、協方差

對於二維降成一維的問題來說,找到使得方差最大的方向就可以了。但是對於更高維的問題,需要用到協方差來表示其相關性。即:

PCA理論基礎:

PCA理論基礎如下:

1)最大方差理論。

2)最小錯誤理論。

3)坐標軸相關度理論。

PCA演算法流程:

1)去平均值,即每一位特徵減去各自的平均值;

2)計算協方差矩陣;

3)計算協方差矩陣的特徵值與特徵向量;

4)對特徵值從大到小排序;

5)保留最大的個特徵向量;

6)將數據轉換到個特徵向量構建的新空間中。

PCA降維準則:

1) 最近重構性:樣本集中所有點,重構後的點距離原來的點的誤差之和最小。

2) 最大可分性:樣本在低維空間的投影儘可能分

PCA演算法優點:

1)使得數據集更易使用;

2)降低演算法的計算開銷;

3)去除雜訊;

4)使得結果容易理解;

5)完全無參數限制。

PCA演算法缺點:

1)如果用戶對觀測對象有一定的先驗知識,掌握了數據的一些特徵,卻無法通過參數化等方法對處理過程進行干預,可能會得不到預期的效果,效率也不高;

2)特徵值分解有一些局限性,比如變換的矩陣必須是方陣

3)在非高斯分布情況下,PCA方法得出的主元可能並不是最優的。

PCA演算法應用:

PCA演算法已經被廣泛的應用於高維數據集的探索與可視化,還可以用於數據壓縮,數據預處理等領域。在機器學習當中應用很廣,比如圖像,語音,通信的分析處理。PCA演算法最主要的用途在於「降維」,去除掉數據的一些冗餘信息和雜訊,使數據變得更加簡單高效,提高其他機器學習任務的計算效率。

結語:

PCA是一種常用的數據分析方法。PCA通過線性變換將原始數據變換為一組各維度線性無關的表示,可用於識別和提取數據的主要特徵分量,通過將數據坐標軸旋轉到數據角度上那些最重要的方向(方差最大);然後通過特徵值分析,確定出需要保留的主成分個數,捨棄其他非主成分,從而實現數據的降維降維使數據變得更加簡單高效,從而實現提升數據處理速度的目的,節省大量的時間和成本。降維也成為了應用非常廣泛的數據預處理方法。PCA演算法已經被廣泛的應用於高維數據集的探索與可視化,還可以用於數據壓縮,數據預處理,圖像,語音,通信的分析處理等領域。

------以往文章推薦------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優化生活 的精彩文章:

人工智慧–遺傳演算法
人工智慧–AI醫療

TAG:科技優化生活 |