[機器學習入門] 李巨集毅機器學習筆記-1(Learning Map 課程導覽圖)
在此就不介紹機器學習的概念了。
Learning Map(學習導圖)
VIDEO |
---|
先來看一張李大大的總圖↓
鑑於看起來不是很直觀,我“照虎畫貓”做了一個思維導圖如下:
理論上Supervised Learning分支下的內容都可以放在其他Learning Map大類下。
1. Supervised Learning
所謂監督學習,就是我們告訴機器說,當這個function看到某種input則輸出a,看到另一種input輸出b,看到……
Supervised Learning-> Regression
Regresion: The output of the target founction f is ‘scalar’.
如果我們在機器學習中要找的function輸出是數值,舉個例子: 預測PM2.5進行天氣預報。
核心思想就是:連續函式下進行預測。
Supervised Learning-> Classification
分類問題有兩種可能,Binary Classification 輸出是或否,Multi-class
Classification輸出多個型別。
舉個例子:
Binary Classification: Spam filtering(垃圾郵件過濾),判斷是垃圾郵件,不是垃圾郵件。
Multi-classification: Document
Classification(檔案分類),將檔案分為政治、經濟、體育等多個大類。
Classification-> Linear Model 與 Non-Linear Model
Linear Model : 能做的事有限,一些簡單的模型可以用它來做,但遇到複雜問題就力不從心了。
Non-linear Model : For example,現在的深度學習就是一個Non-linear Model,能完成一些很複雜的工作,比如影象分類等。
Classification-Image Recognition:輸入一個圖片,通過一個很複雜的卷積神經網路(CNN)的Function判斷是貓是狗還是猴子,每個可能的物種是class。
Classification-Playing Go:輸入棋盤上的局勢,判斷下一個落子的位置,每一個可能的落子位置就是一個class。
Structuerd Learning
在實際運用中,常常會遇到Beyond
Classification的情況,比如語音識別,人臉識別,語言翻譯等,是結構化輸出。此類問題常配合Reinforcement
Learning 解決。
2. Semi-supervised Learning
example:要建立一個辨識貓與狗的系統,手上有一部分Labelled
data(已經標記好的貓狗圖片),和一部分Unlabeled data(未做過標記的貓狗圖片),那麼Semi-supervised
Learning做的就是利用Unlabeled data優化function,也常用於資料不足時進行學習。
3. Transfer Learning
example:還是建立辨識貓與狗的系統,手上有一部分Labelled data(已經標記好的貓狗圖片),和另一部分與貓狗沒有關係的圖片(比如獅子老虎,標未標記都可),那麼Transfer
Learning就是利用這些data優化function。
4. Unsupervised Learning
example1: 要讓機器學會閱讀,希望機器自己在網路上爬去很多文章,自己理解其中的意思,進而取得人類的一些理解,掌握閱讀的技巧,這就是非監督學習要做的。
我們知道,做machine
Learning就是要找一個function。比如在學會閱讀這個系統裡,我們給系統input一個“apple”詞彙,然後讓機器看懂。在Unsupervised
Learning 中沒有人告訴機器每個詞彙表示什麼意思,只有大量text餵給機器。
example2:要讓機器學會自主繪畫,我們只給機器呈現顯示世界中的景象並不做標識,機器要從中提煉繪畫風格與內容,學會通過作畫表達自己。
4. Reinforcement Learning
在實際運用中,以上方法並不能解決全部問題,常常會遇到Beyond
Classification的情況,比如語音識別,人臉識別,語言翻譯等,那麼就要通過增強學習來解決問題。增強學習的一個非常知名的應用就是 google 阿法狗。
Reinforcement Learning VS Supervised
增強學習與監督學習有什麼區別呢?
example1:用一個語音識別的例子來解釋:Supervised 就像給了機器一個點讀機,他聽到一句話時可以看到其含義,每一句話都有標籤,就像有一個手把手教他的老師。
而Reinforcement Learning
就像跟女朋友對話,反覆講來回講很多句話,直到女朋友覺得你無言以對憤然離去,機器唯一可以知道的就是他做的好還是不好,除此之外沒有任何information。而這更像人類現實生活中的學習過程,必須自己像哪裡做得好做得不夠好,怎麼修正。
另一個例子,下圍棋。
example2:
supervised: 給機器一堆棋譜,告訴機器,情況a則落子在“5-5”處,情況b則落子在……
Reinforcement Learning:
讓機器自己下棋,下過幾百手之後,機器只知道自己贏了還是輸了,下的好還是不好,機器必須自己想辦法做提高。
Alpha Go is supervised learning + reinforcement learning.
學習導圖總結
有一個非常重要的資訊是每一個框的顏色。
- 藍色部分代表scenario,意思是你現在有什麼型別的 training data。
machine learning | scenario |
---|---|
Supervised Learning | 有標籤data |
Semi-supervised Learning | 部分有標籤data |
Unsupervised Learning | 無標籤data |
Transfer Learning | 一堆不相干data |
Reinforcement Learning | 只有來自外界的評價 |
- 紅色部分代表task,意思是現在function的output是什麼,只體現在supervised中,但其實可以插在以上五種Learning的每一種內。
machine learning | task(output) |
---|---|
Regression | scalar |
Classification | class1、class2…之一 |
Structured Learning | 有結構的內容 |
- 綠色部分代表Method方法模型,比如在Classification中有Linear模型 or Non-linear模型,我們可以將綠色部分插入任何紅色部分中。