L06|隨機森林:可靠又好解釋的表格模型(Random forests)

零基礎提示

  • 這一課不用額外數學
  • 看不懂的詞查 白話小辭典
  • 字幕:離線網站選「中英」(電腦翻譯,大意正確)
Random forests

隨機森林幾乎不需要前處理、不假設資料長什麼樣子。這課從零做出決策樹與隨機森林,並用它來理解資料;後半段示範 Kaggle 稻米病害比賽的快速迭代。 (Random forests need almost no preprocessing and make few assumptions about the data. Build one from scratch, use it to understand data, then iterate fast on the Kaggle paddy disease competition.)

項目內容
所屬Part 1:Practical Deep Learning
影片YouTube
對應書本章節第 9 章 Tabular
原始頁面Lessons/lesson6
難度(F3 視角)★★★☆☆ 中等

影片

本課重點

  1. 二元切分:決策樹的基本動作:選一個欄位和切點,把資料分兩組。好的切分讓每組內的答案很接近;用「各組標準差 × 組大小」相加打分,越低越好。只切一次就是 OneR,是很好的基準模型。
  2. 決策樹:反覆切分就是決策樹。sklearn 能畫出樹狀圖,常用 gini 衡量純度。決策樹不需要虛擬變數、不怕長尾分布或極端值,很適合探索資料。
  3. Bagging 與隨機森林:訓練很多棵用隨機子集資料(和隨機欄位)長出來的樹,把預測平均。每棵樹的錯誤彼此無關,平均後互相抵消。這就是隨機森林。
  4. 隨機森林的解釋力:特徵重要性(feature importance)看哪些欄位最有用;OOB 誤差用每棵樹沒看過的資料估計準確度;部分依賴圖看單一欄位怎麼影響結果;tree interpreter 解釋單筆預測。
  5. 梯度提升:Boosting 是另一種集成:每棵小樹專門修正前面樹的殘差,相加起來。和 bagging 不同,boosting 可能過擬合。
  6. Kaggle 快速迭代:稻米病害比賽:先做一個一分鐘內能訓練完的基準模型,立刻提交;重點是好的驗證集和快速迭代。先把圖片縮小以加快速度,用 resnet26d 起步,再換 convnext。
  7. 影像實驗技巧:比較 squish、crop、pad 三種縮放;測試時增強(TTA)是對同一張圖做多種增強再平均預測,像迷你 bagging;最後用更大的圖片和更多 epoch。

關鍵概念

英文術語中文一句話解釋
Decision tree決策樹一連串「是/否」切分組成的樹狀模型
Binary split二元切分依一個欄位的門檻把資料分成兩組
Gini吉尼不純度衡量一組資料混雜程度,越低越純
Bagging裝袋法多個模型各用隨機子集訓練,再平均預測
Random forest隨機森林對決策樹做 bagging,並在切分時隨機選欄位
OOB error袋外誤差用每棵樹沒用到的資料來估計誤差
Feature importance特徵重要性各欄位對預測貢獻多少
Gradient boosting梯度提升逐棵加樹,每棵修正前面的殘差
TTA測試時增強預測時對同一張圖做多種增強後平均
Baseline基準模型最簡單的第一個模型,用來衡量後續改進

認識關聯圖與重點圖

L06_關聯圖_202611041526

練習題

  1. 用性別切分鐵達尼號的一小組資料:A 組生還 [1, 1, 1, 0],B 組生還 [0, 0, 0, 1]。用「母體標準差 × 組大小」相加算出切分分數。完美切分的分數會是多少?
  2. 什麼是 OneR?為什麼建議每個專案都先做一個這樣的基準模型?
  3. 用「猜一罐糖果有幾顆」解釋為什麼平均很多棵不相關的樹會更準。
  4. 用線性模型時要做的哪些前處理,換成隨機森林就不需要?至少說三個。
  5. 特徵重要性可以怎樣幫你理解資料?舉一個你會用它的例子。

資源連結

英文延伸資源(零基礎可以先略過,點開看)

相關筆記

Built with LogoFlowershow