[Day2]AI學習筆記--從線性到非線性:深入理解機器學習背後的演算法與最佳化策略

更新於 發佈於 閱讀時間約 10 分鐘
raw-image
📚 本文為筆者準備期末考時所撰寫之課堂筆記,內容整理自「國立成功大學電機工程學系 — 人工智慧晶片設計與應用」課程之第一講(Lecture 1: Overview of DNN),並加以補充說明。亦歡迎其他正在修習或有興趣瞭解 AI 與深度學習架構的讀者參考使用。

機器學習:從經驗中成長

Mitchell 在 1997 年經典地定義了機器學習:

「如果一個程式可以透過不斷的經驗 (E),在特定的任務 (T) 上表現 (P) 越來越好,我們便稱它具備機器學習的能力。」

這不僅適用於 AI,也像是人類終其一生的學習歷程。我們如何幫助 AI 持續從經驗中進步?本文將從基礎開始,深入探討各種機器學習方法以及我自己的觀察與心得。

一、從簡單的線性回歸出發

線性回歸(Linear Regression)是機器學習最基礎的方法之一。以一個實際例子說明:

假設我們的任務(Task T)是:透過 MRI 影像預測一個人神經疾病的嚴重程度。首先,將 MRI 影像轉為一組數值向量,例如:

[0.1516516, 16516.51, ..., 15.5484984]

然後透過線性模型預測疾病嚴重程度(0 到 100 分):

y = wTx + b

模型透過計算預測值 y與真實值 t 的差距,並以 平均平方誤差 (MSE) 來作為訓練目標:

raw-image

以下圖為例(此處假設資料點數量 m=20):

raw-image

線性回歸雖然簡單,但它將原本複雜的 AI 問題,透過線性代數轉化為可處理的數學問題。

二、如何讓模型有效地從資料中學習?

在機器學習的世界裡,僅靠一兩筆資料遠不足以幫助模型理解真實世界複雜的規律。我們需要的是一個足夠大的資料集 (Dataset),讓模型從大量資料中歸納出一般化的規律與模式。

一個完整的資料集通常會分成三個部分:

  • 訓練集(Training Set,約 60–80%)
    訓練集是模型實際用來學習規律的資料。你可以想像它像學生平常練習的習題,透過反覆訓練,模型會逐步學到如何從輸入預測輸出。
  • 驗證集(Validation Set,約 10–20%)
    驗證集的目的是調整並選擇最佳的模型參數,例如學習率、正則化係數或模型結構等。透過驗證集,我們能及早發現並避免模型的過度學習(Overfitting)。可以把它比喻成學生在大考之前做的模擬考,讓我們能提早發現問題並進行修正。
  • 測試集(Test Set,約 10–20%)
    測試集則是用來最終評估模型的泛化能力。模型從來沒有見過測試集內的資料,因此測試結果是真正的實力檢測。可以理解為正式考試,用來評估學生是否真正掌握所學的知識。

透過這樣的資料分割,我們確保模型的訓練效果不只是停留在表面,而是能真正學習到能泛用於未知資料的規則。

為什麼要分割資料?

我們將資料分割的原因,是要確保模型能真正從資料中學習到「泛化的能力」,而非僅記住特定的訓練資料。這種方法避免了在測試真實數據時,發生嚴重的泛化誤差。

三、三種機器學習的核心方法

1. 監督式學習(Supervised Learning)

資料集內每一筆資料都有標籤,就像學生做習題一樣,有明確的正確答案讓模型參考學習。

2. 非監督式學習(Unsupervised Learning)

資料沒有明確的標籤,模型必須自行從資料中尋找隱藏的模式與分類結構。

好比打開一個混亂的衣櫃,必須依靠自己的判斷將衣服分類:

  • 分類衣服 → Clustering
  • 衣服特徵(顏色、大小) → 資料特徵

3. 強化學習(Reinforcement Learning)

模型像一個探索迷宮的小孩,必須透過不斷的嘗試錯誤,記住哪些路可走、哪些路不能走,逐步找到最佳路徑:

  • 小孩 → Agent
  • 迷宮 → 環境
  • 每次嘗試 → Action
  • 出口或碰壁 → Reward / Penalty

