iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用

想自動篩選特徵又防過擬合,該用哪種正則化?

原題 32

某電信公司開發客戶流失預測模型,使用大量顧客行為特徵,例如通話時長、上網頻率、帳單金額、客服聯絡次數等。在訓練過程中,團隊發現部分特徵彼此高度相關,但同時也懷疑有些特徵對流失預測的貢獻有限。若希望模型在避免過擬合(Overfitting)的同時,能自動篩選出較具代表性的特徵,採用下列哪一種方法最為合適?

白話

一家電信公司的模型有大量行為特徵,部分特徵高度相關,部分特徵可能對預測沒什麼幫助。他們希望模型既能防止過擬合,又能在訓練過程中自動把不重要的特徵「排除掉」。

問你:哪一種方法能在防止過擬合的同時,自動篩選特徵(讓部分特徵係數變成零)?

點選你的答案。

01 總結

一句話總結

想要防過擬合又能自動篩選特徵,答案是:L1 正則化(Lasso),它的懲罰項會把不重要特徵的係數直接壓到零,等同於自動移除那些特徵,這是 L2 正則化做不到的

02 情境

先感受問題:30 個特徵裡,真的有幾個有用?

「速連電信」的資料科學家林佳蓉正在建一個預測客戶是否會取消合約的模型。她的特徵清單有 30 個欄位:通話時長、上網頻率、帳單金額、客服聯絡次數、開通月份、是否用 App、設備型號……

她的困境:

問題 1:特徵太多,模型可能過擬合(把訓練資料中的雜訊都學起來)
問題 2:「帳單金額」和「合約期限」高度相關,重複資訊可能干擾模型
問題 3:「設備型號」對客戶流失可能根本沒有預測力,但模型不知道

林佳蓉需要一個方法,讓模型在訓練時自動判斷哪些特徵有用、哪些可以捨棄,同時防止過擬合。

L1 正則化(Lasso)能做到這件事:它在訓練時對每個特徵係數加「絕對值懲罰」,讓不重要的係數直接變成零,等同於自動特徵選擇。

03 對照

不用 L1 會踩哪些坑?

  1. 不用任何正則化:模型在訓練集上表現極好,但碰到新客戶的資料就崩潰,因為它把每個特徵的細微噪音都學進去了(過擬合)。30 個特徵都有非零係數,模型複雜度過高。
  2. 只用 L2(Ridge):L2 會把所有係數縮小,但不會讓任何係數變成精確的零。30 個特徵訓練後還是 30 個非零係數,「設備型號」這種無用特徵還是留在模型裡,只是影響力小一點而已。
  3. 手動移除特徵再用 L2:先找出「多重共線性」特徵(統計分析)再加 L2,需要額外的前處理步驟,工程量大,而且「判斷哪些特徵有共線性」這個決策本身也有主觀性。
  4. 用早期停止法(Early Stopping):Early Stopping 控制的是「訓練幾輪」,它不影響特徵係數是否為零,沒有特徵選擇的功能,只能防止過擬合。
  5. 只靠人工特徵選擇:需要專業知識判斷每個特徵的重要性,費時費力,而且可能漏掉非線性的交互作用。L1 讓模型自己在訓練中決定哪些特徵值得保留。
04 解法

L1 正則化:懲罰讓係數歸零,等同自動特徵篩選

林佳蓉在流失預測模型的損失函數中加入 L1 懲罰項,設定正則化強度 λ = 0.01,開始訓練。

訓練完成後,她檢視各特徵的係數:

通話時長:係數 −0.43(有影響)
客服聯絡次數:係數 0.67(強烈預測流失)
帳單金額:係數 0.22(有影響)
設備型號:係數 0.00(自動被排除)
開通月份:係數 0.00(自動被排除)
… 30 個特徵中有 12 個變成零

模型自動把 12 個「沒有預測力」的特徵排除,只用剩下 18 個有用的特徵。模型變得更簡潔,泛化能力也更好。

這就是選項 D 講的:採用 L1 正則化(Lasso),透過懲罰項使部分特徵係數縮為 0

技術版:L1 和 L2 正則化的數學差異與稀疏解的形成

L1 正則化(Lasso)在損失函數中加入所有係數絕對值的總和:Loss = 原始損失 + λ × Σ|wᵢ|。L2 正則化(Ridge)則加入係數平方的總和:Loss = 原始損失 + λ × Σwᵢ²。

為什麼 L1 能讓係數變零,而 L2 不行?幾何上解釋:L1 的懲罰區域是「菱形」(頂點在座標軸上),最優解很可能落在菱形的頂點,也就是某些係數精確為零的位置。L2 的懲罰區域是「圓形」,沒有頂點,最優解不會精確為零,只會接近零。

