線性降維方法(理論篇)| 機器學習你會遇到的「坑」

2020-12-05 讀芯術

全文共2698字,預計學習時長6分鐘

周末好啊各位同學,我們又見面了。

科幻名著《三體》裡有句犀利的臺詞——降低維度用於攻擊。不過,這個「降維」絕對不只是科幻界的專用名詞。

在機器學習中,你同樣得了解它。

很多初學者往往會把降維(Dimensionality reduction),特徵選擇(feature selection),以及特徵提取(feature extraction)混為一談,因為這三者都削減了進入模型的變量個數。

但降維是一個更為寬泛的概念,它包括了特徵選擇和特徵提取。

雖然降維過後,最終使用的變量個數減少了,但特徵選擇挑選的是特徵子集,也就是說,保留下來的所有特徵都在原來的特徵集中可以找到;而特徵提取所提取的是不再是特徵子集,而是原來特徵的線性(或者非線性)組合,我們經過特徵提取後的變量都是新的變量,它的本質是將原始高維空間向低維空間投影,我們所使用的特徵不僅少了,而且不再是原來的特徵。

距離是機器學習中的一個很重要的概念。每個樣本可以表示為一個向量,也就是高維空間的一個點,距離可以用來衡量樣本之間的相似度。但是在高維空間,距離的計算會變得非常困難,而我們關心的問題可能在低維空間就會得到很好的解決。但這不意味著低維空間只是對高維空間的近似,有些問題中,高維空間會增加很多噪聲,而在低維空間中會得到比高維空間更好的性能。

在上周《如何進行特徵選擇(理論篇)》的學習中,相信大家已經對特徵選擇有了足夠的認識,所以本文的「降維」特指特徵提取。

對於降維有兩種分類方式:其一,根據目標值(target)的參與與否,分為有監督降維和無監督降維;其二,根據高維空間與低維空間的關係,分為線性降維和非線性降維。

我們對每種方法分舉一例:

線性\監督

無監督

監督

線性

PCA

LDA

非線性

ISOMAP

KLDA

主成分分析(PCA)

數學準備:

1.協方差矩陣:隨機變量組成的向量,每組隨機變量的協方差構成的一個對稱矩陣,其對角元是每組隨機變量的方差

2.矩陣的對角化:對於矩陣M,有可逆矩陣V,使得

成為對角矩陣,而M的特徵值對應的特徵向量組成了該可逆矩陣V。(換而言之,矩陣V的每一列對應著M的特徵向量)

3.正交矩陣:轉置矩陣等於其逆矩陣(

),構成矩陣的列向量彼此正交。

4.數據中心化:對每組隨機變量減去均值,再除以標準差。本質是將每組隨機變量變為標準的高斯分布。

PCA(Principal component analysis)是用投影的方法將高維空間壓縮到低維。

想像一下,此時你站在路燈下面,你本身是三維的(此時此刻除去了時間維度),你的影子卻在一個二維平面上。

如圖,我們將二維空間的點投影到一條直線上。

但是,我們有無數個投影的方向,就像上圖我們可以找出無數條直線來進行投影,那麼哪條直線,哪個方向才是最好的呢?PCA的目標就是,找一條直線,使得投影之後的點儘可能的遠離彼此,因為點之間的互相遠離而不是相互重疊,就意味著某些距離信息被保留了下來。

在高維空間(維數D)的所有的樣本可以被表示為一個向量:

在投影之後的低維空間(維數d),樣本也是一個向量:

向量的變化可以通過一個矩陣聯繫起來,這個矩陣我們把它叫做投影矩陣,它的作用是將一個高維向量投影到低維空間得出一個低維向量:

此時,中心化數據的優勢就體現了出來,因為經過中心化的數據,

,這就意味著數據的協方差矩陣就成了

,投影之後的協方差矩陣就成為了

,我們的目標是使其方差最大,而協方差矩陣的對角元正是方差,所以我們只需要對其求跡:

換而言之,我們需要找的投影矩陣W其實是一個使

對角化的可逆矩陣,而它的轉置等於它的逆

。所以我們尋找W的過程,就是尋找

的特徵向量的過程,而方差最大化的過程,也就是尋找

最大特徵值的過程。

所以,我們只需要對

做特徵值分解,將其特徵值排序,取到前面的d個特徵向量,彼此正交,構成了投影矩陣W,而它們所張成的低維空間,就是使得投影點方差最大的低維空間。

