2019-03-06

ML——降維與度量學習

KNN學習

k近鄰(KNN)學習是一種常用的監督學習方法,可用于分類與回歸任務中。基本思想是:給定測試樣本,基于某種距離度量找出訓練集中與其最靠近的k個訓練樣本,然后基于這k個“鄰居”的信息進行預測。

KNN分類

通常,在分類任務中使用“投票法”,即選擇k個樣本中出現最多的類別標記作為預測結果;在回歸任務中使用“平均法”,即將k個樣本的實值輸出標記的平均值作為預測結果。還可基于距離遠近加權平均或加權投票。距離越近樣本權重越大。

k近鄰法三要素

距離度量、k值的選擇及分類決策規則是k近鄰法的三個基本要素。距離度量可計算測試實例與每個訓練實例的距離,根據k值選擇k個最近鄰點,最后根據分類決策規則將測試實例分類。

距離度量:特征空間中兩個樣本點的距離可看成是兩個樣本點相似程度的反映。樣本點x_i,x_jL_p距離定義為:

? ? ? ? ? ? ? ? ? ? ?L_p(x_i,x_j)=(\sum_{l=1}^n\vert x_{i}^{(l)} -x_{j}^{(l)} \vert^p  )^{\frac{1}{p} }

當p=1時,稱為曼哈頓距離(Euclidean distance);當p=2時,稱為歐氏距離(Euclidean distance);當p=∞時,它是各個坐標距離的最大值。

k值選擇:k值的選擇會對k近鄰法的結果產生重大影響。一般k值取一個比較小的數值,通常采用交叉驗證法選取最優的k值。

k值選取對knn的影響

分類決策規則:KNN中的分類決策規則往往是多數表決,即由輸入樣本的k個近鄰的訓練樣本中的多數類,決定輸入樣本的類。

KNN算法流程:

優點:1)理論成熟,思想簡單,既可做回歸也可做分類,且適用于非線性分類;2)訓練時間復雜度低,僅為O(n)(n為特征數);3)與NB相比對數據沒有假設,準確度高,對異常點不敏感等。

缺點:1)當特征數很多時,計算量巨大;2)樣本不平衡時,對稀有類別的預測準確率降低;3)使用懶惰學習,預測時速度要慢于LR之類的算法等。

低維嵌入

樣本的特征數稱為維數,在高維情形下出現的樣本數據稀疏、距離計算困難等問題常會導致“維數災難”。而緩解維數災難的一個重要途徑就是降維(維數約簡),即通過某種數學變換將原始高維屬性空間轉變為一個低維子空間。在這個子空間中,樣本密度大幅提高,同時簡化距離計算,高維空間中的樣本點在低維嵌入子空間中更易學習。

低維嵌入表示

MDS算法

多維縮放(MDS)算法是一種經典的降維方法,它要求原始空間樣本之間的距離在降維后的低維空間中得以保持。

假設m個樣本在原始空間距離矩陣為D\in R^{m\times m},其第i行j列元素dist_{ij}為樣本x_ix_j的距離,要獲得樣本在d'維空間的表示Z(d'×m維,d'<=d),且任意兩樣本在d'維空間的歐氏距離等于原始空間中的距離,||z_i-z_j||=dist_{ij}。令B=Z^TZ,其中B為降維后樣本的內積矩陣,b_{ij}=z_{i}^Tz_j ,有

(1)

為便于討論,令降維后的樣本Z被中心化,即\sum\nolimits_{i=1}^m z_i=0 。顯有B的行與列之和均為0,即\sum\nolimits_{i=1}^mb_{ij}=\sum\nolimits_{j=1}^mb_{ij}  =0,易知

由上式可得b_{ij}=(1)-\frac{1}{m} (2)-\frac{1}{m} (3)+\frac{1}{m^2} (4)。逐一計算,就得到降維后低維空間中內積矩陣B,只需對B進行特征值分解就可得到Z。MDS算法流程如下:

