關鍵字:科學的模型訓練
1. 背景
1.1 選擇正確的改進方向
在實際應用過程中,算法模型的準確度還不夠好。為改進這個問題應該怎麼做?
- 擴大樣本容量,收集更多維度數據
- 優化特徵工程
- 改良模型算法或參數
總結:每一個方向都是一個選擇,選擇一個正確的方向,能夠大大提高效率。
2.2 數據發展趨勢
數據增長:得益於數字設備的發展,互聯網的發展
計算能力:得益於計算機計算能力的提高
趨勢:數據量越來越大,深度學習模型在海量數據上的表現更加高於傳統機器學習模型(另,文本類數據近年來增長速度更快)
2. 設置開發、測試集
2.1 結果導向,訓練數據與實際業務需一致(數據角度)
- 充分考慮訓練數據與實際業務數據一致(數據質量,數據分佈)
- 合理劃分數據,引導模型做出最正確的訓練
訓練數據和業務數據不一致會導致訓練的模型無法泛化實際業務,造成較大偏差,使用訓練集(做訓練用),開發集(特徵選擇,調整參數用),測試集(評估算法性能)
2.2 開發集、測試集應服從同一分佈
避免訓練集、開發集、測試集不符合同一分佈,如果處在不同的分佈狀態,可能會導致模型過擬合,無法泛化適應另一個分佈
2.3 開發集、測試集規模應能根據評估性能所需程度(開發集通常1000~10000)
傳統的訓練、測試集對於大規模數據並不適用,開發集和測試集的比例會遠小於30%
關注不同算法、參數模型得出結果差異,根據差異水平1%?0.1%?0.01%?,決定是否需要更大的樣本凸顯差異;大樣本也不要遠超過評估性能所需程度。
關注業務需求,較小的準確率是否對業務提高較大提升(投入產出比)
2.3 模型單值評估及優化(通常進行平均或加權平均糅合成單一指標)
單值評估指標:AUC、F1、Score 衡量最終結果
準確率(precision)、召回率(recall):衡量模型某方面能力
有時候不單一的考慮準確度,還要考慮效率(比如運行時長)、滿意度(偽真和假反的發生頻率)、期望收入(概率和期望的綜合結果)
2.4 建立idea-code-experiment 循環
快速迭代,快速改進方案,不斷循環提升,記錄優化方向,檢測提升原因,覆盤優化
3. 誤差分析
3.1 預估投入產出,決定優化方案
通過分析各類誤差分佈情況,預估優化成效及投入,評估是否值得投入
建議先解決其他原因的誤差,隨著優化的調整,再考慮標註結果誤差
3.2 建立Eyeball & Blackbox 開發集驗證
- 大型開發集中,不需要考慮所有的誤判樣本,可以建立少量的Eyeball,檢查誤差
- 如果出現Eyebal性能提升遠高於Blackbox,則可能有過擬合風險,要修改Eyeball
3.3 Eyeball & Blackbox 規模應足夠大
- Eyeball應當足夠大,以便提供足夠的錯誤分類樣本
- Blackbox一般1000~10000個樣本就足夠
4. 偏差與方差
4.1 偏差與方差的兩大來源
偏差:訓練集上的錯誤率
方差:測試集的表現低於訓練集的程度
貝葉斯錯誤率:可避免偏差誤差+方差誤差
若有較高可避免偏差,可加大模型規模,若有較高方差,可加大樣本量或正則
4.2 偏差與方差的權衡
加大規模可能會減少偏差,增大方差,加入正則可能會增加偏差,減少方差,也有些時候可以時增加方差和偏差
減少偏差:
- 加大模型規模
- 增加特徵選擇
- 減少正則
- 修改模型結構
- 添加更多數據
減少方差:
- 減小模型規模
- 減少特徵選擇
- 根據誤差分析修改特徵
- 加入正則
- 修改模型結構
- 添加更多數據
- 提前結束模型
5. 學習曲線
5.1 診斷偏差與方差
通過偏差和方差隨著樣本數量增加,走向來確定:
欠擬合
高偏差,過擬合
高方差,欠擬合,增加樣本
高偏差,高方差
6. 樣本分佈
6.1 樣本選取細節
- 儘量剔除無用數據,減少浪費計算機資源和模型表徵能力
- 對於不一致的數據是否添加,從業務意義和關注點區分,有些數據加入能增加模型表徵能力,有些數據加入會降低
- 設置數據權重,減少計算資源浪費
樣本選用:
● 訓練集:這是算法將學習的數據(例如,互聯網圖像+移動應用圖像)。這並不需要我
們從與真正關心的相同分佈(開發/測試集分佈)的數據中提取。
● 訓練開發集:這些數據來自與訓練集相同的分佈(例如,互聯網圖像+移動應用圖
像)。它通常比訓練集要小;它只需要足夠大到來評估和跟蹤我們的學習算法的進展。
● 開發集:這是從與測試集相同分佈的數據中抽取出來的,它反映了我們最終關心的數據
的分佈(例如,移動應用圖像) 。
● 測試集:這是從與開發集相同分佈的數據中抽取出來的(例如,移動應用圖像)。
有了這四個獨立的數據集,你現在可以評估:
● 訓練誤差,對訓練集進行評估。
● 該算法能夠泛化到與訓練集相同分佈數據的能力,並對訓練開發集進行評估。
● 算法在你實際關心的任務上的性能,通過對開發集 和/或 測試集評估。
閱讀更多 Ai機器學習 的文章