L23 含 Python 程式題 16-20% 勘誤超重要 擇一報考

機器學習技術與應用

中級擇一科目,50 題,90 分鐘,及格 70 分

🚨 官方勘誤(L23 最重要!必讀)

主題:Recall 公式

❌ 官方學習指引錯誤版本 Recall = TP / (TP + FP)
✅ 正確版本(考試用此版) Recall = TP / (TP + FN)

影響:直接影響模型評估考題答案,是 L23 最重要勘誤

主題:加權求和通式

❌ 官方學習指引錯誤版本 w₁x₁ + w₂x₂
✅ 正確版本(考試用此版) Σ wᵢxᵢ(通式,i = 1 to n)

影響:神經網路節點計算題的正確寫法

整理:Precision vs Recall 完整公式

指標 公式 意義
Precision TP / (TP + FP) 預測為正中有多少真正是正
Recall ✅ TP / (TP + FN) 真正為正中有多少被找到
F1 Score 2 × P × R / (P + R) Precision 和 Recall 的調和平均

🐍 程式碼閱讀題(16-20%)

不需要寫程式,但要看懂以下常見模式:

# scikit-learn 標準流程

from sklearn.pipeline import make_pipeline

from sklearn.preprocessing import StandardScaler

from sklearn.linear_model import LogisticRegression

pipe = make_pipeline(StandardScaler(), LogisticRegression())

pipe.fit(X_train, y_train) # 前處理 + 訓練

y_pred = pipe.predict(X_test)

# cross_val_score 回傳每個 fold 的分數(陣列,不是 mean)

scores = cross_val_score(model, X, y, cv=5)

print(scores.mean()) # 才是平均分

⚠️ 115 年新增考點警報

  • scikit-learn Pipeline 程式碼閱讀(make_pipeline、fit_transform)
  • Keras/TensorFlow Sequential model 結構
  • SHAP 值(模型可解釋性,特徵貢獻度量化)
  • Optuna / GridSearchCV 超參數調整

約 16-20% 程式碼閱讀題;Recall 公式勘誤是超高頻考點,官方學習指引原版有誤

知識點地圖(依評鑑範圍)

L231 機器學習基礎數學(預估 8-10 題)

機率統計

  • • 條件機率、貝氏定理
  • • 常態分佈、t 分佈
  • • 最大似然估計(MLE)

線性代數 + 優化

  • • 矩陣乘法、轉置、特徵值
  • • PCA 降維原理(特徵值分解)
  • • 梯度下降(Gradient Descent)

L232 機器學習與深度學習(預估 18-22 題,最多!)

Ensemble 方法(高頻!)

  • • Bagging(隨機森林):平行,降 Variance
  • • Boosting(XGBoost):序列,降 Bias
  • • Stacking:用另一個模型整合預測結果

深度學習架構

  • • CNN:影像特徵(卷積 + 池化)
  • • RNN/LSTM:序列資料(時間序列、NLP)
  • • Transformer:Self-Attention,平行計算

L233 建模與調校(預估 15-18 題)

過擬合處理

  • • L1(Lasso)/ L2(Ridge)正則化
  • • Dropout(隨機丟棄神經元)
  • • Early Stopping
  • • 增加訓練資料 / 資料增強

超參數調整

  • • Grid Search vs Random Search
  • • K-fold Cross Validation
  • • Learning Rate 排程

常見陷阱

⚠️

【勘誤!】Recall 公式:官方學習指引原版寫 TP/(TP+FP) 是錯誤的,正確為 TP/(TP+FN)

⚠️

Precision vs Recall 定義:Precision = 預測為正中有多少真正是正;Recall = 真正為正中有多少被找到

⚠️

Bagging vs Boosting:Bagging(隨機森林)降低 Variance 並行;Boosting(XGBoost/AdaBoost)降低 Bias 序列

⚠️

cross_val_score 回傳值:每個 fold 的分數陣列,不是 mean;要用 .mean() 取平均

備考計畫

7 天速成建議

  1. Day 1:【必讀】Recall 公式勘誤 + Precision/Recall/F1/AUC 全部弄清楚
  2. Day 2:L231 數學基礎(梯度下降、PCA)
  3. Day 3-4:L232 算法(Ensemble + 深度學習架構)
  4. Day 5:scikit-learn Pipeline 程式碼閱讀練習
  5. Day 6:L233 過擬合 + 超參數調整
  6. Day 7:全科模擬 50 題

策略:【最重要】Recall = TP/(TP+FN),官方原版錯了,考題用正確版。程式碼題重點是理解 Pipeline 流程(資料前處理 → 訓練 → 評估),不需背 API