機器是如何學習的?(半監督式學習和其它方式)

語言: CN / TW / HK

theme: orange

一起養成寫作習慣!這是我參與「掘金日新計劃 · 4 月更文挑戰」的第22天,點擊查看活動詳情

眾所周知,機器學習增強了人類的能力,讓以前人腦不可能的事情變成了可能。機器學習目前廣泛應用於金融、產品銷售、新媒體、醫療、社會科學、遊戲娛樂、工業製造等眾多領域,它無處不在,並且在蓬勃發展!但接下來的問題是,應用場景雖然不同,但其原理都是相同的,那麼機器是如何學習的?

半監督學習

如果我們只能標記很小一部分的數據,那麼監督式學習(Semi-Supervised Learning)是不能完全滿足要求的,那麼就使用非監督式學習方法呢?雖然非監督式學習方法可以識別模式和創建集羣,但是它不能應用於以下兩個方面:

  • 創建自定義或特定集羣
  • 達到一定的精確度閾值

但還好,我們除開監督式和監督式學習,我們還有另外一個選擇,那就是半監督式學習,其立足於半監督學習-監督學習和非監督學習之間的橋樑-的情情況是哪個,算法確定數據點之間的相關性,然後使用少量標記數據標記這些點,然後,系統根據新應用的數據標籤進行培訓。

image.png

其在以下方面領域特別有用:

  • 自然語言處理(NLP),比如文本分類
  • 醫學領域,比如蛋白質序列分類

在上面或者其它類似的領域,數據量特別大,但是大部分的數據都是未經標記的。

半監督學習具體的步驟是:

  1. 通過算法或人工給出的數據打上一小部分的標籤
  2. 使用非監督式學習算法來創建相似數據點的集羣
  3. 使用標記的數據進一步訓練其餘的未標記的數據

半監督的ML就像一個探險家在抵達一個地區後先了解地形的情況,然後尋求當地人的幫助來更加深入地瞭解個別地區。

分類

半監督學習算法大致有以下的分類:

  • self-training(自訓練算法)
  • Graph-based Semi-supervised Learning(基於圖的半監督算法)
  • Semi-supervised supported vector machine(半監督支持向量機,S3VM)

例子

具體的應用場景有:

  • 減輕語音分析中的數據準備負擔,在語音分析中,標記音頻文件通常是非常勞動密集型的。
  • Web分類,處理數十億計數的網頁中可用的知識同樣需要使用大量的時間和資源。
  • Google的Expander,包括Gmail和Google picture 都在使用這項技術。

其它學習方式

強化學習

另一類機器學習方法是強化學習(Reinforcement learning)。與依賴標記或未標記的數據不同,強化學習使用獎懲概念使機器學習模型自己解決問題。這種學習設置幾乎是自主的,人工干預僅限於改變環境和調整獎勵/懲罰。強化學習在建立自治系統中得到了廣泛的應用,無論是自動駕駛汽車還是電子遊戲機器人。

image.png

對抗學習

隨着機器學習模型成為主流,攻擊和黑客攻擊的威脅正在增加,這就是對抗性學習(Adversarial learning)的情景,一個監督式學習的細分領域。

image.png

總結

通過連續三篇文章,我們系統性地瞭解機器學習的方式。總的來説,有幾點有助於我們工程實踐它。

  • 首先必須要明確機器學習的任務,場景。
  • 很多情況下好的數據卻要優於好的算法,設計優良特徵和做特徵工程更有意義。
  • 核心是瞭解每個機器算法的原理及優缺點,才能根據不同的機器學習算法做相應的特徵工程。