機器學習流程--ML之一
流程
機器學習處理的流程大概如下:
- (1)資料獲取
- (2)資料清洗,特徵工程
- (3)模型選擇
- (4)結果校驗
那麼,在模型選擇及結果校驗過程中,有如下幾個標準:
過擬合與欠擬合
過擬合就是模型訓練的太好了,在訓練集上能夠非常好的完成目的,但是在測試集上,效果卻很差,通常過擬合是模型引數選擇過多導致,而欠擬合就是模型在測試機和訓練集上表現都不好。
欠擬合好處理,而過擬合不好處理,過擬合通過增加引數數量、提高特徵的使用,可以逐步提高擬合程度,而過擬合的處理相對不容易,要降低引數量來處理,比如重新清洗資料、增大訓練資料量、dropout、正則化處理。
正則化是處理過擬合比較常用的方法,比如L0正則、L1正則、L2正則,在機器學習深度學習中都有使用。L0正則是希望引數都是0,讓引數是洗漱的,而L1正則則是引數的絕對值之和是0,L2正則是引數的平方相加為0,L0和L1(Lasso)目的都是讓引數是稀疏的,那麼為什麼要引數是稀疏的呢?第一是方便特徵選擇,第二是結果可以更好的解釋,具體見文章
L2正則又叫嶺迴歸,也是使用非常多的一種正則化方法,他的目的是讓引數小,而不是接近於0,越小的引數越簡單,而越簡單就越越不容易出現過擬合,把特徵的權重降低,相當於減少單個特徵對整個模型的影響。
交叉驗證及引數選擇
引數選擇包括兩種引數,一個是模型自身引數,比如邏輯迴歸的引數,svm的引數等,另一種是超引數,比如kmeans的k的選擇,這些引數通常需要手動設定。
交叉驗證則是在模型構建過程中,將資料集分為測試集合驗證集,測試集用於測試,驗證集驗證模型效果。網格搜尋是另一種,網格搜尋則是構建網格進行搜尋最好的模型引數。
特徵選擇
去除方差最小的特徵,varianceThreshold,極端情況,如果在所有樣本在某個維度上的特徵全都相同,說明該特徵描述或者代表樣本能力很弱。
基於單變數統計特徵選擇,根據單變數統計測試選取特徵,selectkBest
基於模型的特徵選擇,比如隨機森林。
評價標準
- 曲線下面積AUC
二分類模型的評價指標,曲線:接受者操作特徵曲線ROC曲線,AUC的值就是ROC曲線下的面積
TP、FP、TN、FN
- TPR:實際值是1的樣本中,被正確地預測為1的比率
- FPR:在所有實際值是theta的樣本中,被錯誤預測為1的比率
- AUC在0-1之間
- 0.5 AUC 1,優於隨機猜測
- AUC = 0.5 隨機
- AUC < 0.5 比隨機猜測還差
- 對數損失
模型輸出可以用logloss來評價預測結果。