什么是半監(jiān)督學(xué)習(xí)呢厌秒,我們都知道有監(jiān)督學(xué)習(xí)是數(shù)據(jù)都有特征和標(biāo)簽儒喊,而半監(jiān)督的數(shù)據(jù)除了R部分有標(biāo)簽的供汛,還有U部分無標(biāo)簽但是有特征的痢缎。半監(jiān)督學(xué)習(xí)也分為transductive learning和inductive learning胁勺,前者是訓(xùn)練時(shí)已知測試數(shù)據(jù)的學(xué)習(xí),而后者是訓(xùn)練好后独旷,拿去訓(xùn)練未知的測試集
我們假設(shè)要做貓狗的分類署穗,我們可以根據(jù)不同顏色,直接選擇邊界來分類
假設(shè)我們多了一些未標(biāo)記的灰色點(diǎn)嵌洼,形成新的分布案疲,我們可能就會(huì)考慮新的邊界
半監(jiān)督學(xué)習(xí)往往伴隨著假設(shè),灰色的點(diǎn)也可能是個(gè)狗不過背景比較像麻养,所以學(xué)習(xí)有沒有用常常取決于假設(shè)合不合理
我們會(huì)講半監(jiān)督學(xué)習(xí)用于生成模型褐啡,還要講2種假設(shè)方法,最后提到有一種更好的陳述鳖昌,但這個(gè)要放到無監(jiān)督學(xué)習(xí)那里講
我們回顧下有監(jiān)督學(xué)習(xí)备畦,我們判別樣本x屬于C1,C2時(shí),通過假設(shè)高斯分布许昨,同一個(gè)協(xié)方差懂盐,我們可以求出x屬于C1的概率,而且可以找到一個(gè)合適的邊界
而半監(jiān)督學(xué)習(xí)實(shí)際樣本的和有標(biāo)簽樣本得到的可能不一樣车要,所以我們需要無標(biāo)簽的樣本幫助我們重新估計(jì)優(yōu)先概率prior,還有均值崭倘,方差翼岁,從而生成新的邊界
半監(jiān)督學(xué)習(xí)我們可以通過已有標(biāo)簽的數(shù)據(jù)先計(jì)算出參數(shù),里面分別是2個(gè)優(yōu)先概率司光,2個(gè)均值琅坡,和方差,我們第一步呢就是先根據(jù)model得出
參數(shù)下残家,取出無標(biāo)簽的樣本榆俺,是C1的概率,第二步就是更新模型坞淮,優(yōu)先概率考慮無標(biāo)簽的樣本可能性茴晋,均值同理考慮了樣本*概率求和后一般化
更新模型后把參數(shù)進(jìn)一步迭代,理論上會(huì)得到收斂回窘,但是初始帶標(biāo)簽的樣本會(huì)影響到最終結(jié)果
我們做監(jiān)督學(xué)習(xí)時(shí)可以衡量有標(biāo)簽的數(shù)據(jù)的可能性诺擅,當(dāng)有無標(biāo)簽的部分?jǐn)?shù)據(jù)(半監(jiān)督學(xué)習(xí))時(shí),我們就增加了無標(biāo)簽項(xiàng)出現(xiàn)的概率的log項(xiàng)啡直,這個(gè)無標(biāo)簽項(xiàng)既可能來自C1也可能來自C2烁涌,我們想讓其最大化苍碟,但是這個(gè)數(shù)據(jù)是不可導(dǎo)的,只能通過一次次迭代收斂
我們機(jī)器學(xué)習(xí)的一種假設(shè)就是分割處的密度是比較低的撮执,也就是一種‘非黑即白’的描述微峰,下圖2種邊界在訓(xùn)練集都100%準(zhǔn)確率,但是考慮到測試集抒钱,我們可能左側(cè)的分類效果會(huì)好一點(diǎn)
我們基于這種假設(shè)可以采用self-training的方法蜓肆,利用帶標(biāo)簽的數(shù)據(jù)訓(xùn)練(邏輯回歸,神經(jīng)網(wǎng)絡(luò)继效,決策樹等)出模型,將一組無標(biāo)簽的數(shù)據(jù)帶入症杏,得到新的標(biāo)簽,將新標(biāo)簽數(shù)據(jù)和無標(biāo)簽數(shù)據(jù)結(jié)合到一起瑞信,得到訓(xùn)練新的模型厉颤,如此反復(fù),問題常常是我們怎么去選擇這么一組數(shù)據(jù)凡简。
老師問到逼友,如果模型是用線性回歸,那我們?nèi)ミ@么做有意義嗎秤涩,其實(shí)是沒用的帜乞,因?yàn)樾庐a(chǎn)生的模型不變
self-trainning和之前講的generative model很類似,區(qū)別在于前者的標(biāo)簽是hard label即我們非黑即白筐眷,離誰近就是誰黎烈,后者是軟標(biāo)簽,還有概率成分匀谣,如果我們訓(xùn)練參數(shù)是0.7,0.3照棋,硬標(biāo)簽會(huì)將其置為0,1,而軟標(biāo)簽對(duì)其沒有變化= =武翎,相當(dāng)于沒起作用
上面的進(jìn)階型基于熵的正則烈炭,我們根據(jù)參數(shù)可以得到無標(biāo)簽的輸出概率,我們按低密度分割考慮宝恶,同類里分布應(yīng)該是比較密集的符隙,左下3種分布前2種比較密集,第三種就比較平均(不好)垫毙,我們就考慮引入熵的公式霹疫,將3種情況帶入可以得到,前2個(gè)的熵是0综芥,第三個(gè)最大是ln5更米,所以一般這個(gè)熵越小越好,
所以我們的損失函數(shù)加上了無標(biāo)簽部分的熵的正則項(xiàng)毫痕,來決定是根據(jù)樣本數(shù)據(jù)多一點(diǎn)還是考慮將熵減少(分類更明顯)多一點(diǎn)
我們還沒有講SVM征峦,這里先簡介下迟几,比如我們有一組數(shù)據(jù),下圖做栏笆,4個(gè)未標(biāo)記类腮,我們做SVM就是找到一個(gè)邊界,是間隔最大同時(shí)最小錯(cuò)誤率蛉加,我們對(duì)未標(biāo)簽的做假設(shè)蚜枢,有其中幾種可能如右,我們可以分別作出他的SVM针饥,最后從中選出分類邊距最大的厂抽,就選擇方框中的,有人會(huì)說我們?nèi)绻蠱個(gè)未標(biāo)簽數(shù)據(jù)丁眼,豈不是要做個(gè)假設(shè)筷凤,其實(shí)我們實(shí)際做SVM,都是改一筆data的label看假設(shè)是否使邊界變大苞七,如果變大就采用假設(shè)
我們的第二種假設(shè)就是近朱者赤近墨者黑
我們有人就會(huì)說如果特征x接近藐守,那么他們就有相同的y,其實(shí)這是不準(zhǔn)確的蹂风。
準(zhǔn)確的說應(yīng)該是x分布不均勻的卢厂,如果x1,x2較相近且在一個(gè)高密度的區(qū)域里,那么他們的標(biāo)簽就相同惠啄,就如圖中的x1,x2慎恒,看x特征好像x2,x3比較近,但實(shí)際上x1,x2在一簇里撵渡,而x3在另一簇
我們舉幾個(gè)例子融柬,比如我們手寫數(shù)字,2個(gè)2姥闭,一個(gè)帶一個(gè)包圍的彎丹鸿,一個(gè)沒有越走,可能后邊的2反而和3比較像棚品,但是看大部分沒標(biāo)簽的數(shù)據(jù),我們會(huì)發(fā)現(xiàn)這2個(gè)2其實(shí)是通過很多個(gè)過渡的2連接在一起廊敌,但是2和3雖然比之前的2接近铜跑,但是他們之間并沒有過渡的數(shù)據(jù)。
又比如左側(cè)人臉和右側(cè)人臉骡澈,從圖片數(shù)據(jù)上可能另一個(gè)左側(cè)人臉和圖片左側(cè)人臉都比較接近锅纺,但是當(dāng)引入過渡數(shù)據(jù)(不同角度的人臉后)就會(huì)發(fā)現(xiàn)其實(shí)他們是1類
我們可以用聚類后打標(biāo)簽的方法,比如聚類后分成了3類肋殴,每類里都已經(jīng)包含部分帶標(biāo)簽的,就定義這類都是以包括范圍內(nèi)最多的帶標(biāo)簽的標(biāo)簽(這有時(shí)候不準(zhǔn)確,不如self-learning)
我們另一種方法是基于圖像的接近法鹰贵,比如我們找到幾個(gè)數(shù)據(jù)的相互聯(lián)系够滑,然后就能把他們連起來,最后如果2個(gè)數(shù)據(jù)能通過圖連起來侦另,那他們就是一個(gè)類。如何將圖連起來呢,比如我們找網(wǎng)頁間的關(guān)系赤炒,他們有超鏈接引用,或者論文間相互引用亏较,而有的時(shí)候你就需要鏡子去建立這種關(guān)系圖
我們基于圖的假設(shè)都有哪些做法呢莺褒,一般是定義一個(gè)相似度函數(shù),比如我們定義KNN雪情,找K個(gè)最近的連在一起遵岩,或者en,找到半徑e內(nèi)的連在一起旺罢,還有一種是算相似度函數(shù)跟距離的平方得e次冪的倒數(shù)旷余,兩個(gè)一旦距離遠(yuǎn)就相似度下降很快,所以只有很近的才能連接到一起
我們找到距離Class1比較近的點(diǎn)扁达,根據(jù)連接就認(rèn)為連接的點(diǎn)是Class1正卧,而這種方式是會(huì)傳遞擴(kuò)散的,但是如果數(shù)據(jù)量不夠的話跪解,可能有些過渡點(diǎn)就沒有連接上
我們先看下圖下面2組分布炉旷,已知x2,x3分類是1,x4是0叉讥,我們假設(shè)x1是1,0就得到2種情況窘行,我們會(huì)認(rèn)為左側(cè)的比較smooth,我們就需要定義一個(gè)函數(shù)來評(píng)定平滑程度图仓,對(duì)所有的數(shù)據(jù)(不管是否有標(biāo)簽)罐盔,兩兩計(jì)算權(quán)重乘以預(yù)測結(jié)果(有標(biāo)簽為真實(shí)結(jié)果)之間的平方再求和,這個(gè)函數(shù)越小證明越平滑
我們具體怎么做呢救崔,我們可以將y定義為R+U維度的向量惶看,那么s就可以寫成上式,這個(gè)矩陣L=D-W六孵,其中W是兩兩間的權(quán)重值(自身和自身纬黎,未連接的部分都為0),D是W每一行作和然后放到對(duì)角線的位置上劫窒,這個(gè)是可以證明的本今,不過證明起來比較無聊
我們的平滑函數(shù)是根據(jù)網(wǎng)絡(luò)上的參數(shù)決定的,我們定義損失函數(shù)可以加上平滑函數(shù)的正則項(xiàng),看是考慮已有標(biāo)簽多一點(diǎn)還是平滑程度多一點(diǎn)冠息,我們考慮平滑程度不光可以在output層觀察挪凑,可以在前幾層layer就要去平滑
我們最后一個(gè)方法是better representation,方法具體會(huì)在無監(jiān)督學(xué)習(xí)講逛艰,精髓是去蕪存菁岖赋,化繁為簡
簡單介紹下,我們分類時(shí)候其實(shí)有很多潛藏的因素在觀察里瓮孙,如果我們找到這些潛藏的因素往往就能得到很好的效果唐断,圖例是楊過(神雕俠侶)剪樊一翁打的胡子,觀察到他的胡子是隨頭而動(dòng)杭抠,所以觀察點(diǎn)也很重要