半監(jiān)督學習|深度學習(李宏毅)(九)

一仙粱、介紹

  1. 什么是半監(jiān)督學習

假設有以下數(shù)據蚪黑,一部分是有標簽的數(shù)據膏斤,另一部分是無標簽的數(shù)據:

\left \{(x^{r},\hat{y}^{r})\right \}_{r=1}^{R},\left \{x^{u}\right \}_{u=R}^{R+U}

在實際情況下徐绑,一般無標簽數(shù)據的量遠大于有標簽數(shù)據的量,即U\gg R莫辨,因為為數(shù)據進行標注是需要成本的傲茄。半監(jiān)督學習使用大量的未標記數(shù)據,以及同時使用標記數(shù)據沮榜,來進行模式識別工作盘榨。

  1. 半監(jiān)督學習的分類

半監(jiān)督學習可以分為transductive semi-supervised learning和inductive semi-supervised learning兩種,他們的區(qū)別在于:
①transductive semi-supervised learning:未標注數(shù)據X_{unlabel}是測試數(shù)據蟆融,訓練集D=\left \{X_{train},y_{train},X_{unlabel}\right \}草巡,在測試時我們不管X_{test}(或者沒有X_{test}),而是想知道對X_{unlabel}的效果怎么樣型酥;
②inductive semi-supervised learning:未標注數(shù)據X_{unlabel}不是測試數(shù)據捷犹,也就是說訓練集D=\left \{X_{train},y_{train},X_{unlabel}\right \},測試X_{test}冕末。

  1. 為什么半監(jiān)督學習可能會有用

無標簽數(shù)據雖然沒有標簽但是它的分布可能會提供一些有用的信息萍歉。在進行半監(jiān)督學習時通常會伴隨一些假設,半監(jiān)督學習效果好不好往往取決于這些假設合不合理档桃。

  1. Outline

接下來將包含以下內容枪孩,其中包含兩種假設:

Outline

二、生成模型的半監(jiān)督學習

生成模型

對于生成模型藻肄,如果再考慮進無標簽數(shù)據就有可能影響模型的均值蔑舞、方差以及決策邊界。

無標簽數(shù)據對生成模型的影響

可以使用EM算法對模型(這里以兩個不同均值相同方差的高斯分布為例)進行更新嘹屯,該更新過程會收斂攻询,最終獲得新的生成模型,該過程的步驟如下:

首先初始化參數(shù)\theta =\left \{P(C_{1}),P(C_{2}),\mu ^{1},\mu ^{2},\Sigma \right \}州弟,可以選擇隨機初始化钧栖,也可以選擇使用標注數(shù)據初始化一個模型。
Step1(E步):計算未標注數(shù)據的后驗概率P_{\theta }(C_{1}|x_{u})婆翔;
Step2(M步):更新模型
P(C_{1})=\frac{N_{1}+\sum _{x^{u}}P(C_{1}|x^{u})}{N}\\ \mu _{1}=\frac{1}{N_{1}}\sum _{x^{r}\in C_{1}}x^{r}+\frac{\sum _{x^{u}}P(C_{1}|x^{u})x^{u}}{\sum _{x^{u}}P(C_{1}|x^{u})}\\ 同樣地更新P(C_{2})拯杠、\mu _{2}
迭代執(zhí)行上述步驟直到收斂。這里沒有更新\Sigma的原因是\Sigma是共享的啃奴,并不影響迭代過程潭陪。

如果只有標注數(shù)據則只需要極大化以下對數(shù)似然函數(shù)即可求解,且有閉式解:

logL(\theta )=\sum _{x^{r}}logP_{\theta }(x^{r},\hat{y}^{r})=\sum _{x^{r}}logP_{\theta }(x^{r}|\hat{y}^{r})P(\hat{y}^{r})

如果考慮進未標注數(shù)據就要極大化以下對數(shù)似然函數(shù):

logL(\theta )=\sum _{x^{r}}logP_{\theta }(x^{r},\hat{y}^{r})+\sum _{x^{u}}logP_{\theta }(x^{u})\\ 其中P_{\theta }(x^{u})=P_{\theta }(x^{u}|C_{1})P(C_{1})+P_{\theta }(x^{u}|C_{2})P(C_{2})

而極大化上式是沒有閉式解的,因此需要迭代的方式來進行參數(shù)的更新依溯,也就是說完成一次上述的E步和M步就會使對數(shù)似然函數(shù)增大一點老厌,最終該方法會收斂。

三黎炉、低密度分離假設

  1. 簡介

該假設是指在不同的類別的分界處幾乎是沒有數(shù)據的(低密度)梅桩,也就是說不同類別之間有明顯的分界的鴻溝,可以認為數(shù)據是“非黑即白”的拜隧。

