機器學習-各種 Learning 概念簡明介紹
機器學習(machine learning)是一個正在快速發展的學科領域,新的概念層出不窮。突發奇想,我想稍微總結一下我聽過的以 「xxx learning」 為命名形式的概念,並盡量簡短的加以解釋、說明。對我自己,算是一種知識的簡單梳理。希望對於不太熟悉機器學習的人,這也能是一個快速的科普。
1. Machine learning
機器學習(machine learning)是指計算機科學人工智慧分類下的一門學科領域。它關注的是如何構建和改善演算法使得計算機能夠自動的從數據中習得經驗,並完成一些特定的任務。這些任務包括:分類、聚類、回歸、降維、推薦、密度估計等等。
2. lifelong machine learning、lifelong learning
終身機器學習(lifelong machine learning or lifelong learning)是機器學習里的一個研究主題。它關注的是構建一套演算法或者系統,使之能持續不斷的學習,並能從過去的學習任務中積累經驗和知識,來幫助解決新任務。
3. Deep learning
深度學習(deep learning)是指一類使用包含多個處理層(layer)的複雜模型對數據進行高層抽象的演算法,每一層通常都包含一些非線性變換的處理單元,模型前一層的輸出是後一層的輸入,不同的處理層代表了不同的抽象層次。現在說的深度學習最主要的模型結構就是深度神經網路。
4. Supervised learning、unsupervised learning 、semi-supervised learning
監督學習(supervised learning)、無監督學習(unsupervised learning)和 半監督學習(semi-supervised learning)是機器學習方法的主要分類,依據主要是看演算法有無利用訓練數據中的標籤信息。
監督學習(supervised learning)類演算法要求訓練數據中明確包含所要預測的標籤信息,比如分類問題的類別標籤信息,並利用這些標籤信息來訓練生成模型。
無監督學習(unsupervised learning)類演算法的訓練數據中不包含任何標籤信息,只包含無標籤信息的訓練數據。
半監督學習(semi-supervised learning)類演算法的訓練數據中既有包含標籤信息的數據,也有不包含標籤信息的無標籤數據,即這類演算法只利用了部分標籤信息。
5. Transfer learning
遷移學習(transfer learning)的目標是從源任務(source tasks)學習提煉一些知識然後應用在跟源任務相似但是不同的目標任務(target task)上,幫助目標任務完成的更好。
遷移學習的概念跟先前提到的終身機器學習的概念非常相似,區別是終身機器學習還想強調(1)持續不斷的學習;(2)「知識」的提煉、存儲和共享。
6. Meta learning
元學習(meta learning)的另一個更簡單直觀的說法叫讓機器 「學會學習(learning to learn)」,目標是讓機器可以從過往的任務中學習出某些知識、模式、或者演算法的性質,可以靈活快速的指導新任務的學習,類似像人一樣學會根據歷史經驗「舉一反三」。
先前介紹的遷移學習可以作為 meta learning 中實施的具體方法。
7. Reinforcement learning、deep reinforcement learning
強化學習(reinforcement learning)的目標是讓機器(agent)在特定的環境下,感知自己所處的狀態,並根據當前狀態做出行動,每個行動會獲得一些獎勵,通過跟環境的不斷交互最終找到使得長期累積獎勵最大化的策略。
深度強化學習(deep reinforcement learning)是指應用了深度學習技術的強化學習。
8. PU learning
正樣本和無標籤樣本學習(PU learning)是指從只有正樣本和無標籤樣本的訓練數據中學習得到一個二分類模型,這裡的無標籤樣本可能是正樣本,也可能是負樣本。PU learning 屬於半監督學習中的一類演算法。
9. One-shot learning、few-shot learning、zero-shot learning
單樣本學習、少樣本學習或者零樣本學習(one-shot learning、few-shot learning、zero-shot learning)是指每個要預測的類別只有一個、少數幾個、或者甚至沒有訓練樣本,它們都是遷移學習的極端特例。一般的,這三類學習先有一個在大量源數據上學習得到的一個模型,在遷移學習階段,利用少量訓練樣本對模型進行更新,快速的適應新的任務。
10. Online learning
在線學習(online learning)是指新的數據不斷的過來情況下,原有的模型只需要利用新數據實時修正、優化,不需要拋棄老模型之後再重新訓練。
相對應的,傳統的模型訓練是在所有離線訓練數據上訓練一個模型,如果有新的數據來的話,需要將新數據和老數據合到一起,然後重新訓練模型。
11. Ensemble Learning
集成學習(ensemble learning)指的是用某種策略或者方法將多個弱模型(比如,弱分類器)綜合起來,輸出一個最終的結果,提高整體模型的泛化能力。常見的集成學習的方法包括 bagging、boosting 和 stacking。
12. Representation learning、feature learning
表徵學習(representation learning、feature learning)是指自動的從原始數據中學習、提煉數據特徵的一類技術或者方法。比如,深度學習就是表徵學習的一種方法,深度神經網路中間隱層的輸出結果就是原始數據的抽象特徵。再比如,PCA 可以將高維數據映射到低維空間,也可以作為表徵學習的一種方法。
13. Active learning
主動學習(active learning)屬於半監督學習(semi-supervised learning)中的一類演算法,適用於訓練樣本中標籤信息比較少的情況。這類演算法先使用有標記的樣本數據訓練出一個分類器,並對未標記的訓練樣本進行預測,從中挑選出最不確定的樣本來諮詢用戶並進行打標,最後使用擴充後的訓練集重新訓練分類器,從而提高模型性能,整個過程是重複迭代式進行的。
14. Multi-task learning
多任務學習(multi-task learning)是指將多個相關的任務放在一起訓練,通過不同任務之間的特徵或者參數等信息共享來提升模型的性能,讓多個任務彼此受益。
15. Dual learning
對偶學習(dual learning)是一種比較有意思的模型訓練方式。在對偶學習中存在互為對偶的兩個任務:原任務和對偶任務。這樣的對偶任務例子包括:機器翻譯中的中譯英和英譯中,語音處理中的語音合成和語音識別,問答系統中的回答問題和生成問題。互為對偶的任務,可以在訓練過程中互相提供反饋,共同提高,從而降低對於標籤數據的依賴。
16. Adversarial machine learning
對抗機器學習(adversarial machine learning)研究的是如果存在一個對安全系統進行惡意攻擊的對手,通過污染訓練數據等方式對安全系統中的機器學習模型進行攻擊的情況下,如何設計更有效、更穩健的演算法來抵禦類似攻擊。
上面的介紹是暫時我能想到的以「xxx learning」的形式命名的概念,未能覆蓋全部,後續還會不定期的補充、更新。同時,一些概念的介紹也相對簡單,如果有偏差或者錯誤,歡迎提醒糾正。
推薦閱讀:
※機器學習篇-評估機器學習的模型
※Cousera deeplearning.ai筆記 — 深度神經網路(Deep neural network)
※樸素貝葉斯
※從建立清晰的步驟開始——Machine Learning Project Checklist
※[貝葉斯八]之極大似然估計
TAG:機器學習 |