MDS算法

主成分分析(PCA)

PCA是最常用的一種線性降維方法,如圖要將數據從二維降到一維,用某一個維度方向代表這兩個維度的數據。圖中列出的兩個向量方向u1和u2,直觀來看u1更好,因為樣本點到它的距離更近,或者說樣本點在這個直線上的投影能盡可能的分開。這也就得到了PCA兩種等價推導:

最近重構性:樣本點到這個超平面的距離都足夠近;

最大可分性:樣本點在超平面上的投影盡可能分散開來。

雖然以上兩種方法從不同的出發點來定義優化問題中的目標函數,但最終它們都得到了相同的優化問題:

優化目標

使用Lagrange乘子法求解上述優化問題得:

故只需對協方差矩陣進行特征值分解求解出W。PCA算法流程如下:

PCA算法流程

有時候不指定降維后d'的值,而是指定一個降維到主成分比重閾值t,t\in (0,1]。若d個特征值為\lambda _1\geq \lambda _2\geq ...\geq \lambda _n,則d'可通過下式取得:

優點:1)僅以方差衡量信息,不受數據集以外因素的影響;2)各主成分之間正交,消除原始數據成分間相互影響的因素;3)計算方法簡單,易于實現。

缺點:1)主成分各特征維度含義解釋性差;2)丟棄的方差小的非主成分可能含有樣本差異的重要信息。

核化線性降維

線性降維方法假設從高維空間到低維空間的函數映射是線性的,然而現實任務中可能需要非線性映射才能找到恰當的低維嵌入,核主成分分析(KPCA)就是一種基于核技巧的非線性降維方法。

若核函數形式已知,即知曉如何將低維的坐標變換為高維坐標,此時只需先將數據映射到高維特征空間,再在高維空間中運用PCA即可。但一般情形下并不知道核函數具體映射規則,只知如何計算高維空間中的樣本內積。對此,KPCA的創新之處在于:空間中的任一向量,都可由該空間中的所有樣本線性表示

假定z_i是由原始特征空間中的樣本點x_i通過映射產生,即z_i=\phi (x_i),i=1,2,...,m,高維特征空間中的投影向量w_i可用所有高維樣本點線性表出,接著代入PCA求解問題:

由上式發現只需對核矩陣K進行特征分解,便可得出投影向量wi對應的系數向量\alpha ,因此取K最大的d'個特征值對應的特征向量即可。對新樣本x,其降維后的坐標為:

由上式也可以看出,為獲得投影后的坐標,KPCA需對所有樣本求和,其計算開銷較大。

流形學習

Y\subset R^d是一個低維流形,f:Y\rightarrow R^D是一個光滑嵌入,其中D>d。數據集\left\{ y_i \right\} 是隨機生成的,且經過f映射為觀察空間的數據\left\{ x_i=f(y_i) \right\} 。流形學習就是在給定觀察樣本集\left\{ x_i \right\} 的條件下重構f和\left\{ y_i \right\} ,以實現維數約簡或者數據可視化。下面介紹幾種代表算法。

等度量映射(Isomap)

Isomap引入測地線距離來表示潛在流形上點與點之間的距離,并在降維過程中保持該距離不變。如圖(a)中的紅色線段表示的就是流形上的測地線距離。Isomap建立在MDS的基礎上,保留的是非線性數據的本質幾何結構,即任意點對之間的測地線距離。

為計算測地線距離,可利用流形在局部上與歐式空間同胚的性質,對每個點基于歐式空間距離找出其近鄰點,在每個數據點和其近鄰點間添加加權邊,得到一個連接圖。距離較遠的數據點間的測地線距離可通過最短距離近似。

Isomap算法流程

在計算近鄰時,若近鄰范圍指定得較大,則距離較遠的點可能被誤認為近鄰,出現“短路”;若近鄰范圍指定的較小,則圖中有些區域可能與其他區域不存在連接,出現“斷路”。都會誤導后面計算最短路徑。