在下圖中兩種分割方式雖然都能將標注數(shù)據100%地分開宿百,但是如果考慮進未標注數(shù)據的話顯然左邊的線效果更好,因此未標注數(shù)據的作用就是挑選一條效果更好的分割線洪添。

非黑即白
  1. Self Training(自學習)

自學習是低密度假設最簡單的方法垦页,其主要步驟如下:

Step1:利用標注數(shù)據訓練一個模型f^{*},訓練的方法不受限制干奢;
Step2:將f^{*}應用到未標注數(shù)據上獲得\left \{(x^{u},\hat{y}^{u})\right \}_{u=1}^{U}痊焊,也就是為未標注數(shù)據打上標簽,叫做偽標簽(Pseudo-label)忿峻;
Step3:將未標注數(shù)據中的數(shù)據移出一部分作為標注數(shù)據薄啥,數(shù)據的選取標準可以自行設定,比如使用置信度或者權重等逛尚;
Step4:迭代執(zhí)行上述過程直到全部數(shù)據被標注垄惧。

注意自學習的方法對回歸任務是不適用的,因為如果用f^{*}標注一些未標注數(shù)據然后再訓練一個f^{*}還會得到原來的f^{*}绰寞。

另外這里還有硬標簽軟標簽兩個概念到逊,在生成模型中我們使用軟標簽(即使用數(shù)據作為每一類的概率),而在自學習中使用的是硬標簽(即強行根據設定的方法將未標注數(shù)據劃歸到某一類中)滤钱。

可以考慮在使用神經網絡訓練模型的自學習過程中觉壶,如下圖所示,如果使用軟標簽則更新模型時新的標注數(shù)據不會起作用(因為已有模型已經可以輸出軟標簽的結果)件缸,而使用硬標簽就可以起到更新模型的效果:

神經網絡
  1. Entropy-based Regularization

上面提到的使用硬標簽的方式可能會讓人覺得過于武斷铜靶,這里的Entropy-based Regularization將介紹一種新的方式,同樣地構建的模型輸出一個與類別數(shù)量同樣維度的向量他炊,每個維度代表該樣本屬于該類的概率争剿,即y^{u}=f^{*}_{\theta^{*}}(x^{u}),這里的y^{u}是一個向量:

模型輸出向量

我們的目的是為了使得模型獲得x^{u}作為輸入時能輸出下面展示的比較好的標簽向量(第1佑稠、2種情況)秒梅,也就是說要盡可能地使得輸出的標簽的數(shù)值集中在某一維度:

3種輸出的情況

接著我們定義信息熵的概念旗芬,信息熵會告訴我們分布的集中程度舌胶,比較集中的分布就會有比較小的信息熵。在上圖中疮丛,前兩種情況的交叉熵就會比較小幔嫂,而第三種情況的交叉熵就會比較大辆它,交叉熵的計算公式如下:

E(y^u)=-\sum\limits_{m=1}^n y_m^u ln(y_m^u)

我們的目的是需要讓標注數(shù)據的交叉熵和未標注數(shù)據的信息熵都要小,也就是說對于訓練的模型來說要使得標注數(shù)據的預測正確且未標注數(shù)據的預測集中履恩,因此我們使用以下?lián)p失函數(shù):

L=\sum _{x^{r}}C(y^{r},\hat{y}^{r})+\lambda \sum _{x^{u}}E(y^u)

上式中\lambda可以用來調節(jié)哪一部分更重要锰茉,這一過程類似于正則化的過程,Entropy-based Regularization也因此而得名切心。

  1. 概覽:Semi-supervised SVM(半監(jiān)督支持向量機)

半監(jiān)督支持向量機的做法大體是對于未標注數(shù)據而言可以窮舉其label所有可能的情況飒筑,然后對每一種情況訓練一個SVM,訓練的目標是:

①要有最大的margin绽昏,讓這兩個class分的越開越好协屡;
②要有最小的分類錯誤。

如下圖所示全谤,在窮舉訓練的過程中挑選最大margin和最小error的模型肤晓,該模型對應的未標注數(shù)據的標簽就是最好的情況:

Semi-supervised SVM

這種方法的缺點就是對于很多的未標注數(shù)據窮舉的方式幾乎不可能完成,因此該方法的作者提供了一種approximate的方法认然,其基本精神是:一開始首先獲得未標注數(shù)據的標簽补憾,然后改一筆數(shù)據的標簽看看可不可以使上面提到的度量標準變得好一點,如果可以就保留該標簽的變動卷员。

四盈匾、平滑性假設

  1. 概念

如果未標注數(shù)據不是均勻分布的,則同樣類別的數(shù)據之間應該會通過一塊高密度區(qū)域連接在一起毕骡,比較精確的定義是:
x的分布是不均勻的威酒;
②如果x^{1}x^{2}在一個高密度區(qū)域上相距很近的話,那么\hat{y}^{1}\hat{y}^{2}就應該是相同的挺峡。