如圖,這是對一個二元高斯分布用PCA進行降維後的結果,這個平面就是由兩個最大的特徵值對應的特徵向量所張成,可以看出,特徵向量彼此正交,且首先找到的是最大的特徵值對應的特徵向量,逐步尋找第二個,第三個.....如果我們的目標空間是n維,就會取到前n個。

線性判別分析(LDA)

數學準備:

1.均值向量:由多組隨機變量組成的向量,對每一組隨機變量取均值所構成的向量。

2.厄米矩陣(Hermitan ):轉置等於其本身的矩陣,

3.廣義瑞利熵(Rayleigh quotient ):若x為非零向量,則

為A,B的廣義瑞利熵,它的最大值是

的最大特徵值。

4.矩陣的奇異值分解:任何實矩陣M都可以被分解成為

這三個矩陣的乘積。U和V均為正交矩陣。U的列向量是

的特徵向量,V的列向量是

的特徵向量,同時奇異值的大小

是的特徵值的平方根。

LDA(Linear Discriminant Analysis)的基本思想也是將高維空間的樣本投影到低維空間,使信息損失最少。

與PCA不同在於,PCA只針對樣本矩陣,希望投影到低維空間之後,樣本投影點的方差最大;但LDA不僅針對樣本矩陣,還使用了類別信息,它希望投影到低維空間後,相同樣本的方差最小(相同樣本的集中化),不同樣本的距離最大(不同樣本離散化)。

如圖所示,將二維空間投影到一維空間,即一條直線上。圖2相比圖1,類間樣本距離更大,類內樣本方差更小。

以二分類問題為例,我們用

表示兩類樣本,用

表示兩類樣本的均值向量,用

來表示兩類樣本的協方差矩陣,與PCA一樣,我們假設存在一個投影矩陣W,這些量會在低維空間變成:

其中

分別為低維空間的樣本,均值向量和協方差矩陣。在投影空間的相同樣本的方差最小,意味著

最小;而不同樣本的距離最大,意味著

最大。

我們定義原始空間的樣本協方差矩陣之和為

,類內散度矩陣(whithin-class scatter matrix),用來刻畫原始空間上相同樣本的方差:

同時定義類間散度矩陣(between-class scatter matrix)

,用來刻畫原始空間上不同樣本的距離:

將以上的原則結合起來,我們的目的就變成了:

根據廣義瑞利熵的形式,我們尋求最大值就變成了對

進行奇異值分解,然後選取最大的奇異值和相應的特徵向量。這些特徵向量所張成的低維空間,就是我們的目標空間。

讀芯君開扒

課堂TIPS

降維在表示論中屬於低維表示,本質是將原本空間壓縮到更小的空間,在這個過程中保證信息損失的最小化。與之相對的是稀疏表示,它是將原本的空間嵌入到更大的空間,在這過程中保證信息損失的最小化。

PCA有多種理解方式,除了在低維空間使得樣本方差最大化,也可以理解為最小重構均方誤差,將問題轉化為所選低維空間重構的數據與實際數據的差。引入貝葉斯視角,還可以將PCA理解為最小化高斯先驗誤差。如果從流形的角度看,就是把數據看作一個拓撲空間的點集,在高斯概率空間內找到一個對應的線性流形。

PCA和LDA的優化目標均可以用拉格朗日乘子法解決。PCA同樣也可以通過奇異值分解來解決。奇異值分解方法可以理解為是特徵值分解的推廣,因為特徵值分解要求矩陣為一個方陣,但奇異值分解並無此要求。

留言 點讚 發個朋友圈

我們一起探討AI落地的最後一公裡

作者:唐僧不用海飛絲

如需轉載,請後臺留言,遵守轉載規範

