機器學習基本概念簡介
什麼是機器學習?
機器學習可以用一句話概括:讓機器具備「找一個函式 (Function)」的能力。
常見的任務類型
-
迴歸 (Regression):函式的輸出是一個
數值 (Scalar)(例如:預測明天的 PM2.5 數值)。 -
分類 (Classification):讓機器做「選擇題」。我們會先
準備好選項(類別),機器從中選出正確答案(例如:垃圾郵件偵測、AlphaGo 下棋的落子位置)。 -
結構化學習 (Structured Learning):機器不只是做選擇,而是要產生有結構的物件(例如:畫一張圖、寫一篇文章),這可以被稱為讓機器學會「創造」。

機器學習的三個步驟
假設我們想找出一個函式,其輸入是 YouTube 後台資訊,輸出是隔天的總點閱率。
第一步:寫出帶有未知參數的函式 (Model)
我們需要根據 Domain Knowledge 先猜測函式的樣子。
- 模型 (Model):例如 ,這是一個帶有未知參數的函式。
- 特徵 (Feature):已知的資訊(例如前一天的點閱人數 )。
- 權重 (Weight, ) 與 偏置 (Bias, ):這是機器需要透過資料找出的未知參數 (Parameter)。

第二步:定義損失函數 (Loss Function)
損失函數 是一個用來評估參數好壞的函式,其輸入是參 數,輸出代表這組參數有多「不準」。
- 計算方式:比對預測值 () 與真實值 (標籤 Label, ) 的差距。
- MAE (Mean Absolute Error):計算差距的絕對值。
- MSE (Mean Square Error):計算差距的平方。
- 誤差表面 (Error Surface):將不同的 與 組合對應的 Loss 畫成等高線圖。顏色越偏藍代表 Loss 越小(參數越好)。

第三步:解最佳化問題 (Optimization)
目標是找到一組 與 ,讓 Loss 的值最小。
-
梯度下降 (Gradient Descent):
- 隨機初始化:隨機選一個起始點 。
- 計算微分 (Gradient):計算該點的切線斜率。斜率為負則增加 ,斜率為正則減少 。
- 更新參數:更新的大小取決於斜率與 學習率 (Learning Rate, )。
-
超參數 (Hyperparameter):由人類手動設定而非機器找出的數值(如:學習率、更新次數)。

線性模型 (Linear Model)
線性 模型的限制與模型偏差 (Model Bias)
線性模型(Linear Model)假設特徵 與輸出 之間僅存在直線關係。
- 問題點:現實中的關係可能非常複雜,例如觀看人數過高後可能物極必反地下降,直線模型無論如何調整參數 與 ,都無法畫出帶有轉折的曲線。
- 模型偏差 (Model Bias):這種來自於模型過於簡單、無法模擬真實狀況的限制,稱為 Model Bias。

分段線性曲線 (Piecewise Linear Curves)
為了減少 Model Bias,我們需要更有彈性的函式。
- 原理:複雜的紅色彩色曲線可以看作是一個常數加上一群藍色的「硬激活函數」 (Hard Sigmoid)。
- 藍色函數特性:先水平、再斜坡、最後再水平。透過調整斜坡的起點、終點與斜率,可以拼湊出任何鋸齒狀的折線圖。
- 逼近任何曲線:只要轉折點夠多(使用的藍色函數夠多),分段線性曲線就可以逼近任何連續的曲線。
