M02.03|資料品質:垃圾進垃圾出的真相
AI 模型只能跟資料一樣好 — 餵垃圾進去,吐垃圾出來
本講學習重點
Garbage In Garbage Out,爛資料訓練出爛模型
完整性、正確性、一致性、時效性、唯一性、相關性
缺失值、重複紀錄、格式不統一、過期資料
用統計方法檢測異常值、空值比例、分布偏斜度
🎙️ Podcast(中文)
一句話搞懂
AI 模型的表現上限取決於資料品質 — 如果訓練資料有 30% 是錯的,你不可能訓練出一個 95% 準確率的模型,不管你用多先進的演算法。
白話解說
你有沒有在做菜的時候發現食材已經壞了?即使你是米其林主廚,用壞掉的魚也煮不出好吃的生魚片。AI 也一樣 — 這就是 GIGO 原則:Garbage In, Garbage Out(垃圾進,垃圾出)。
資料品質可以從六個維度來檢查,我稱之為「資料品質六脈神劍」:
完整性(Completeness):該有的欄位都有嗎?如果客戶資料表裡 40% 的電話號碼是空白的,那你的 AI 就無法用電話區碼做地理分析。缺失值是最常見的品質問題。
正確性(Accuracy):資料跟現實世界吻合嗎?如果客戶的生日填成 1800 年、地址寫成「asdfjkl」,這些資料不但沒用,還會誤導模型。
一致性(Consistency):同一件事在不同地方的記錄一樣嗎?如果 A 系統記錄客戶「台北市」、B 系統記錄「臺北市」、C 系統記錄「Taipei」,串在一起就會變成三個不同的城市。
時效性(Timeliness):資料夠新嗎?2020 年的消費者行為資料拿來預測 2026 年的趨勢,中間經歷了疫情和 AI 爆發,那些資料可能已經過時了。
唯一性(Uniqueness):有沒有重複的紀錄?同一個客戶因為系統合併被記錄了三次,你的 AI 會以為這個客戶的購買頻率是實際的三倍。
相關性(Relevance):這些資料跟你要解決的問題有關嗎?蒐集了客戶的血型來預測他的消費行為,這個欄位大概率只是噪音。
應用場景
場景:一家台灣銀行的信用卡詐騙偵測
某銀行要用 AI 偵測信用卡盜刷。他們有三年的交易資料,總共 5,000 萬筆。聽起來很多,但品質盤點後發現:
| 品質維度 | 問題 | 影響 |
|---|---|---|
| 完整性 | 12% 的交易缺少商店類別碼 | 無法學習「某類商店盜刷率高」的模式 |
| 正確性 | 部分交易金額因為幣別轉換有誤差 | 模型可能誤將正常的大額外幣交易標記為異常 |
| 一致性 | 同一商店在不同時期的名稱記錄不同 | 無法準確追蹤特定商店的詐騙模式 |
| 時效性 | 含 2020 年疫情期間資料 | 疫情期間消費模式異常,可能扭曲正常行為基準 |
| 唯一性 | 某些退款交易被重複記錄 | 虛增了交易量,稀釋了詐騙比例 |
| 相關性 | 蒐集了持卡人身高體重 | 跟詐騙完全無關,增加模型複雜度卻沒價值 |
銀行花了三個月修復這些問題後,模型的詐騙偵測率從 72% 提升到 89%。注意:他們用的是完全相同的演算法 — 改善的是資料品質,不是模型。
常見誤區
-
「資料品質不夠好就多蒐集一些」 — 量不能彌補質。如果你的資料蒐集流程本身就有問題(例如表單設計不良導致用戶亂填),多蒐集只是多了更多垃圾。正確做法是先修好蒐集流程,再擴大蒐集規模。
-
「AI 夠聰明,可以自己處理髒資料」 — 某些 AI 技術確實對噪音有一定的容忍度(例如深度學習的 dropout 機制),但這不代表你可以不做資料清理。AI 對系統性錯誤(如所有女性的職稱都填成「小姐」而非實際職稱)是無能為力的 — 它會把這個錯誤當作真實模式來學習。
-
「資料品質是 IT 部門的事」 — 資料品質的根源通常在業務端:業務員隨便填 CRM、客服人員跳過某些欄位、不同部門對同一個概念用不同的定義。改善資料品質需要從業務流程著手,不是 IT 部門寫個清理腳本就能解決的。
小練習
-
品質健檢:拿你手邊任何一份 Excel 報表或資料庫匯出檔,用六大維度逐一檢查:完整性(空值比例)、正確性(有沒有明顯錯誤的值)、一致性(同一欄位的格式是否統一)、時效性(資料多久更新一次)、唯一性(有沒有重複列)、相關性(有沒有跟目標無關的欄位)。記錄你發現最嚴重的三個問題。
-
GIGO 案例分析:想一個你工作中曾經因為「資料品質不好」而導致決策錯誤或報表不準確的案例。它屬於六大維度中的哪一個問題?當時是怎麼發現的?如何避免再次發生?