1. 程式人生 > >[機器學習入門] 李巨集毅機器學習筆記-1(Learning Map 課程導覽圖)

[機器學習入門] 李巨集毅機器學習筆記-1(Learning Map 課程導覽圖)

在此就不介紹機器學習的概念了。

Learning Map(學習導圖)

PDF 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模型,我們可以將綠色部分插入任何紅色部分中。