深入剖析核主成分分析Kernel PCA體現的辯證法思想

2021-01-11 AI火箭營

Kernel PCA同時把升維和降維統一在一起,這個算法是一個矛盾的統一體,其高效的性能背後閃爍著辯證法思想的光芒!

矛盾是事物要素之間或事物之間既對立(相互排斥)又統一(相互聯繫)的關係。在機器學習中,我們辯證地思考問題,就是用聯繫的、發展的、全面的觀點,特別是用對立統一的觀點認識問題、解決問題。

低維與高維的辯證

增加維度:試圖模擬真實世界

這個世界很複雜,所以,在應用機器學習技術中,人們試圖模擬真實世界,捕獲有用的模式並獲得更準確的結果,所以傾向於添加儘可能多的特徵。

有些人認為維度越多越好,恨不得弄個成千上萬個特徵,以體現大數據功勞。但是,你添加到數據集的維度越多,預測就可能越來越困難。特別地,在某一點之後,模型的性能會隨著特徵數量的增加而降低,甚至,會導致預測能力呈指數下降。這種現象通常被稱為"維度詛咒"。

舉一個簡單的例子,假設你正在使用模型來預測25cm 2培養皿中大細菌的位置。在將粒子固定到最接近的平方釐米時,該模型可能相當準確。但是,假設現在只添加一個維度:使用3D燒杯而不是2D培養皿。預測空間呈指數增長,從25cm2增加到125cm3。添加更多維度時,計算負擔也會增加。要確定3D模型中細菌的位置是不可能的。這是一項更具挑戰性的任務。

一方面,獲得更多的特徵是為了更加精確的刻畫數據間的關係,模擬真實世界;另一方面,太多的特徵會導致維度詛咒,模型複雜、性能降低。

降低維度:去粗取精並降低過擬合風險

摺疊特徵。可以通過簡單的垃圾電子郵件識別問題來討論降維的直觀示例。這可能涉及大量特徵,例如電子郵件是否具有通用標題、電子郵件的內容、電子郵件是否使用模板等。但是,這些特徵中的一些可能會重疊。在另一種情況下,依賴於溼度和降雨量的分類問題可以通過PCA摺疊成僅一個基礎特徵,因為兩者高度相關。因此,我們可以減少此類問題中的特徵數量。

降維促進可視化。3-D分類問題可能難以可視化,而2-D分類問題可以映射到簡單的2維空間,而1-D問題可以映射到簡單的線。下圖說明了這個概念,

降維促進加強你的算法。比如在應用SVM前執行PCA會給我們帶來不少的加速。所以,如果保持維度足夠簡單,還是有不少利好。一個很好的例子是物體檢測中的HOG特徵。PCA在HOG特徵向量上執行。仔細觀察特徵向量可以看出,簡單的維度減少只是總結了不同的特徵組,這樣就足夠了,這給了2到3倍的加速。

提高泛化能力,降低過擬合風險。降維後由於模型具有較少的自由度,因此過度擬合的可能性較低,該模型將更容易推廣到新數據。此外,如果我們使用降維,進行特徵篩選,將促進重要變量的呈現,這樣有助於提高模型的可解釋性。

維度降低不會使數據更加可分離,通過減少壓縮特徵,會產生信息損耗,這種信息損耗可能對學習模型的推廣有用,即它對未見數據的性能會增加。

核方法升維:分離數據的差異性並高效工作

與非核方法相比,更高維度空間在現實世界問題中更加真實,能夠揭示數據中的非線性關係,核方法將數據投影到高維特徵空間。通過映射,把原始空間中數據間的差異在更多維度的新空間中放大、分離,實現線性可分的目的。

