iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用・114 年第二次・L23・第 48 題

Titanic MLP 資料標準化,哪些敘述正確?

原題

使用鐵達尼號(Titanic)資料集進行多層感知機(Multilayer Perceptron, MLP)分類預測分析,其中 survived 為反應變數(1 表示存活,0 表示死亡)。資料載入後切分為 X_train(前 9 欄)/y_train(survived)/X_test/y_test,型別為 float32。 參考下圖程式碼: X_train -= X_train.mean(axis=0) X_train /= X_train.std(axis=0) X_test -= X_test.mean(axis=0) X_test /= X_test.std(axis=0) 敘述(複選 sub-options): A:X_train -= X_train.mean(axis=0) 將每個訓練集特徵的平均值調整為 0 B:X_train /= X_train.std(axis=0) 將每個訓練集特徵的標準差調整為 0 C:X_train 處理結果會將資料壓縮到 0 和 1 之間 D:標準化結果防止梯度爆炸或消失 E:標準化是屬於特徵選擇(Feature Selection)方法 F:X_train 程式碼應修正為 X_train = X_train.std(axis=0),X_test 程式碼應修正為 X_test = X_test.std(axis=0) 請問下列何者正確?(4 個選項各為不同的子敘述組合)

白話

Titanic MLP 分析專案中,工程師在訓練模型前對特徵做了「標準化」處理:先減去各特徵的平均值,再除以標準差。題目列出了 6 個關於這段程式碼的敘述(A 到 F),這是一題複選題:4 個選項各是不同的子敘述組合,要從中選出「全部正確」的那個組合。

問你:6 個子敘述中,哪些是正確的?而對應到哪個選項組合?

一句話總結

6 個子敘述中正確的是子敘述 A(平均值調整為 0)和子敘述 D(防止梯度爆炸/消失),選項 C 的「A、D」組合即為正解。其餘子敘述 B、C、E、F 各有明確錯誤。

情境

先感受問題:神經網路為什麼要先「標準化」特徵?

Titanic 資料集的 9 個特徵量綱差異極大:年齡(Age)在 0-80 之間、票價(Fare)可以到 500 以上、性別(Sex_encoded)只有 0 或 1。如果直接丟進神經網路,量綱大的特徵(票價)會主導梯度,量綱小的特徵(性別)幾乎被忽視,訓練不穩定。

標準化(Z-score normalization):每個特徵減去均值、除以標準差,讓所有特徵都縮放到「均值 0、標準差 1」的範圍,讓梯度更均衡,訓練更穩定。

這道複選題有 6 個子敘述,題目把它們打包成 4 個「哪些正確」的組合,要你逐一判斷每個子敘述的對錯,再找到對應的正確組合。

舊方法

逐一判斷 6 個子敘述

  1. 子敘述 A(正確):X_train -= X_train.mean(axis=0) 對每個特徵(欄)減去該特徵的均值,讓每個特徵的均值變為 0。axis=0 表示沿樣本維度計算均值,結果是一個長度為特徵數(9)的向量。
  2. 子敘述 B(錯誤):X_train /= X_train.std(axis=0) 是除以標準差,結果是讓標準差變為 1,不是 0。標準差為 0 的特徵沒有意義(所有值相同),除以標準差是讓它「縮放到標準差 = 1」。
  3. 子敘述 C(錯誤):標準化不是 Min-Max 縮放,不會把資料壓縮到 0 和 1 之間。Z-score 標準化後的範圍是 (-∞, +∞),只是均值為 0、標準差為 1,可能有超出 -1 到 1 的值。Min-Max 縮放才是壓縮到 0-1。
  4. 子敘述 D(正確):特徵標準化確實有助於防止梯度爆炸(量綱大的特徵梯度過大)和梯度消失(量綱小的特徵梯度過小),是神經網路訓練穩定性的重要技術。
  5. 子敘述 E、F(皆錯誤):E 說標準化是「特徵選擇」,但標準化屬於特徵縮放(Feature Scaling),決定的是數值範圍,不是哪些特徵要保留;F 的「修正」把 -= 改成 =,X_train = X_train.std(axis=0) 會讓 X_train 從資料矩陣變成一個只有 9 個數的標準差向量,原始資料全部消失,是破壞性錯誤。

新方法

正確的兩個:A 和 D

整理 6 個子敘述的對錯:

  • A:正確(減均值讓均值為 0)
  • B:錯誤(除以標準差讓標準差為 1,不是 0)
  • C:錯誤(Z-score 不壓縮到 0-1,是 Min-Max 的功能)
  • D:正確(標準化防止梯度問題)
  • E:錯誤(標準化是特徵縮放,不是特徵選擇)
  • F:錯誤(提議的修正破壞了資料結構)

正確的子敘述是 A 和 D,對應選項 C 的「A、D」組合。

這就是選項 C 講的:A、D(子敘述 A 和 D 正確)。

錯選項

為什麼其他選項是錯的

AA、B、C、D

字面在說什麼

子敘述 A、B、C、D 全部正確。

為什麼不對

子敘述 B 說「除以標準差讓標準差調整為 0」是錯誤的,除以標準差讓標準差變為 1,不是 0;子敘述 C 說「壓縮到 0 和 1 之間」也是錯誤的,Z-score 標準化的輸出範圍是 (-∞, +∞),不是 [0, 1],那是 Min-Max 縮放的效果。

誰會選錯

對「標準化」和「歸一化(Min-Max)」的差異不清楚,以為所有「預處理」都是把資料壓縮到 0-1;或誤讀了子敘述 B,以為「標準差縮放到某個值」就是「調整為 0」。

BA、E

字面在說什麼

子敘述 A(均值為 0)和 E(標準化是特徵選擇)正確。

為什麼不對

子敘述 E 說標準化屬於「特徵選擇」是錯誤的。標準化是「特徵縮放」,它不選擇哪些特徵要保留,而是調整所有保留特徵的數值範圍。特徵選擇包含 Filter(相關係數、卡方檢定)、Wrapper(遞迴特徵消除 RFE)、Embedded(Lasso 正則化),完全不同的概念。

誰會選錯

把「對特徵做處理」統稱為「特徵選擇」,沒有區分縮放(Scaling)和選擇(Selection)是兩個不同的前處理步驟。

DA、C、F

字面在說什麼

子敘述 A、C(壓縮到 0-1)和 F(修正程式碼)正確。

為什麼不對

子敘述 C 把 Z-score 標準化(結果不限 0-1)誤解成 Min-Max 縮放(結果是 0-1);子敘述 F 的「修正」把 X_train -= 改成 X_train =,直接把資料矩陣覆蓋成一個向量,是破壞性的錯誤,不是「修正」。

誰會選錯

把 -=(減等於)和 =(指派)搞混,以為 F 的「修正」是合理的;同時把 Z-score 和 Min-Max 混淆,選了 C。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

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

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。