【李宏毅老師2021系列】機器學習基本概念簡介

--

這個系列是在觀看李宏毅老師2021系列的筆記,希望能用更濃縮的方式將內容整理下來。

此篇筆記來自此課程:https://www.youtube.com/watch?v=Ye018rCVvOo

模型是一個 Function,我們可以用它來預測許多事情。

Different types of Functions (Task)

  • Regression:function會輸出連續性的數值。例:預測pm2.5的濃度
  • Classification:給定特定的類別,function會輸出其中一個(binary/multiple classification)或某幾個 (multiple label)。例:alphaGo:將圍棋盤視為19x19個種類,預測下一步要落在哪一個類別。
  • Structured Learning:除了上述的兩種,有很多的任務是落在這個領域,也就是function要產生結構化的物件。例:要機器學會畫畫、寫文章、創造等事情,比較像是我們平常聽到的人工智慧。

How to find a function

以預測youtube頻道點閱人數為例 (Regression Task)

1. Function with Unknown Parameters

  • function:y = b + w*x1
  • x1 就是依據 domain knowledge 的 feature (特徵),可多可少,至於要放哪些 feature 就會跟 domain knowledge 和 feature selection (特徵篩選)有關。這邊為了解釋老師僅把昨天的觀看人數當作 x1。
  • b 是 bias、w 是 weight,機器要學習的就是這些參數。

2. Define Loss from Training Data

  • Loss 也是一個function,輸入是 bias 和 weights, L(b, w)。
  • Loss 是用來定義將訓練資料放入某一組參數後,這組參數有多好的function。
  • 將每一組訓練資料都放入某一組參數後,會得到預測的y,計算真實的y (label)與預測的y (predict)的距離絕對值再取平均,就可以當作這組參數的loss值。
  • 這種loss function叫做 Mean Absolute Error (MAE),另一種類似的叫做Mean Square Error (MSE),是取label y和 predict y距離的平方,這兩種適合用在 Regression 的任務。
  • 若label y 和predict y 是機率的話,那就會使用 cross-entropy 作為 loss function。
  • 下圖的error surface (紅色代表 loss值大、紫色代表 loss值小),因此我們就會根據loss function,假設初始值在黃色點,就會希望機器的學習曲線從黃色點移動到紫色點,就會找到loss較小的bias和weight。

3. Optimization

重要概念:Gradient Descent

學習步驟如下

  1. 根據不同的weight,會得到不同的loss。
  2. 剛開始會隨機挑選一個隨機的w值。
  3. 接著去計算這個w對於loss值的微分是多少,等於是去計算error surface的斜率,若斜率是負,那麼就去加大weight,反之亦然。
  4. w要調多大或調多小 (步伐大小),會根據斜率乘以learning rate (hyperparameters) 的結果決定。 (需自行設定的參數叫做 hyperparameters)
  5. 不斷地更新w。
  6. 理想上是當我們找到斜率等於0時,w就不會再更新了,而實際上通常我們可以設定training的epoch,當epoch結束,training就會結束。

備註:gradient descent會有local minima的問題,但並非實際上痛點,後續才會介紹。

local minima 問題:如下圖標示的點,local minima這個點相較於旁邊兩側,已經是loss最低的點,但卻不是整體最低的點。在這個點,因為gradient descent的步伐大小會上不去右側的上坡,因而無法找到整體最低的loss (global minima)。

機器在學習的 Error Surface

總結

機器學習的三個步驟:

  1. Function with Unknown Parameters
  2. Define Loss from Training Data
  3. Optimization

--

--

追客 Fredrick Hong
追客 Fredrick Hong

Written by 追客 Fredrick Hong

畢業後就到在數位廣告業打滾,之前是廣告優化師,目前則是在數據團隊任職。