詳細解釋
協變量偏移(Covariate Shift)指訓練集和測試集的輸入分布不同,是機器學習泛化失敗的常見原因。
數學定義:
- 訓練分布:P_train(X) ≠ P_test(X)
- 條件分布保持:P(Y|X) 相同
- 只輸入分布改變,條件關係不變
與其他分布偏移的對比:
- 協變量偏移:P(X)改變,P(Y|X)不變
- 概念漂移(概念漂移):P(Y|X)改變
- 標籤偏移:P(Y)改變
- 全部都可能同時發生
常見原因:
- 時間變化:訓練數據過時
- 地理差異:不同地區的用戶行為不同
- 採樣偏差:訓練數據不代表目標群體
- 硬體變化:傳感器不同
- 預處理差異:訓練和部署的處理不同
解決方法:
- 重要性加權:
- 給予訓練集中「類似測試分布」的樣本更高權重
- 估計密度比 w(x) = P_test(x) / P_train(x)
- 域適應(Domain Adaptation):
- 對抗訓練:學習域不變特徵
- 自編碼器:學習跨域通用表示
- 穩健優化:
- 分佈魯棒優化(DRO)
- 考慮最壞情況分布
檢測方法:
- 監測輸入特徵的統計量
- 假設檢驗:訓練和生產數據是否同分布
- 異常檢測:新數據是否異常
預防策略:
- 隨機抽樣:確保訓練數據代表性
- 持續監測:跟蹤模型性能漂移
- 定期重訓練:用新數據更新模型
- A/B測試:驗證新數據上的性能
協變量偏移是部署ML模型必須監控的問題。