在下圖中雖然x^{2}x^{3}的距離很近但是它們之間沒有過渡的數(shù)據跌造,因此它們的標簽一般不相同,而x^{1}x^{2}之間有一個高密度區(qū)域举户,所以它們的標簽很可能相同蕉世。

平滑性假設
  1. 支持平滑性假設的一些例子
  • 數(shù)字識別

在下圖中,可能兩個“2”看起來并不像而第二個“2”和“3”看起來更像一點狭姨,因此容易誤分類宰啦。但如果數(shù)據中兩個“2”之間有多個過渡形態(tài),則可以利用平滑性假設將兩個“2”正確分類到一起:

數(shù)字識別
  • 人臉識別

在人臉識別過程中也同理饼拍,因為兩張人臉之間有逐漸過渡的狀態(tài)赡模,因此可以將同一個人的人臉識別出來:

人臉識別
  • 文檔分類

同一類別的文章可能會有專屬的詞匯,如果如下圖某些詞既出現(xiàn)在標注的文檔里也出現(xiàn)在未標注的文檔里师抄,那么分類工作會變得容易些:

詞匯重合

但是實際中往往不會出現(xiàn)重合的詞匯漓柑,這是因為自然語言中的詞匯是多種多樣的,即使是同一類別的文章也可能不出現(xiàn)重合的詞匯,如下圖:

詞匯不重合

但是如果有足夠多的未標注數(shù)據則可以根據詞匯間的過渡關系進行正確的分類:

詞匯過渡
  1. 平滑性假設的一種簡單實現(xiàn)方法

一種簡單的實現(xiàn)方法是聚類后標簽(cluster and then label)辆布,這種方法是先將數(shù)據進行聚類然后根據平滑性假設獲得數(shù)據的標簽瞬矩。

cluster and then label

這種方法是很直觀的,但是這種方法不一定會得到好的結果锋玲,因為它的假設是你可以把同一類的樣本點聚類在一起景用,而這其實是不容易的。

舉例來說惭蹂,在圖像分類中如果單純地將圖像按照像素的相似程度聚類到一起得到的效果一般會很差伞插,需要設計一個較好的表示來描述圖像(比如使用Deep AutoEncoder的方式來提取特征),這樣的效果會好一些盾碗。

  1. 基于圖的方法
  • 定性使用基于圖的方法

使用圖來表示數(shù)據與數(shù)據之間通過高密度區(qū)域相連會有很好的效果蜂怎,有的數(shù)據之間建立圖的關系是很自然的比如網頁之間的鏈接關系或論文之間的引用關系。通過構建圖可以直觀地表示數(shù)據之間的連接關系:

Graph-based Approach

構建圖的具體方法是通過定義數(shù)據之間的相似性(similarity)來決定數(shù)據與數(shù)據之間是否有邊(edge)相連置尔,定義s(x^{i},x^{j})可以衡量相似性杠步。對于構建的數(shù)據之間的邊,可以給邊設置權重來表示數(shù)據之間相似性的強弱榜轿,這個權重應該是同s(x^{i},x^{j})成正比的幽歼。

通常使用的s(x^{i},x^{j})是徑向基函數(shù)(RBF),其公式如下:

s(x^{i},x^{j})=exp(-\gamma \left \|x^{i}-x^{j} \right \|^{2})

通常需要自己去尋找相似性的度量方法谬盐,比如在圖像處理中如果使用圖像像素之間的接近程度作為相似性的度量標準往往效果不太好甸私,但是如果使用Deep AutoEncoder獲得的圖像的特征來進行度量效果就會好一點。

可以看到該函數(shù)由于具有指數(shù)的關系飞傀,只有當x^{i}x^{j}非常接近時才會有比較大的相似性皇型,而稍微距離有點遠就會使得相似性不高,由此避免了將下圖中綠色點和紅色點看做高相似性的情況的發(fā)生:

避免誤判相似性

在有了相似性的度量標準后要有具體的方法來決定兩個數(shù)據之間是否有邊砸烦,有兩種方法:
①K Nearest Neighbor:設定一個K值弃鸦,將每個點與距離自己最近的前K個點相連;
②e-Neighborhood:將每個與距自己的距離小于e的點相連幢痘。

K Nearest Neighbor和e-Neighborhood

圖的作用是使得標簽可以在相連的其他樣本之間傳遞唬格,如下圖所示,一個數(shù)據的類別將影響它的臨近點颜说」焊冢基于圖的方法的基本精神是,在圖上已經有一些標注數(shù)據门粪,那么跟它們相連的樣本喊积,屬于同一類的概率就會上升,每一筆數(shù)據都會去影響它的鄰居玄妈。而圖帶來的最重要的好處是乾吻,這個影響是會隨著邊傳遞出去的髓梅,即使有些點并沒有真的跟標注數(shù)據相連,也可以被傳遞到相應的屬性:

標簽的傳遞
  • 定量使用基于圖的方法

我們定義圖的smooth值溶弟,并且我們希望使用訓練的模型構建的圖的smooth值越小越好女淑。

我們通過以下公式定義圖的平滑度(smoothness):

S=\frac{1}{2}\sum _{i,j}w_{i,j}(y^{i}-y^{j})^{2}

計算S要將所有數(shù)據點考慮在內瞭郑,無論標注數(shù)據還是未標注數(shù)據辜御,而且S越小平滑度就越高。下圖為計算S的兩個例子:

example

在上圖中顯然左邊的更平滑屈张。左邊的圖的特點是其環(huán)狀的節(jié)點都是同樣的標簽擒权,而右邊的圖的環(huán)狀的節(jié)點的標簽不同,因此可以看出我們的目的是使得構建的圖的數(shù)據較集中的部分具備一致的標簽阁谆,這也是使S盡可能要小的作用碳抄。

可以將S寫成矩陣或向量相乘的形式:

S=\frac{1}{2}\sum _{i,j}w_{i,j}(y^{i}-y^{j})^{2}=y^{T}Ly

上式中yR+U維的向量,y=\begin{bmatrix} \cdots & y^{i} & \cdots & y^{j} & \cdots \end{bmatrix}^{T}场绿;
L=D-W剖效,叫做Graph Laplacian,DW計算方式如下焰盗,其中W相當于鄰接矩陣璧尸,D的對角線元素是該元素所在行的所有元素的和:

D和W計算方式

在模型訓練過程中需要使用以下激活函數(shù),將S作為一個正則化項熬拒,如此訓練的模型才會越來越平滑:

L=\sum _{x^{r}}C(y^{r},\hat{y}^{r})+\lambda S

具體訓練的時候爷光,不一定只局限于模型的輸出要smooth,可以對中間任意一個隱藏層加上smooth的限制:

smooth的限制

五澎粟、Better Representation

這部分只做簡單介紹蛀序,等到無監(jiān)督學習的時候再具體介紹。Better Representation的精神是去蕪存菁活烙,化繁為簡徐裸。Better Representation旨在尋找未標注數(shù)據的更好的表達。

舉個例子啸盏,在神雕俠侶中倦逐,楊過要在三招之內剪掉樊一翁的胡子,胡子的變化是比較復雜的宫补,但頭的變化是有規(guī)律的檬姥,楊過看透了這一件事情就可以把胡子剪掉。在這個例子中粉怕,樊一翁的胡子就是original representation健民,而他的頭就是你要找的better representation。

example
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末贫贝,一起剝皮案震驚了整個濱河市秉犹,隨后出現(xiàn)的幾起案子蛉谜,更是在濱河造成了極大的恐慌,老刑警劉巖崇堵,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件型诚,死亡現(xiàn)場離奇詭異,居然都是意外死亡鸳劳,警方通過查閱死者的電腦和手機狰贯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赏廓,“玉大人涵紊,你說我怎么就攤上這事♂C” “怎么了摸柄?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長既忆。 經常有香客問我驱负,道長,這世上最難降的妖魔是什么患雇? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任跃脊,我火速辦了婚禮,結果婚禮上庆亡,老公的妹妹穿的比我還像新娘匾乓。我一直安慰自己,他們只是感情好又谋,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布拼缝。 她就那樣靜靜地躺著,像睡著了一般彰亥。 火紅的嫁衣襯著肌膚如雪咧七。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天任斋,我揣著相機與錄音继阻,去河邊找鬼。 笑死废酷,一個胖子當著我的面吹牛瘟檩,可吹牛的內容都是我干的。 我是一名探鬼主播澈蟆,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼墨辛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了趴俘?” 一聲冷哼從身側響起睹簇,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤奏赘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后太惠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磨淌,經...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年凿渊,在試婚紗的時候發(fā)現(xiàn)自己被綠了梁只。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡嗽元,死狀恐怖敛纲,靈堂內的尸體忽然破棺而出喂击,到底是詐尸還是另有隱情剂癌,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布翰绊,位于F島的核電站佩谷,受9級特大地震影響,放射性物質發(fā)生泄漏监嗜。R本人自食惡果不足惜谐檀,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裁奇。 院中可真熱鬧桐猬,春花似錦、人聲如沸刽肠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽音五。三九已至惫撰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間躺涝,已是汗流浹背厨钻。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坚嗜,地道東北人夯膀。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像苍蔬,于是被迫代替她去往敵國和親诱建。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351