跳轉至

建立 2026-11-12 更新 2026-11-12 HL only

A4.3 機器學習方法(HL)

機器學習方法(Machine learning approaches)介紹各類常見演算法的原理與適用情境:迴歸用線性迴歸、分類用 k-NN 與決策樹、分群用 k-means,以及神經網路與基因演算法。本子題只有 HL 需要學,重點是理解每種方法「如何學習」以及「何時適合使用」,而不是背公式。

HL 專屬子題

A4.3 整個子題只出現在 HL 考卷。SL 學生若有餘力,建議讀「神經網路」一節,有助於理解案例研究中的生成式 AI。

線性迴歸如何預測數值?

線性迴歸(linear regression) 找一條最符合資料的直線 y = mx + b,用來預測連續數值。演算法調整斜率 m 與截距 b,使所有資料點與直線之間的 誤差平方和最小(最小平方法)。

  • 適合:特徵與目標大致呈線性關係,例如讀書時數與考試分數。
  • 限制:無法表現非線性關係,容易受離群值影響。

k-NN 如何分類?

k-近鄰演算法(k-Nearest Neighbours, k-NN) 要分類新資料時,找出訓練資料中距離最近的 k 個點,以多數決決定類別。

  1. 計算新資料與每個訓練資料的距離(常用歐氏距離)。
  2. 取最近的 k 個。
  3. 這 k 個中最多的類別就是預測結果。

  4. k 太小容易受雜訊影響(過擬合),k 太大邊界過於平滑(欠擬合);k 常取奇數避免平手。

  5. 不需要訓練階段,但預測時要和所有資料比距離,資料量大時很慢;特徵必須先正規化(見 A4.2)。

決策樹如何做決定?

決策樹(decision tree) 用一連串「是/否」問題把資料分類,例如「年收入 > 50 萬?」「有房貸?」。演算法在每個節點挑選最能把資料分開的特徵(例如用 Gini 不純度或資訊增益衡量)。

  • 優點:結果容易解釋,人可以看懂決策路徑,適合需要說明理由的情境(貸款審核)。
  • 缺點:樹太深容易過擬合,可以限制深度或使用 隨機森林(random forest) 結合多棵樹。

k-means 如何分群?

k-means 是非監督式分群演算法,把資料分成 k 群:

  1. 隨機選 k 個點作為群中心(centroid)。
  2. 每個資料點分配給最近的群中心。
  3. 重新計算每群的平均位置作為新群中心。
  4. 重複步驟 2–3,直到群中心不再明顯移動。

k 需要事先決定,可用「手肘法(elbow method)」觀察 k 增加時群內誤差下降的轉折點。

神經網路如何學習?

人工神經網路(artificial neural network) 由多層 神經元(neuron) 組成:

  • 輸入層 接收特徵,隱藏層 逐層萃取特徵,輸出層 給出預測。
  • 每條連線有 權重(weight),每個神經元把輸入加權總和加上 偏差(bias),經過 激活函數(activation function,例如 ReLU、sigmoid) 產生輸出。
  • 訓練:前向傳播(forward propagation)計算預測 → 用 損失函數(loss function) 衡量誤差 → 反向傳播(backpropagation) 計算每個權重對誤差的影響 → 用 梯度下降(gradient descent) 微調權重。重複大量次數後,網路逐漸學會正確對應。

常見變形:

  • 卷積神經網路(Convolutional Neural Network, CNN):用卷積濾鏡擷取影像中的邊緣、形狀,適合影像辨識。
  • 循環神經網路(RNN)/Transformer:處理文字、語音等序列資料,現代大型語言模型以 Transformer 為基礎。
  • 生成式模型:例如擴散模型(diffusion model)從雜訊逐步產生圖片,是 AI 繪圖的核心技術。

基因演算法如何找答案?