核方法的本質作用,就是尋找核函數將我們數據"分散"到Hilbert空間,實現數據間的比較。粗略地說,內核或多或少是一個相似性矩陣,核方法可以將天真的比較方式,即原始空間中的常規點積,切換為最適合數據的核方法。然後,通過數學變換增加空間中比較的維度。確切地說:將數據映射到更高維度的空間(RKHS),甚至可以具有無限維度(若用RBF),並且在該空間中使用了點積。基於核方法的主要技巧是你從未明確地將數據映射到RKHS - 這就是它可以工作的原因。所有的工作都是通過在兩個樣本上應用你的核函數來完成的。直觀地說,核方法只是為你提供了一種更好的方法來比較你的數據:沒有真正明確地向你的數據添加維度,僅僅用一種比較它們的更合適的方法而已。

使用內核的全部魔力是不必在RKHS中明確使用點積,它由核方法保留在引擎蓋下!否則,您甚至無法計算兩個向量的徑向基核函數,因為具有無限維度。這個技巧讓RKHS高效工作。

可見,降維和升維各有長處並有其目的性,這似乎是很矛盾的!然而這兩個方法卻可以一起高效合作,這體現了辯證的統一思想。

線性與非線性的辯證

要分清數據的線性、數據線性可分兩組概念。本文主要指後者。

數據的線性與非線性

線性指量與量之間按比例、成直線的關係;而非線性則指不按比例、不成直線的關係。非線性中使得整體不再是簡單地等於部分之和,而可能出現不同於"線性疊加"的增益或虧損。比如,雷射的生成就是非線性的!當外加電壓較小時,雷射器猶如普通電燈,光向四面八方散射;而當外加電壓達到某 一定值時,會突然出現一種全新現象:受激原子好像聽到"向右看齊"的命令,發射出相位和方向都一致的單色光,就是雷射。

線性可分與非線性可分

分類問題中的線性可分問題。線性可分是指有一些函數可以將兩個類分開,這兩個類是輸入變量的線性組合。例如,如果有兩個輸入變量,x1並且x2有一些數字theta1,theta2那麼函數f(x)=theta1.x1 + theta2.x2就足以預測輸出。在二維中,這對應於直線,在3D中它變成平面並且在更高維空間中它變成超平面。

下圖是在二維空間中線性不可分的數據,形狀像同心圓,無法用一條直線分開。

但是,如果我們給每個點一個額外的坐標比如z=1 - sqrt(x*x + y*y),那麼問題就變得線性可分,因為紅色和藍色點可以通過一個二維平面z=0分開。

這些形象展示了核技巧背後的思想:

將問題映射到具有更多維度的空間使得問題更可能變得線性可分。

線性可分與非線性可分在核方法中是辯證的統一:在低維空間中數據線性不可分,通過映射到高維空間中是可線性可分的;而高維空間中線性可分返回到低維空間中又是非線性可分的。所以這兩者是矛盾而統一的。

Kernel PCA實現降維與升維、線性與非線性的辯證統一

核主成分分析(Kernel PCA),是對PCA算法的非線性擴展。

傳統PCA無法實現非線性投影

PCA是線性的,其對於非線性數據往往顯得無能為力。

PCA降維試圖找到數據被限制的低維線性子空間,但數據可能是非線性。如下圖:

這裡的數據點(左側)主要位於2D的曲線上。PCA不能將維數從2減少到1,因為這些點不是沿直線定位的。但是,數據"顯然"位於一維非線性曲線周圍。因此,雖然PCA失敗,但必須有另一種方式!實際上,Kernel PCA可以找到這種非線性流形並發現數據實際上幾乎是一維的。

總結一下。

Kernel PCA把Kernel升維和PCA降維兩種方法有機的融合在一起。

第一、通過將數據映射到更高維空間來實現。這看起來非常矛盾:核方法尋求更高維度,而PCA尋求更低維度。降維與映射到高維,這是兩個相反的方向!但事實並非如此。數據被映射到更高維度的空間,但隨後變成位於它的較低維度子空間。因此,先增加維度以便能夠降低維度。在這裡增維與降維實現了辯證的統一。

第二、之所以KPCA發揮作用,源於數據在低維空間中,無法尋找到線性子空間進行降維;但通過核方法映射到高維空間中,可以清晰的找到線性子空間進行降維投影,返回到低維空間中,是非線性投影(非線性流行)。在這裡線性與非線性實現了辯證的統一。