四、評估模型表現:泛化誤差、過擬合與欠擬合問題

當我們訓練機器學習模型時,最重要的目標不只是讓它記住訓練資料,而是希望它能夠從中學習到通用的規律,以便對未來未知資料做出準確預測。然而,模型通常會在從未看過的測試資料上表現較差,這個現象稱為泛化誤差 (Generalization Error)

泛化誤差的本質,是模型無法完全捕捉真實世界的複雜性,而訓練資料又不可能涵蓋所有可能情境。透過下圖,我們可以清楚觀察到泛化誤差的存在:

raw-image

上圖中可見,模型在訓練資料上的表現幾乎完美,但在測試資料上卻表現明顯較差。

為什麼會有這種差距呢?這與模型容量(Model Capacity)的概念息息相關。

模型容量(Capacity)與過擬合(Overfitting)

模型容量指的是模型能表達或擬合資料複雜程度的能力。如果模型容量過高(例如模型的參數過多、層數過深),它會試圖完美記住訓練資料的每一個細節,甚至包含一些隨機噪音與無意義的資訊,這就是我們所謂的「過擬合(Overfitting)」。

過擬合的模型在訓練資料上表現得非常完美,但卻在真實環境中的新資料表現不佳,因為它並沒有真正學習到能推廣的規則,而只是記憶了訓練資料。

模型容量過低導致欠擬合(Underfitting)

相反地,若模型容量過低(例如模型結構過於簡單),就無法充分捕捉資料的規律,無論在訓練集或測試集上表現都不理想,這稱作「欠擬合(Underfitting)」。

欠擬合的情況,代表模型沒有學到足夠的特徵或規則,無法準確描述資料中隱藏的關係。

容量與誤差的平衡

因此,我們必須在模型容量與誤差之間取得平衡。模型容量與泛化誤差之間的關係可用以下這張經典的圖表清楚表示:

raw-image

從圖中可見,隨著模型容量增加,訓練誤差會逐漸下降,但測試誤差則會先下降後上升,產生所謂的「U型曲線」。我們的目標就是找到這個最低點,確保模型既能精準描述資料,又不會過度擬合訓練資料中的雜訊。

如何避免過擬合與欠擬合?

實務上,有幾種常用的方法可以幫助我們調整模型容量,避免這些問題:

  • 增加資料量:更多的資料能讓模型學習到更廣泛的規律。
  • 正則化(Regularization):透過限制模型參數的大小,避免過擬合。
  • 交叉驗證(Cross-validation):透過多次驗證來選擇最佳模型參數。
  • 提前終止訓練(Early Stopping):當模型在驗證集上的表現停止改善時,停止訓練,避免過度記憶資料。

透過以上方式,我們便能夠有效控制模型的泛化能力,讓模型真正地學到資料中有意義的規律,而不只是記憶訓練資料的表面特徵。

五、降低過擬合的關鍵:正則化 (Regularization)

當模型容量過大時,最常見的副作用就是過擬合──模型把訓練資料的雜訊也背下來,導致測試集表現變差。

正則化的核心思路,就是在訓練過程「加阻力」,限制模型過度依賴特定特徵。最常用、也最易實作的做法是 L2 Regularization(權重衰減,Weight Decay)

1. L2 Regularization 如何運作?

在原本的損失函數 Lorig​ 旁,額外加入所有權重平方和的懲罰項:

raw-image
  • λ:正則化係數,決定懲罰強度
  • 權重越大→懲罰越重→模型傾向讓權重變小
  • 權重不會被迫歸零,而是被拉回「合理區間」,因此模型傾向平均使用所有特徵,而非過度依賴少數量級特別大的特徵

2. 直觀案例:用「薪水、性別、身高」預測壽命

y  =  w1(薪水)+w2 (性別)+w3 (身高)

  • 薪水通常以「萬元」計,數值動輒上萬
  • 性別只是一個 0/1 變數,身高約 100–200
    → 若不加以限制,模型很容易讓 w1w_1w1​ 主導一切

加入 L2 後,新的損失函數:

當 w1嘗試變得過大時,懲罰項會大幅增加,迫使最佳化器重新分配權重,讓性別和身高也參與預測。結果是模型更平滑、對新資料更穩定

raw-image

訓練集準確率雖然較低,但測試集準確率持續提升且 gap 變小,顯示泛化能力更好。

L2 Regularization 透過「權重平方懲罰」讓模型參數不致失控,

既能避免大特徵「壓倒性」主導,也能促使模型學到更平滑、可泛化的決策邊界。

六、從線性走向非線性模型:引入 ReLU 函數

線性模型有明顯的局限性,例如無法解決 XOR 問題:

raw-image

因此,我們引入非線性的 ReLU 函數,讓模型能學習複雜的非線性關係,提升對真實世界資料的描述能力:

raw-image

AI 與我們一樣,都在持續學習的路上

機器學習與深度學習的方法看似複雜,但其本質依然是從資料中不斷學習並改進。無論是 AI 還是我們人類自己,學習都是一條無止境的旅程。

希望這篇文章能讓大家更直觀地理解機器學習的核心觀念與演算法,也希望能成為你繼續深入探索 AI 世界的起點與助力!

留言
avatar-img
留言分享你的想法!
avatar-img
Ben Yuan的沙龍
0會員
3內容數
學習筆記
你可能也想看
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
人工智慧是什麼? 人工智慧(Artificial Intelligence, AI) 簡單來說,就是讓機器模仿人類的思考、學習和決策的能力。它就像是一個聰明的電腦程序,可以執行許多原本需要人類智慧才能完成的工作,例如: 語音辨識: 讓電腦聽懂人類的語言,像是 Siri、Google As
Thumbnail
人工智慧是什麼? 人工智慧(Artificial Intelligence, AI) 簡單來說,就是讓機器模仿人類的思考、學習和決策的能力。它就像是一個聰明的電腦程序,可以執行許多原本需要人類智慧才能完成的工作,例如: 語音辨識: 讓電腦聽懂人類的語言,像是 Siri、Google As
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
科技發達,AI智能也越來越發達。 蠢孩子,我每篇小說的圖片都是用AI製作的唷!!
Thumbnail
科技發達,AI智能也越來越發達。 蠢孩子,我每篇小說的圖片都是用AI製作的唷!!
Thumbnail
本篇文章分享了對創意和靈感來源的深入思考,以及如何將其轉化為實際的成果或解決方案的過程。透過學習、資料收集、練習、創新等方法,提出了將創意落實的思路和技巧。同時介紹了AI在外顯知識的自動化應用,以及對其潛在發展方向的討論。最後探討了傳統機器學習技術在模擬中的應用案例和對AI世界的影響。
Thumbnail
本篇文章分享了對創意和靈感來源的深入思考,以及如何將其轉化為實際的成果或解決方案的過程。透過學習、資料收集、練習、創新等方法,提出了將創意落實的思路和技巧。同時介紹了AI在外顯知識的自動化應用,以及對其潛在發展方向的討論。最後探討了傳統機器學習技術在模擬中的應用案例和對AI世界的影響。
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
這篇文章介紹瞭如何利用生成式AI(GenAI)來提高學習效率,包括文章重點整理、完善知識體系、客製化學習回饋、提供多元觀點等方法。同時提醒使用者應注意內容的信效度,保持學術誠信,適當運用GenAI能大幅提升工作效率。
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
延續上週提到的,「有哪些不訓練模型的情況下,能夠強化語言模型的能力」,這堂課接續介紹其中第 3、4 個方法
Thumbnail
這一節課說明,如何透過改變給模型的指示或咒語(prompt),來得到不同的結果 。如果直接說結論的話會是,在今天語言模型的能力之下,我們只要交代清楚任務就好,可以包括背景以及需求。而這節課很像是一堂模型咒語的歷史課 XD
Thumbnail
這一節課說明,如何透過改變給模型的指示或咒語(prompt),來得到不同的結果 。如果直接說結論的話會是,在今天語言模型的能力之下,我們只要交代清楚任務就好,可以包括背景以及需求。而這節課很像是一堂模型咒語的歷史課 XD
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News