前言:人工智能機器學(xué)習(xí)有關(guān)算法內(nèi)容,人工智能之機器學(xué)習(xí)主要有三大類:1)分類;2)回歸;3)聚類。今天我們重點探討一下PCA算法。
PCA(主成分分析)是十大經(jīng)典機器學(xué)習(xí)算法之一。PCA是Pearson在1901年提出的,后來由Hotelling在1933年加以發(fā)展提出的一種多變量的統(tǒng)計方法。
對于維數(shù)比較多的數(shù)據(jù),首先需要做的事就是在盡量保證數(shù)據(jù)本質(zhì)的前提下將數(shù)據(jù)中的維數(shù)降低。降維是一種數(shù)據(jù)集預(yù)處理技術(shù),往往在數(shù)據(jù)應(yīng)用在其他算法之前使用,它可以去除掉數(shù)據(jù)的一些冗余信息和噪聲,使數(shù)據(jù)變得更加簡單高效,從而實現(xiàn)提升數(shù)據(jù)處理速度的目的,節(jié)省大量的時間和成本。降維也成為了應(yīng)用非常廣泛的數(shù)據(jù)預(yù)處理方法。目前處理降維的技術(shù)有很多種,如SVD奇異值分解,主成分分析(PCA),因子分析(FA),獨立成分分析(ICA)等。今天重點介紹主成分分析(PCA)。
PCA(主成分分析)算法目的是在“信息”損失較小的前提下,將高維的數(shù)據(jù)轉(zhuǎn)換到低維,通過析取主成分顯出的最大的個別差異,也可以用來削減回歸分析和聚類分析中變量的數(shù)目,從而減小計算量。
PCA(主成分分析)通常用于高維數(shù)據(jù)集的探索與可視化,還可以用于數(shù)據(jù)壓縮,數(shù)據(jù)預(yù)處理等。
PCA算法概念:
PCA(PrincipalComponent Analysis)主成分分析,也稱為卡爾胡寧-勒夫變換(Karhunen-Loeve Transform),是一種用于探索高維數(shù)據(jù)結(jié)構(gòu)的技術(shù)。
PCA是一種較為常用的降維技術(shù),PCA的思想是將維特征映射到維上,這維是全新的正交特征。這維特征稱為主元,是重新構(gòu)造出來的維特征。在PCA中,數(shù)據(jù)從原來的坐標系轉(zhuǎn)換到新的坐標系下,新的坐標系的選擇與數(shù)據(jù)本身是密切相關(guān)的。第一個新坐標軸選擇的是原始數(shù)據(jù)中方差最大的方向,第二個新坐標軸選擇和第一個坐標軸正交且具有最大方差的方向。該過程一直重復(fù),重復(fù)次數(shù)為原始數(shù)據(jù)中特征的數(shù)目。大部分方差都包含在最前面的幾個新坐標軸中。因此,可以忽略余下的坐標軸,即對數(shù)據(jù)進行降維處理。
PCA算法本質(zhì):PCA算法本質(zhì)就是找一些投影方向,使得數(shù)據(jù)在這些投影方向上的方差最大,而且這些投影方向是相互正交的。這其實就是找新的正交基的過程,計算原始數(shù)據(jù)在這些正交基上投影的方差,方差越大,就說明在對應(yīng)正交基上包含了更多的信息量。原始數(shù)據(jù)協(xié)方差矩陣的特征值越大,對應(yīng)的方差越大,在對應(yīng)的特征向量上投影的信息量就越大。反之,如果特征值較小,則說明數(shù)據(jù)在這些特征向量上投影的信息量很小,可以將小特征值對應(yīng)方向的數(shù)據(jù)刪除,從而達到了降維的目的。
PCA把可能具有相關(guān)性的高維變量合成線性無關(guān)的低維變量,稱為主成分( principal components)。新的低維數(shù)據(jù)集會盡可能保留原始數(shù)據(jù)的變量。
簡而言之,PCA本質(zhì)上是將方差最大的方向作為主要特征,并且在各個正交方向上將數(shù)據(jù)“離相關(guān)”,也就是讓它們在不同正交方向上沒有相關(guān)性。
PCA算法中術(shù)語:1、樣本“信息量”
樣本的“信息量”指的是樣本在特征方向上投影的方差。方差越大,則樣本在該特征上的差異就越大,因此該特征就越重要。在分類問題里,樣本的方差越大,越容易將不同類別的樣本區(qū)分開。
2、方差
希望投影后投影值盡可能分散,而這種分散程度,可以用數(shù)學(xué)上的方差來表述。在統(tǒng)計描述中,方差用來計算每一個變量(觀察值)與總體均數(shù)之間的差異。此處,一個字段的方差可以看做是每個元素與字段均值的差的平方和的均值,即:
3、協(xié)方差
對于二維降成一維的問題來說,找到使得方差最大的方向就可以了。但是對于更高維的問題,需要用到協(xié)方差來表示其相關(guān)性。即:
PCA理論基礎(chǔ):1)最大方差理論。
2)最小錯誤理論。
3)坐標軸相關(guān)度理論。
PCA算法流程:1)去平均值,即每一位特征減去各自的平均值;
2)計算協(xié)方差矩陣;
3)計算協(xié)方差矩陣的特征值與特征向量;
4)對特征值從大到小排序;
5)保留最大的個特征向量;
6)將數(shù)據(jù)轉(zhuǎn)換到個特征向量構(gòu)建的新空間中。
PCA降維準則:
1) 最近重構(gòu)性:樣本集中所有點,重構(gòu)后的點距離原來的點的誤差之和最小。
2) 最大可分性:樣本在低維空間的投影盡可能分開。
1)使得數(shù)據(jù)集更易使用;
2)降低算法的計算開銷;
3)去除噪聲;
4)使得結(jié)果容易理解;
5)完全無參數(shù)限制。
PCA算法缺點:1) 如果用戶對觀測對象有一定的先驗知識,掌握了數(shù)據(jù)的一些特征,卻無法通過參數(shù)化等方法對處理過程進行干預(yù),可能會得不到預(yù)期的效果,效率也不高;
2) 特征值分解有一些局限性,比如變換的矩陣必須是方陣;
3) 在非高斯分布情況下,PCA方法得出的主元可能并不是最優(yōu)的。
PCA算法應(yīng)用:PCA算法已經(jīng)被廣泛的應(yīng)用于高維數(shù)據(jù)集的探索與可視化,還可以用于數(shù)據(jù)壓縮,數(shù)據(jù)預(yù)處理等領(lǐng)域。在機器學(xué)習(xí)當(dāng)中應(yīng)用很廣,比如圖像,語音,通信的分析處理。PCA算法最主要的用途在于“降維”,去除掉數(shù)據(jù)的一些冗余信息和噪聲,使數(shù)據(jù)變得更加簡單高效,提高其他機器學(xué)習(xí)任務(wù)的計算效率。
結(jié)語:PCA是一種常用的數(shù)據(jù)分析方法。PCA通過線性變換將原始數(shù)據(jù)變換為一組各維度線性無關(guān)的表示,可用于識別和提取數(shù)據(jù)的主要特征分量,通過將數(shù)據(jù)坐標軸旋轉(zhuǎn)到數(shù)據(jù)角度上那些最重要的方向(方差最大);然后通過特征值分析,確定出需要保留的主成分個數(shù),舍棄其他非主成分,從而實現(xiàn)數(shù)據(jù)的降維。降維使數(shù)據(jù)變得更加簡單高效,從而實現(xiàn)提升數(shù)據(jù)處理速度的目的,節(jié)省大量的時間和成本。降維也成為了應(yīng)用非常廣泛的數(shù)據(jù)預(yù)處理方法。PCA算法已經(jīng)被廣泛的應(yīng)用于高維數(shù)據(jù)集的探索與可視化,還可以用于數(shù)據(jù)壓縮,數(shù)據(jù)預(yù)處理,圖像,語音,通信的分析處理等領(lǐng)域。