基因演算法(genetic algorithm) 模仿生物演化來搜尋最佳解,適合可能解非常多、無法逐一嘗試的最佳化問題(例如排課表、路線規劃):

  1. 初始化:隨機產生一群候選解(族群,population),每個解用「染色體」表示。
  2. 適應度評估(fitness):用適應度函數評分每個解。
  3. 選擇(selection):適應度高的解較有機會被選為父母。
  4. 交配(crossover):組合兩個父母的部分基因產生子代。
  5. 突變(mutation):以低機率隨機改變基因,維持多樣性、避免卡在局部最佳解。
  6. 重複 2–5 直到達到滿意解或指定世代數。

演算法怎麼選?

方法 學習類型 問題 可解釋性 典型用途
線性迴歸 監督式 迴歸 高 銷售預測、房價
k-NN 監督式 分類 中 推薦、簡單分類
決策樹 監督式 分類/迴歸 高 信用審核、醫療診斷輔助
k-means 非監督式 分群 中 顧客分群
神經網路 監督式為主 分類/迴歸/生成 低(黑箱) 影像、語音、語言、生成式 AI
基因演算法 最佳化搜尋 最佳化 中 排程、設計最佳化
強化學習 強化學習 決策策略 低 遊戲 AI、機器人

推薦影音

線性迴歸

簡述:StatQuest 說明最小平方法如何找出最佳直線,以及 R² 代表什麼,對應本頁線性迴歸一節。

k-近鄰演算法

簡述:用簡單圖形示範 k-NN 如何依最近的鄰居投票分類,以及 k 值大小的影響,只有幾分鐘。

決策樹

簡述:示範決策樹如何用 Gini 不純度選擇分裂特徵,一步步長出整棵樹。

k-means 分群

簡述:用動畫呈現 k-means 反覆分配資料點與移動群中心的過程,並說明如何選擇 k。

什麼是神經網路?(3Blue1Brown)

簡述:以手寫數字辨識為例,用精美動畫說明神經元、權重、偏差與層的概念,是理解神經網路最受推薦的影片之一。

梯度下降:神經網路如何學習

簡述:3Blue1Brown 系列第二集,說明損失函數與梯度下降如何一步步調整權重,對應本頁「訓練」的流程。

用 Python 實作基因演算法

簡述:Kie Codes 從零用 Python 寫出基因演算法解背包問題,清楚示範族群、適應度、選擇、交配與突變如何轉成程式碼。

練習題

練習 1:選擇演算法

為下列情境各選一種演算法並說明理由:(a) 銀行必須向客戶解釋貸款被拒的原因;(b) 把 10 萬名會員分成行銷族群;(c) 辨識 X 光片中的肺部異常。

參考答案

(a) 決策樹,決策路徑可解釋;(b) k-means,沒有標籤的分群問題;(c) 卷積神經網路(CNN),擅長處理影像。

練習 2:手算 k-NN

訓練資料:A(1, 1) 紅、B(2, 1) 紅、C(5, 5) 藍、D(6, 5) 藍、E(5, 6) 藍。用 k = 3 分類新點 P(4, 4)。

參考答案

距離平方:A = 9 + 9 = 18、B = 4 + 9 = 13、C = 1 + 1 = 2、D = 4 + 1 = 5、E = 1 + 4 = 5。最近 3 個為 C、D、E,皆為藍,所以 P 分類為 藍。

練習 3:神經網路訓練

依序寫出神經網路一次訓練迭代的四個步驟。

參考答案

(1) 前向傳播:輸入經各層計算得到預測;(2) 用損失函數計算預測與正確答案的誤差;(3) 反向傳播:計算誤差對每個權重的梯度;(4) 梯度下降:依梯度方向小幅調整權重與偏差。

練習 4:基因演算法的突變

如果把基因演算法的突變率設為 0,可能發生什麼問題?

參考答案

族群會逐漸變得相同,失去多樣性,只能組合既有的基因,容易卡在局部最佳解(local optimum),找不到更好的全域解。