相關焦點

  • 周末AI課堂:非線性降維方法(理論篇)機器學習你會遇到的「坑」
    在上周的課程中,我們提到了降維的兩種分類方式:根據根據目標值(target)的參與與否,分為有監督降維和無監督降維;其二,根據高維空間與低維空間的關係,分為線性降維和非線性降維。並且還詳細地討論了兩種線性降維方法:PCA和LDA。
  • 基於貝葉斯推斷的回歸模型(理論篇)| 機器學習你會遇到的「坑」
    比如,高斯分布對於高斯類型的似然函數是其自身的共軛先驗,也就是說如果先驗是高斯,似然函數也是高斯,那麼後驗也會是高斯。但是我們可以用一個概率密度函數來指定屬性的類條件概率的估計,比如我們可以令條件概率為一個高斯分布:高斯分布由兩個參數(均值和標準差)唯一確定,我們在訓練分類器的過程,其實就是對每個屬性的每個類條件概率的參數進行估計,這裡面所用的方法就是極大似然估計。
  • 百度多篇論文入選NeurIPS 2020,機器學習領先算法、理論「強輸出」
    此次大會中,百度研究院參會並發表了多篇高質量論文,論文聚焦大規模稀疏學習的加速求解、新發現物種數量預測、隨機非凸優化、高維數據判別分析等問題,分別提出了創新算法及理論,突破原有算法在實際應用中泛化效果差、優化效率低等限制,有效提升AI技術在自然生態學、統計學習理論等領域中的應用價值,同時也彰顯出百度在人工智慧與機器學習領域的持續技術創新力。
  • 理解損失函數(代碼篇)機器學習你會遇到的「坑」
    換而言之,異常值會在MSE中佔到更大的比例,這樣並不合理。我們可以畫出簡單的圖像:......從圖中可以看出,同樣是數值為100的點,MSE的Loss會更大,當我們把這些全部加起來得到總體的Loss,數值與真實值偏離越大的比重也會越大。......
  • 周末AI課堂 理解softmax函數 | 機器學習你會遇到的「坑」
    AI課堂開講,就差你了!很多人說,看了再多的文章,可是沒有人手把手地教授,還是很難真正地入門AI。為了將AI知識體系以最簡單的方式呈現給你,從這個星期開始,芯君邀請AI專業人士開設「周末學習課堂」——每周就AI學習中的一個重點問題進行深度分析,課程會分為理論篇和代碼篇,理論與實操,一個都不能少!
  • 北京大學王立威教授:機器學習理論的回顧與展望(四)
    *機器學習前沿所作報告《機器學習理論:回顧與展望》編輯整理而來,雷鋒網在未改變原意的基礎上略作了刪減。王立威王立威,在北京大學教授主要研究領域為機器學習。在包括COLT, NIPS,JMLR, PAMI等權威會議期刊發表論文60餘篇。
  • 「機器學習」機器學習算法優缺點對比(匯總篇)
    假如你在乎精度(accuracy)的話,最好的方法就是通過交叉驗證(cross-validation)對各個算法一個個地進行測試,進行比較,然後調整參數確保每個算法達到最優解,最後選擇最好的一個。但是如果你只是在尋找一個「足夠好」的算法來解決你的問題,或者這裡有些技巧可以參考,下面來分析下各個算法的優缺點,基於算法的優缺點,更易於我們去選擇它。
  • 機器學習的統計方法 貝葉斯決策理論入門
    引言無論你是在建立機器學習模型還是在日常生活中做決定,我們總是選擇風險最小的方案。作為人類,我們天生就採取任何有助於我們生存的行動;然而,機器學習模型最初並不是基於這種理解而建立的。這些算法需要經過訓練和優化,以選擇風險最小的最優方案。此外,很重要的一點在於,我們必須明白,如果某些高風險的決定做的不正確,將會導致嚴重的後果。我們以癌症診斷為例。
  • 機器學習備忘錄 | AUC值的含義與計算方法
    內容導讀在機器學習領域, AUC 值經常用來評價一個二分類模型的訓練效果,對於許多機器學習或者數據挖掘的從業者或在校學生來說, AUC 值的概念也經常被提起,但由於大多數時候我們都是藉助一些軟體包來訓練機器學習模型,模型評價指標的計算往往被軟體包所封裝,因此我們常常會忽略了它們的具體意義,這在有些時候會讓我們對於手頭正在進行的任務感到困惑。
  • 機器學習是鍊金術?
    換一個下降的方向,很快就能優化到最低。如果你知道背後沒有可靠的科學理論,你會坐上飛機麼?」當然也有人立刻拋出不同意見。比如號稱「三巨頭」之一的Yann LeCun。他在Facebook上發表了一篇「長篇大論」進行了闡釋。
  • 機器學習助力凝聚態物理研究:實現拓撲量子計算的新希望
    最近發表在 Nature Physics 上的兩篇論文中,來自加拿大圓周理論物理研究所(Perimeter Institute)和蘇黎世聯邦理工學院的兩隻團隊都表示,訓練神經網絡觀察僅數百個原子的快照,就能搞清楚它們所處的相(phase of matter)。加拿大論文作者之一 Roger Melko工作原理非常類似於 Facebook 的自動標籤。
  • 量子機器學習入門科普:解讀量子力學和機器學習的共生關係
    在這篇文章中,計算機科學碩士Reena Shaw將用通俗的語言和形象的比喻帶你入門量子機器學習。△ 本文作者Reena Shaw在2017年的微軟Ignite大會上,微軟CEO Satya Nadella用玉米迷宮的形象比喻解釋了經典計算機和量子計算機之間的差異——為了找到迷宮的出口,經典計算機先開啟一條搜索路徑,遇到障礙物後會沿原路返回。
  • 科學家使用機器學習模型加速理論物理研究
    在他們本月發表在《物理評論快報》上的論文《格點規範理論的等變流採樣》中,他們展示了如何將物理理論的對稱性融入機器學習和人工智慧架構中,從而為理論物理提供更快的算法。「我們使用機器學習不是為了分析大量的數據,而是在不損害方法的嚴密性的情況下加速第一原理,」Shanahan說。
  • 阿里巴巴18篇論文入選機器學習頂會KDD 2020
    5月25日,國際機器學習頂會KDD 2020公布了論文入選結果,阿里巴巴18篇論文入選,是近幾年KDD會議論文入選數量最多的科技公司之一。據介紹,18篇論文中,涵蓋阿里巴巴在認知智能、曝光偏差、圖表示學習等前沿AI領域的研究突破。
  • 機器學習與數據分析常用術語-基礎篇(一)
    前言 之前在給公司的程式設計師培訓機器學習專題實戰的時候,發現他們聽的認真,也非常想學,但是每當問他們有哪裡不懂的時候,他們總是回答不出哪裡不懂,識懂非懂的狀態,後來我總結了一下原因,1.機器學習領域跟程序開發的區別非常大,機器學習屬於一個交叉學科,即需要數學也需要計算機學,難度相對與單學科要大些,2.機器學習領域有很多專業詞彙與術語,之前程式設計師都沒聽說過和接觸過
  • 文科生如何入門機器學習:先看看這篇零基礎教程,再多算幾遍
    文科生如何入門機器學習:先看看這篇零基礎教程,再多算幾遍 2019-08-05 08:04 來源:澎湃新聞·澎湃號·湃客
  • 如何用sklearn創建機器學習分類器?這裡有一份上手指南
    原作:Kasper Fredenslund林鱗 編譯自 Data Science Central量子位 出品 |分類器是數據挖掘中對樣本進行分類的方法的統稱,也是入坑機器學習的一項必備技能。這篇文章中,作者簡要介紹了用Python中的機器學習工具scikit-learn(sklearn)創建機器學習分類器的步驟與注意事項。
  • 機器人結構工程師薪資_中國機器學習工程師薪資 - CSDN
    來看看你距離成為一名AI工程師還有多遠吧~⭐具體內容:我是因為什麼開始接觸敲代碼人工智慧/機器學習/深度學習自學如何尋找學習資料如何選擇程式語言/框架校招/社招/實習/面試經驗一碗雞湯⭐聲明:本篇內容均屬於個人觀點,建議採納對自己有用的經驗,如有疏漏,歡迎指正,
  • 文科生如何入門機器學習:先看看這篇零基礎教程,再多算幾遍吧
    他們在普遍缺乏大學數學知識的情況下,就不能入門機器學習了嗎?最近有位Reddit網友David Code,他也是一名文科生,曾經在脫口秀節目《周六夜現場》工作過。後來他經過兩年「地獄式」的自學,十幾次的挫敗,最終掌握了機器學習的知識,並把他的經驗寫成了一個長篇博客。他說,長期以來編寫AI書籍和在線課程的都是專家,而這些人因為專業而會忽視初學者的能力。
  • 機器學習未來十年:你需要把握的趨勢和熱點
    人工智慧備受關注、取得革命性進步背後的推手,其實是「機器學習」。機器學習其實是一門多領域交叉學科,它涉及到計算機科學、概率統計、函數逼近論、最優化理論、控制論、決策論、算法複雜度理論、實驗科學等多個學科。機器學習的具體定義也因此有許多不同的說法,分別以某個相關學科的視角切入。