L1 的這個特性稱為「稀疏解(Sparse Solution)」,適合特徵數量多、但只有部分特徵真正有預測力的場景(高維稀疏資料)。L2 適合特徵之間有相關性、希望係數均勻縮小的場景,在多重共線性(Multicollinearity)問題上更穩定。

Elastic Net 正則化是 L1 + L2 的混合,兼顧兩者優點,特別適合「特徵高度相關且只有部分重要」的情境,比本題的情境更貼切,但考題讓你選最直接對應「係數歸零」需求的選項。

05 陷阱

為什麼其他選項是錯的

選項 A Early Stopping

字面在說什麼:用 Early Stopping 控制訓練輪數,可以同時防止過擬合並篩選特徵。

為什麼不對:Early Stopping 透過「決定訓練幾輪」來防過擬合,它和特徵係數是否為零完全無關,無法自動篩選特徵。提早停止訓練只是讓模型「學得少一點」,不是讓不重要的特徵係數消失。

誰會選錯:知道 Early Stopping 能防過擬合,但不清楚「防過擬合」和「特徵選擇」是兩個不同問題的人。

選項 B 手動移除共線性特徵 + L2

字面在說什麼:先移除多重共線性特徵,再加 L2 正則化,就能穩定收斂並自動篩選特徵。

為什麼不對:L2 正則化可以讓係數縮小,但不能讓係數精確為零。就算先移除了共線性特徵,剩下的特徵仍全部保留非零係數,沒有自動篩選的效果。而且手動移除共線性特徵是額外的前處理步驟,並非「自動篩選」。

誰會選錯:混淆 L1 和 L2 差異的人,以為 L2 也能讓係數歸零。

選項 C 僅用 L2(Ridge)

字面在說什麼:L2 正則化能抑制所有特徵的權重幅度,同時防止過擬合。

為什麼不對:L2 確實能防止過擬合,但它「保留全部特徵」這件事正是選項描述明確點出的,也是它做不到「自動篩選特徵」的根本原因。題目明確要求「能自動篩選出較具代表性的特徵」,L2 無法達成這個需求。

誰會選錯:記得「正則化能防過擬合」,但不記得 L1 和 L2 在稀疏性上的差異,選了「防過擬合」部分正確但「特徵篩選」部分錯誤的選項。

06 變形

同個考點下次怎麼變形

變形 1 邊界

直覺:L1 的正則化強度 λ 設很大和設很小,對特徵係數有什麼影響?

答案:λ 很大:大量係數被壓成零,模型極度稀疏,可能太簡單而欠擬合(Underfitting)。λ 很小(接近 0):懲罰力道很弱,幾乎等同沒有正則化,模型容易過擬合。選擇適當的 λ 需要透過交叉驗證(Cross-Validation)調整。

變形 2 反例

直覺:有一組特徵彼此高度相關(例如「通話時長」和「通話費用」),用 L1 時會發生什麼?

答案:L1 在面對高度相關的特徵時,傾向隨機選留其中一個(讓另一個歸零),而非同等縮小。L2 在這種情況下更穩定,會均等縮小兩個相關特徵的係數。這是 L1 的一個已知弱點,Elastic Net 能同時解決稀疏性和共線性問題。

變形 3 升級版

直覺:Elastic Net 是什麼?什麼情境下會比單純 L1 或 L2 更好?

答案:Elastic Net = L1 + L2 的線性組合,用兩個超參數控制各自比例。適合「特徵很多、彼此相關、但只有部分重要」的場景(和本題的電信案例非常吻合):L1 部分負責讓不重要的特徵歸零,L2 部分負責穩定處理相關特徵。比純 L1 更不容易因相關特徵而不穩定。

變形 4 跨領域

直覺:L1 正則化在神經網路和線性模型中的效果一樣嗎?

答案:在線性模型(Lasso 迴歸、Logistic Regression)中,L1 的稀疏效果很強且理論完備,係數為零等於直接排除特徵。在深度神經網路中,因為非線性和大量參數,L1 的稀疏效果不如線性模型明顯,深度學習更常用 Dropout 或 L2 防止過擬合,稀疏性則透過 Pruning 或結構化稀疏達成。

變形 5 評估指標

直覺:如何判斷 L1 的正則化效果是否適當?

答案:觀察三個指標:(1)驗證集損失是否比無正則化時更低或更穩定;(2)訓練集和驗證集的損失差距是否縮小(差距大代表過擬合仍存在);(3)係數為零的特徵比例是否合理(太多零代表 λ 過大,模型太稀疏)。通常用交叉驗證選出最佳 λ。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用 第 32 題

查看官方原文 PDF