Martin Heller Charles
在2017年寫給亞馬遜股東的信中,Jeff Bezos提到了亞馬遜語音智能助理Alexa的一些有趣之處:
在美國、英國和德國,通過改進Alexa的機器學習組件以及使用半監督學習技術,在過去12個月里我們把Alexa的口語理解能力提高了25%以上。(利用這些半監督學習技術,實現相同精度所需的標記數據量減少了40倍!)
鑒于這些結果,在我們自己的分類問題上嘗試半監督學習可能會很有趣。那么,什么是半監督學習呢?它有什么優缺點?我們怎樣使用它?
顧名思義,半監督學習介于受監督學習和無監督學習之間。受監督學習采用帶有正確答案(目標值)的標記過的訓練數據。在學習過程之后,將得到一個經過調優的權重集的模型,這可以用于預測尚未標記的類似數據的答案。
半監督學習同時使用標記和未標記的數據來擬合模型。在某些情況下,比如Alexa的添加未標記的數據的確提高了模型的準確性。在其他情況下,未標記的數據可能會使模型更差。正如我將在下面所討論的,在不同的數據特性條件下,不同的算法會有不同的缺點。
一般來說,標記數據需要花費金錢和時間。這并不總是問題,因為有些數據集已經有了標記。但是如果您有很多數據,其中只有一些是標記過的,那么半監督學習這種技術很值得一試。
半監督學習至少可以追溯到15年前,甚至更長;威斯康星州大學的Jerry Zhu在2005年寫了一份文獻調查。近年來,半監督學習再次興起(不僅是在亞馬遜),因為它降低了重要基準的錯誤率。
DeepMind的Sebastian Ruder在2018年4月寫了一篇博文,介紹了一些半監督學習算法,即創建代理標簽的算法:包括自我訓練、多視圖學習和自我整合。
自我訓練使用模型自己對未標記數據的預測結果,將其添加到已標記的數據集中。實際上,這為預測的置信水平設置了一些閾值,通常為0.5甚至更高,高于該閾值時,相信預測結果并將其添加到已標記的數據集中。不斷地重新訓練這個模型,直到沒有更多可信的預測結果為止。
這就回避了用于訓練的實際模型的問題。和大多數機器學習一樣,你可能會嘗試每一個合理的候選模型,以期找到一個能很好工作的模型。
自我訓練在一定程度上是成功的,可謂是好壞參半。最大的缺點是模型無法糾正自己的錯誤:例如,對異常值高度自信(但錯誤)的預測可能會破壞整個模型。

多視圖訓練在不同的數據視圖上訓練不同的模型,其中可能包括不同的特征集、不同的模型體系結構和不同的數據子集。多視圖訓練算法有很多,其中最著名的是三視圖訓練。本質上,可以創建三個不同的模型;每當兩個模型同意一個數據點的標簽時,該標簽就會被添加到第三個模型中。與自我訓練一樣,當沒有更多的標簽被添加到任何一個模型時,就停止了。
自我整合通常使用具有多個不同配置的單個模型。在梯形網絡方法中,對干凈樣本的預測結果被用作隨機擾動樣本的代理標簽,目的是開發能夠抵制噪聲的特性。
Jerry Zhu在2007年的教程中還考慮了一些其他算法。這包括生成模型(例如,對每一類假設高斯分布的模型)、半監督支持向量機和基于圖的算法。
半監督學習正慢慢進入主流的機器學習服務。例如,Amazon Sagemaker Ground Truth使用Amazon Mechanical Turk對部分圖像集進行手動標記和邊界確定,并使用神經網絡訓練功能對圖像集的其余部分進行標記。
類似的半監督學習方法可以用于其他類型的半監督學習,包括自然語言處理、分類和對多種服務的回歸。但是,你必須為其中的大多數算法編寫自己的鏈接代碼。
Martin Heller是InfoWorld的特約編輯和審稿人。他曾是一名網絡和Windows編程顧問,1986年至2010年間開發過數據庫、軟件和網站。
原文網址
https://www.infoworld.com/article/3434618/semi-supervised-learning-explained.html