#分享 監督式學習的各種不同類型
Hi, 大家初五好!
不知道大家開始收心了嗎,我是開始了 QQ
---
自上一篇介紹自然標籤後,今天想再稍微說說監督式學習,
其實也有各種不同更細緻的分類,主要都是聚焦在標籤的性質上!
---
*目錄*
- 前言
- 監督式學習內部的標籤🏷️種類
- 總結
---
*前言*
監督式以及非監督式學習以有無標籤🏷️為主要的區分依據,而監督式學習本身根據標籤的使用又有細分不同的內容。
希望這篇文章可以給讀者一些俯瞰的角度去了解,通常面對標籤資料還可以怎麼去看待與處理!
---
*監督式學習內部的標籤🏷️種類*
根據Designing ML System[1]的分類,可以透過對標籤資料的處理方式分為主要4種類型:
1. 弱監督式學習(weak supervision )
2. 半監督式學習(semi-supervision)
3. 遷移學習(transfer learning)
4. 主動學習(active learning)
**弱監督式學習(weak supervision )**
弱監督式學習主要是在於標籤資料不用完全的人工標註,可以與專家或者透過領域知識去建立 Label Function(可以多個),去自動化透過程式標註資料。
舉例來說,一個輿情分析的應用,判斷社群媒體上言論是否為正向的應用,我們可以透過 Label Function ,比如一個 has_good_words(x, good_words) 去判斷是否有一些正向的詞在資料中,如果有的話就給定正向的標籤 y = 1,若有多個 Label Function可以用多數決來決定!
此方法的好處在於可以透過一些規則式的判斷得到大量標籤,品質可能沒有那麼好,但可以快速進行實驗!另外有需要專家、領域知識的參與,也可以把一些規則式的知識記錄下來!
**半監督式學習(semi-supervision)**
半監督式學習主要是透過少量的標籤資料去訓練模型,再透過模型針對沒有標籤的資料進行預測,得到的預測結果作為新的標籤資料併入原先少量的標籤資料中。
舉例來說,以剛剛的輿情分析來說,先由專家或者標註者,先標記1000筆(少量)資料,透過這些資料訓練了一個輿情模型(也許是BERT),再拿沒有標籤的資料假設5000筆,給模型預測,得到預測結果作為新的標籤,並且併入原先的訓練資料,就可以得到 1000 + 5000 = 6000 的總訓練資料。
此方法的好處在於只需要少量的人工標記,剩下可以透過模型學習到的pattern,進行模型標記。但當然可以發現這樣得到的標籤資料是可能有偏誤的。
但在預算有限的情況下,整體效果會比原先1000筆資料來得更好!
**遷移學習(transfer learning)**
遷移學習常用於電腦視覺、自然語言處理中,透過用於類似任務但不同資料集學習資料一般化的結構,希望可以協助後續任務學習更快!
舉例來說,有的輿情分析來說,我可能先拿維基的資料去訓練語言模型,去學習了詞語之間的pattern,後續用輿情的資料進行微調/或者凍結參數方式進行輿情模型的訓練。
現今在自然語言處理領域中,主要都是使用這種方式,訓練一個巨大的語言模型,再下游使用自己的客製化模型、資料,去學習、調整模型參數,可能有效地泛化到其他任務上!
**主動學習(active learning)**
主動學習則是與半監督式學習有點像,差別在於,透過模型預測的結果是挑選過的,會挑選不確定性的較高的樣本,並且不會立即作為標籤直接使用,而是整理給專家進行標記。
挑選不確定性較高的樣本,可以透過模型產出的預設機率較為不確定的當作評斷標準,而後續交給專家標記。這樣的核心思想是,我們標籤資料要專注在模型判斷不太確定的資料上,可以把成本花在刀口上!
現在很多成熟的ML系統都會把人類意見融入在系統中(human-in-the-loop),也是這種概念的延伸!
---
*總結*
這篇文章與大家分享了,監督式學習標籤資料運用其實還有更細緻的分類。大家也知道資料的品質、多寡在資料科學、機器學習是非常重要的!
希望這篇文章有讓大家了解如何運用標籤資料更多的可能性!
---
*參考*
- [1] Designing Machine Learning System – Chip Huyen
希望這篇文章有讓大家更了解更多的監督式學習類型唷!
也可以從Medium上觀看唷(內容都是一樣的)