1. 背景
在多變量自聯想預測或異常檢測場景中,我們常使用帶噪自編碼器(Denoising AutoEncoder,DAE)來訓練模型,使模型能夠從帶噪輸入中重構原始數據。噪聲的添加方式對訓練效果、穩定性以及模型用途有顯著影響。
2. 兩種噪聲添加方式對比
2.1 等比例加噪聲后標準化
實現方式:
noise_factor = 0.05
X_noisy = X * (1 + np.random.uniform(-noise_factor, noise_factor, X.shape))
X_scaled = (X_noisy - X_noisy.mean()) / X_noisy.std(ddof=0)
特點:
- 噪聲大小隨原始數值幅度變化,保留原始比例波動。
- 標準化后仍保留原始數據結構,但均值、方差會被噪聲略微影響。
適用場景:
- 還原原始數據分布或記憶特征。
- 數據量綱差異不大或希望保留真實比例關系。
- 當模型輸入和輸出都是原始 X 時,這是最合理的方式。
優點:
- 保留原始數值構成的比例信息。
- 模型訓練目標明確:重構原始 X。
缺點:
- 大幅波動變量可能導致噪聲過大,需要適當控制
noise_factor
。
2.2 標準化后添加高斯噪聲
實現方式:
X_scaled = (X - X.mean()) / X.std(ddof=0)
X_noisy = X_scaled + np.random.normal(0, noise_factor, X_scaled.shape)
特點:
- 所有變量噪聲幅度一致,可控。
- 數據被統一到標準化空間,訓練更穩定。
適用場景: - 目標是 增強模型魯棒性,訓練模型從噪聲中恢復輸入。
- 數據量綱差異大,或者希望訓練過程穩定,便于調參。
- 不關注原始比例關系,只關注模型對擾動的泛化能力。
優點:
- 訓練穩定,可控性強。
- 易于統一設置噪聲強度,調參方便。
缺點:
- 不保留原始數值比例,失去還原原始構成的特性。
- 對“記憶原始數據特征”的目標不夠直接。
3. 總結對比
特性 | 等比例加噪聲后標準化 | 標準化后加噪聲 |
---|---|---|
噪聲依賴 | 原始數值幅度 | 標準化空間均一 |
訓練穩定性 | 受大幅變量影響 | 更穩定可控 |
是否保留原始比例 | 是 | 否 |
調參難度 | 中等 | 較低 |
適用目標 | 擬合記憶矩陣,記錄 X 構成 | 增強模型魯棒性,泛化能力 |
4. 結論
根據項目目標——重構原始數據、擬合記憶矩陣——推薦采用 “原始 X 加噪聲后再標準化” 的方式。
- 優點:保持數據比例關系,模型學習的是原始數據的構成特征,訓練結果可直接反映 X 的分布。
- 注意事項:
- 控制噪聲幅度,避免極端值過大影響訓練。
- 標準化仍必不可少,用于優化梯度更新和加快收斂。