KPCA算法實現的關鍵

KPCA將原來X映射到Φ(x),在新空間中計算協方差。

PCA的目標函數,是在原維度空間中對新基(特徵向量)投影的方差尋找最大化:

KPCA目標函數,是映射到新維度空間中對新基投影的方差尋找最大化:,

其中:

KPCA與PCA的對比

下圖是二維空間中類似兩條曲線的數據分布:

如果應用普遍的線性PCA,那麼變換後的前兩個主成分如下,只是倒了個,並沒有提高區分能力。

如果應用高斯核PCA,那麼降維後,前兩個主成分如下,顯然可分。

特別是其第一個主成分,一目了然,實現了流形向線性的投射,並且嚴格分開。

分類與聚類的辯證

PCA方法是一種無監督的聚類技術,然而在上面的圖形中,仿若我們是在做分類,而且似乎做的很好。機器學習的最高境界實際上是無監督技術,是未來的發展方向,能夠不利用標籤就能正確聚類(分類)代表著算法的高度智能。所以聚類做的達到一定程度,是能夠比擬分類的。聚類在一定程度向矛盾的對立面分類轉化。這就是辯證法中的「你中有我,我中有你」,在一定程度相互轉化,是統一的。

如果有一個未標記的數據集,聚類讓我們來獲得大量洞察力。可以使用不同的群集算法將數據自動分組到多個群集中,揭示屬於特定群集的數據的共同點。如下圖所示,創建了5個聚類,揭示具有不同特徵的人。

我們知道在聚類中,譜聚類對數據分布的適應性更強,有著出色的聚類效果!而本講中的Kernel PCA在著與譜聚類的某種類似程度。

譜聚類首先將原始數據映射到一個新的空間,然後做Kmeans。譜聚類的前半部分相當於Kernel PCA。Kernel PCA對核函數映射過的相似度矩陣進行特徵值分解,而譜聚類對拉普拉斯矩陣(也是相似度)進行特徵值分解。如果說普通PCA是將原始數據進行正交變換映射到新的空間,那麼譜聚類和Kernel PCA就是對原始數據進行某種非線性變換映射到新的空間,並在新空間中進行降維。

很多時候對數據進行線性變換仍然無法獲得良好的可分性,但引入非線性性則可能做得到,這也是核方法存在的意義,從這個角度上看,聚類又為有監督的分類提供了基礎。聚類與分類可以一起共同完成一個任務,效果更好,這就是辯證法中的同一性原理,統一推動事物的運動變化,構成了事物的發展!