局部線性嵌入(LLE)

與Isomap試圖保持近鄰樣本間的距離不同,LLE試圖保持近鄰內樣本間的線性關系。

高維空間的樣本重構關系在低維空間中得以保持

如圖,假定樣本點xi的坐標能通過其近鄰樣本線性重構,即x_i=w_{ij}x_j+w_{ik}x_k+w_{il}x_l,LLE希望該式關系在低維空間中得以保持。

LLE算法分為兩步,step1 根據近鄰關系計算出所有樣本的鄰域重構系數w

step2 根據鄰域重構系數不變,求解低維坐標:

利用矩陣M,優化問題可重寫為:

\mathop{\min}_{Z} tr(ZMZ^T)  \\s.t.ZZ^T=I

對上式進行特征值分解,M最小的d'個特征值對應的特征向量組成的矩陣即為Z^T。LLE具體算法流程如下:

LLE具體算法流程

度量學習

在ML中,對高維數據進行降維是希望找到一個合適的低維空間,在此空間中進行學習能比原始空間性能更好。尋找合適的空間,實質上就是找一個合適的距離度量,因此衍生了度量學習。

欲對距離度量進行學習,須有便于學習的距離度量表達形式。對d維樣本xi和xj,它們之間的平方歐式距離記做:

dist_{ed}^2(x_i,x_j) =||x_i-x_j||_{2}^2=dist_{ij,1}^2  +dist_{ij,2}^2...+dist_{ij,d}^2

其中dist_{ij,k}表示x_ix_j在第k維上的距離。若假定不同屬性重要性不同,可引入屬性權重w得:

dist_{wed}^2(x_i,x_j) =||x_i-x_j||_{2}^2=w_1\cdot dist_{ij,1}^2  +w_2\cdot dist_{ij,2}^2...+w_d\cdot dist_{ij,d}^2=(x_i-x_j)^TW(x_i-x_j)

其中W=diag(w)是一個對角矩陣,(W)_{ii}=w_i

此時各個屬性之間都是相互獨立無關的,但現實中往往存在屬性相關的情形,因此將W替換為半正定對稱陣,得到馬氏距離

dist_{mah}^2(x_i,x_j) =(x_i-x_j)^TM(x_i-x_j)=||x_i-x_j||_{M}^2

標準馬氏距離中M是協方差矩陣的逆,馬氏距離是一種考慮屬性相關且尺度無關(無需去量綱)的距離度量:

? ? ? ? ? ? ? ? ? ? ?d(\vec{x} ,\vec{y} )=\sqrt{(\vec{x} -\vec{y} )^T\Sigma ^{-1}(\vec{x} -\vec{y} )}

矩陣M也叫“度量矩陣”,度量學習就是對M進行學習,為保證距離度量的非負性與對稱性,M必須為(半)正定對稱陣,即必有正交基P使得M=PP^T

總結

降維是將高維空間嵌入到一個合適的低維子空間中,接著在低維空間中進行學習任務;

度量學習則是試圖去學習出一個距離度量來等效降維的效果;

兩者都是為了解決維數災難引發的問題。在降維算法中,低維子空間的維數d’通常人為指定,因此需用一些低開銷的學習器選取合適的d’,kNN屬于懶惰學習,在訓練階段開銷為零,測試階段也只是遍歷計算了距離,因此拿kNN來進行交叉驗證就十分有優勢,同時降維后樣本密度增大同時距離計算變易。


周志華《機器學習》

https://blog.csdn.net/u011826404/article/details/72123031

https://www.cnblogs.com/pinard/category/894692.html

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,013評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,346評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,421評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,146評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,534評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,767評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,318評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,074評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,258評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,486評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,916評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,156評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,993評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,234評論 2 375

推薦閱讀更多精彩內容