相關焦點

  • 主成分分析PCA預測未知分類信息
    那麼本次就是要通過主成分分析的方法,預測那5個樣本的信息。第一,加載數據增加一些分組信息,比如已知的樣本分類,訓練組,測試組。但是,本次樣本量很多,我並不能判斷,所以這次不作批次處理,並不影響我們的下遊分析,第三,差異分析。
  • 辯證法:不是工具,而是哲學本身──評《辯證法與現代哲學思維方式》
    :一是質疑辯證法的思維方式,但又在不同側面或不同程度體現辯證法,這是現代西方哲學的內在矛盾之一;二是盛讚辯證法的思維方式,但又在不同側面或不同程度曲解辯證法,這又是現代中國哲學界長期以來面對的理論困境之一。
  • 唯物論辯證法的高透剖析,嗷嗷經典,不看你會後悔滴!
    作為唯物辯證法的基本範疇具有客觀性、普遍性反映事物的本質、體現唯物辯證法聯繫和發展的總特徵。9唯心辯證法唯心辯證法 同「唯物辯證法」和「形上學」相對立的發展觀。指建立在唯心主義基礎上的頭足倒立的辯證法理論。認為客觀世界的發展過程就是人的精神或思維的發展過程。古希臘唯心主義哲學家柏拉圖是唯心辯證法的創立者之一。
  • 使用python+sklearn實現概率PCA和因子分析進行模型選擇
    概率PCA和因子分析都是概率模型,新數據的似然性(likelihood)可用於模型選擇和協方差估計
  • 用StackOverflow訪問數據實現主成分分析(PCA)
    大數據文摘出品編譯:汪小七、張馨月、雲舟主成分分析(PCA:Principal Component Analysis)非常有助於我們理解高維數據,我利用Stack Overflow的每日訪問數據對主成分分析進行了實踐和探索,你可以在rstudio :: conf 2018上找到其中一篇演講的錄音。
  • 聚類樹和PCA等排序圖的組合繪製
    聚類分析和排序分析(降維分析)都是用於探索多元數據結構的常用方法,二者的結果也可以結合在一起通過一張圖呈現,本篇展示一些常見的示例。https://pan.baidu.com/s/1dQxyRcBuGDoec9ZKm77Y6w示例數據包含15個樣本(對象),20個變量,下文對它執行聚類和降維,並作圖展示。
  • 用 PCA 方法進行數據降維
    下面我們來用PCA具體來分析一下該數據集,首先先看看該數據在選取4個主成分下的情況,這時候其主成分的數量和原數據的維度數相等。其結果如圖5所示。pca = PCA(n_components=4) #選取4個主成分pc = pca.fit_transform(values) #對原數據進行pca處理print("explained variance ratio: %s" % pca.explained_variance_ratio_) #輸出各個主成分所佔的比例
  • 毛澤東講授的《辯證法唯物論》-光明日報-光明網
    黨史文獻——毛澤東講授的《辯證法唯物論(講授提綱)》,就是一個鮮明的例證。    在延安時期,毛澤東有一段相對寬鬆的時間,得以比較集中地閱讀大量馬克思主義的哲學書籍。現在保存下來的毛澤東在這個時期讀過並作過批註的哲學書籍中包括了西洛可夫、愛森堡等所著的《辯證法唯物論教程》,米丁主編的《辯證唯物論與歷史唯物論》(上冊)等。
  • 南哲思享|劉懷玉:從單義到弱義的當代辯證法追問之路——以尼採與...
    (二)辯證法與非理性主義的對立盧卡奇在分析資本主義社會中勞動異化的基礎上,把馬克思的抽象勞動與馬克斯·韋伯的形式合理化概念相結合,進一步論述了勞動異化造成的後果,從而展開了對人類理性的辯證法的思考。在對待辯證法的態度上,盧卡奇認為尼採與馬克思的觀點是對立的,他在《理性的毀滅》中明確地把尼採視為帝國主義時期非理性主義的創始人。
  • 從《道德經》中看老子的宇宙觀、本體論和辯證法
    是研究先秦政治思想、哲學思想的重要典籍之一。他以精煉的語言體現了宇宙觀,本體論,辯證法等諸多哲學思想內容。宇宙觀方面,老子用「道」這個哲學主體看成是萬物本源,把「道」看成人和天共同的終極根據。在老子的哲學中,「道」既是宇宙論的範疇,又是一個本體論的範疇。 「道」既是世界萬物的邏輯起點,又是萬物的終極根據。從終極根據的意義上說,「道」便成為本體論範疇。
  • 辯證唯物主義和歷史唯物主義是新時代思想的理論特質
    在人類早期哲學思想中,唯物主義和辯證法曾經有過原始的結合,但受當時條件的限制,只能是缺乏科學論證的樸素的結合。到了近代,唯物主義往往與形上學相結合,辯證法則往往與唯心主義相結合,結果形上學限制了唯物主義成為不徹底的唯物主義,唯心主義窒息了辯證法成為不徹底的辯證法。
  • 等級辯證法與國家理論
    在對「社會三功能」結構的研究中,杜梅齊爾提出了一項關於國家建立和發展的理論,即等級辯證法。本文從杜梅齊爾的論述出發,比較了巫術性王權和司法性王權的等級辯證關係對羅馬、印度、波斯和日耳曼社會制度的塑造方式,以解釋印歐文明內部的制度差異性。另外,杜梅齊爾對武士和生產者階層的分析表明,等級辯證法的運行以第一功能為限,三種功能之間的關係及其整合還存在其他社會學解釋機制。
  • 政治局為何學習辯證法?哲學往往成為歷史轉折重要思想準備
    為啥要講辯證法?       學習辯證法,是為提高工作的效率。       「學好辯證法,走遍天下都不怕。」,這句話雖然有些誇張,但卻不無道理。習近平之前在談到如何提高工作效率就說「我認為必須學會運用辯證法,分清層次,認真思考。
  • 考研必讀:馬哲辯證法專題複習指導及出題點
    對立統一正是事物聯繫和發展的最深刻的本質,因此,對立統一關係也就是辯證法全部規律的實質。也是整個哲學體系中所有「辯證關係」的實質。要深入理解辯證法,理解馬克思主義哲學,就要理解對立統一規律。對立統一規律是在矛盾同一性與鬥爭性、普遍性與特殊性、共性與個性基礎上的展開,同時矛盾雙方有著性質和地位的不平衡性,從而有主要矛盾與非主要矛盾、矛盾的主要方面與非主要方面的區別。
  • 辯證法的本體論基礎:黑格爾與馬克思
    這不僅與思想史主題上重建對馬克思學說的基本理解有關,而且尤其與闡說馬克思整個思想方法的時代意義有關。對於馬克思來說,政治經濟學批判或《資本論》的方法也就是辯證法。但是長期以來,辯證法——首先是馬克思的辯證法——卻很少得到真正的理解,它的根本性質、特徵和意義似乎是不由自主地陷入晦暗中去了。
  • 從科學哲學到邏輯實證主義,從批判理性主義到客觀辯證法!
    真正意義上的西方科學哲學以20世紀20年代出現的邏輯實證主義為成熟的標誌(可能還有分析哲學和德國維也納學派中的一些思想精華),代之而起的主要流派有卡爾·波普的批判理性主義,以庫恩、拉卡託斯、費耶阿本德為主要代表人物的歷史主義及以夏佩爾等人為代表的新歷史主義。正是由於各個學派的不斷發展受到了客觀辯證法的制約,使人們對科學哲學的認識和理解達到了全新的境界和前所未有的深度。
  • 2018考研政治高頻考點之辯證法
    (二)量變和質變的辯證關係     量變:事物數量的增減和次序的變動,是保持事物的質的相對穩定的不顯著的變化,體現了事物漸進過程的連續性。     質變:事物性質的根本變化,是事物由一種質態向另一種質態的飛躍,體現了事物漸進過程和連續性的中斷。
  • 堅持辯證唯物主義與歷史唯物主義的典範——趙光武教授學術思想述要
    《辯證法的歷史與邏輯》是《唯物主義的歷史與理論》的姊妹篇,它們的總體設計、結構、研究方法基本相同,並在內容上相互銜接和交叉深入。該書以揭示辯證法的實質及其發展的內在邏輯為中心,從不同的側面進行專題探討。(1)從總體上揭示實質和規律,如辯證法概念的由來及其實質的揭示、辯證法發展的幾個歷史階段。(2)從不同的聯繫上揭示實質和規律。
  • 南哲思享|周嘉昕:經濟學與辯證法之間——政治經濟學批判視角下...
    這一批判首要地、集中地體現在他對商品結構的分析之中。用盧卡奇的話說,《政治經濟學批判》和《資本論》,「都從分析商品開始,這決非偶然。只有在馬克思的分析所具有的那種廣度和深度時,才能在商品關係的結構中發現資本主義社會一切對象性形式和與此相適應的一切主體性形式的原形」2 。對商品形式或者說拜物教的批判性分析,與盧卡奇寫作《歷史與階級意識》的時期所能接觸到的馬克思文獻直接相關。
  • 使用PCA可視化數據
    主成分分析(PCA)是一個很好的工具,可以用來降低特徵空間的維數。PCA的顯著優點是它能產生不相關的特徵,並能提高模型的性能。它可以幫助你深入了解數據的分類能力。在本文中,我將帶你了解如何使用PCA。將提供Python代碼,完整的項目可以在GitHub連結:https://github.com/conorosully/medium-articles。