成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

機器學習競賽基礎知識

EddieChan / 3442人閱讀

摘要:線下評估策略通常在數據競賽中,參賽者是不能將全部數據都用于訓練模型的,因為這會導致沒有數據集對該模型的效果進行線下驗證。當時,也就是折交叉驗證,被稱作留一驗證。率也叫真正例率,率也叫假正例率,注意區(qū)別于準確率和召回率。

1. 線下評估策略

通常在數據競賽中,參賽者是不能將全部數據都用于訓練模型的,因為這會導致沒有數據集對該模型的效果進行線下驗證。為了解決這一問題,就要考慮如何對數據進行劃分,構建合適的線下驗證集。針對不同類型的問題,需要不同的線下驗證方式,在此分為強時序性和弱時序性。

1.1 強時序性問題

對于含有明顯時間序列因素的賽題,可將其看作強時間序行問題,即線上數據的時間都在離線數據集之后,這種情況下就可以采用時間上最接近測試集的數據做驗證集

例如,天池平臺上的“乘用車零售量預測”競賽,初賽提供 2012 年 1 月至 2017 年 10 月車型銷售數據,需要參賽者預測 2017 年 11 月的車型銷售數據。這是一個很明顯的含時間序列因素的問題,那么我們可以選擇數據集的最后一個月作為驗證集。

1.2 弱時序性問題

這類問題的驗證方式主要為 K 折交叉驗證,根據 K 的取值不同,會衍生出不同的交叉驗證方式,具體如下。

  1. 當 K=2 時,這是最簡單的 K 折交叉驗證,即 2 折交叉驗證。這個時候將數據集分成兩份:D1 和 D2。首先,D1 當訓練集,D2 當驗證集;然后,D2當訓練集,D1當驗證集。2 折交叉驗證存在很明顯的弊端,即最終模型參數的選取將在極大程度上依賴于事先對訓練集和驗證集的劃分方法。對于不同的劃分方式,其結果浮動非常大。
  2. 當 K=N 時,也就是 N 折交叉驗證,被稱作 留一驗證。具體做法是只留一個數據作為驗證集,其他數據都作為數據集,并重復 N 次(N 為數據集總量)。其優(yōu)點在于,首先它不受驗證集和訓練集劃分方式的影響,因為每一個數據都多帶帶做過驗證集;其次,它用了 N-1 個數據訓練模型,也幾乎用到了所有數據,從而保證模型偏差更小。同時,其缺點在于計算量過大,如果數據集是千萬級的,那么就需要訓練千萬次。
  3. 為了解決 1 和 2 中的缺陷,我們一般取 K=5 或 10,作為一種折中處理,這也是最常用的線下驗證方式。

下面給出通用的交叉驗證代碼,具體代碼如下:

from sklearn.model_selection import KFoldNFOLDS = 5folds = KFold(n_splits=NFOLDS, shuffle=True, random_state=2021)for trn_idx, val_idx in folds.split(X_train, y):    train_df, train_label = X_train.iloc[trn_idx, :], y[trn_idx]    valid_df, valid_label = X_train.iloc[val_idx, :], y[val_idx]

2. 評價指標

2.1 分類指標

(1)錯誤率與精度

在分類問題中,錯誤率是分類結果錯誤的樣本數占樣本總數的比例,精度則是分類結果中正確的樣本總數的比例。

(2)準確率與召回率

假設一個腫瘤患病問題,患腫瘤的概率為0.5%,概率很小,對于這樣一個一邊概率遠大于另一邊的我們稱為傾斜分類skewed class.

如果我們仍然采用accuracy來衡量這樣的問題,那么對于一個始終預測y=0的模型,它預測上面的腫瘤問題的錯誤率也僅僅是0.5%.

Accuracy = (true positives + true negatives) / (total examples)

為此,我們引入Precision和Recall 如下所示:

此時,如果我們用Precision和Recall去評判剛剛y=0的模型,那么結果都是0

一般而言,Precision和Recall的圖像不固定,不過都呈現上圖中的趨勢。

當我們設高閾值時,我們得到的預測結果中得到腫瘤的概率也就越大因而Precision越高,不過可能漏掉一部分腫瘤的可能也越大從而Recall越高。

(3)F1-score

F1-score是權衡Precision和Recall后給出的一個評判模型的式子
F 1 = P R P + R F_1 = /frac{PR}{P+R} F1?=P+RPR?

(4)ROC 曲線

ROC 曲線用于繪制采用不同分類閾值時的 TP 率(TPR)與 FP 率(FPR)。我們根據學習器的預測結果,把閾值從0變到最大,即剛開始是把每個樣本作為正例進行預測,隨著閾值的增大,學習器預測正樣例數越來越少,直到最后沒有一個樣本是正樣例。

TP率也叫真正例率,FP率也叫假正例率,注意區(qū)別于準確率和召回率
T P R = T P T P + F N TPR = /frac{TP}{TP+FN} TPR=TP+FNTP?
F P R = F P F P + T N FPR = /frac{FP}{FP+TN} FPR=FP+TNFP?

(5)AUC

AUC是一個極常用的評價指標,它定義為 ROC 曲線下的面積。之所以使用 AUC 作為評價指標,是因為ROC 曲線在很多時候并不嗯呢該清晰地說明哪個分類器的效果更好,而 AUC 作為一個數值,其值越大就代表分類器的效果越好。

(6)交叉熵

? ln ? L ( w , b ) = ∑ i n ∑ k m ? y ^ k i ln ? f w , b ( x k i ) -/ln{L(w,b)} = /sum_{i}^{n}/sum_{k}^{m}-/hat{y}_k^i/ln{f_{w,b}(x^i_k)} ?lnL(w,b)=in?km??y^?ki?lnfw,b?(xki?)

其在二分類問題上的表現形式為:

? ln ? ( w , b ) = ∑ i n ? [ y ^ i ln ? f w , b ( x i ) + ( 1 ? y ^ i ) ln ? ( 1 ? f w , b ( x i ) ) ] -/ln{(w,b)} = /sum_{i}^{n}-[/hat{y}^{i}/ln{f_{w,b}(x^i)}+ (1-/hat{y}^{i})/ln{(1-f_{w,b}(x^i))}] ?ln(w,b)=in??[y^?ilnfw,b?(xi)+(1?y^?i)ln(1?fw,b?(xi))]

舉個栗子,假設我們的一個sample經過softmax后得到的 y = f w , b ( x ) = [ 0.9 0.1 ] y=f_{w,b}(x)=/begin{bmatrix} 0.9 // 0.1// /end{bmatrix}/quad y=fw,b?(x)=[0.90.1?],其label為 y ^ = [ 1 0 ] /hat{y}=/begin{bmatrix} 1 // 0// /end{bmatrix}/quad y^?=[10?],那么在第一個式子里計算出的值為 ? ( 1 ln ? 0.9 + 0 ln ? 0.1 ) = ? ln ? 0.9 -(1 /ln0.9+0/ln{0.1})=-/ln0.9 ?(1ln0.9+0ln0.1)=?ln0.9,第二計算結果即為 ? ln ? 0.9 ? 0 ln ? 0.1 -/ln0.9-0/ln0.1 ?ln0.9?0ln0.1。再比方說,我們的另一個sample經過softmax后得到的 y = f w , b ( x ) = [ 0.1 0.8 0.1 ] y=f_{w,b}(x)=/begin{bmatrix} 0.1 // 0.8 // 0.1// /end{bmatrix}/quad y=fw,b?(x)=???0.10.80.1????,其label為 y ^ = [ 0 1 0 ] /hat{y}=/begin{bmatrix} 0 // 1 // 0// /end{bmatrix}/quad y^?=???010????,此時我們有 ? ln ? L ( w , b ) = ? 0 ln ? 0.1 ? 1 ln ? 0.8 ? 0 ln ? 0.1 = ? ln ? 0.8 -/ln{L(w,b)}=-0/ln0.1-1/ln{0.8}-0/ln0.1=-/ln0.8 ?lnL(w,b)=?0ln0.1?1ln0.8?0ln0.1=?ln0.8

像上面這樣我們如果有兩個distribution的點 y ^ /hat{y} y^? y y y,我們記他們的交叉熵即為 H ( y ^ , y ) = ? ∑ k y ^ k ln ? y k H(/hat{y},y)=-/sum/limits_{k}/hat{y}_k/ln{y_k} H(y^?,y)=?k?y^?k?lnyk?.

cross entropy交叉熵的含義是表達著兩個distribution有多接近,如果這兩個點的distribution一模一樣的話,那它們計算出來的cross entropy就是0,用在我們這里的分類問題中,我們就是希望 y ^ /hat{y} y^? y y y越接近越好。

2.2 回歸指標

    <
    回歸指標計算公式
    MSE 1 m ∑ i = 1 n ( y ? y ^ ) 2 /frac{1}{m}/sum/limits_{i=1}^{n}(y - /hat{y})^2

    文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。

    轉載請注明本文地址:http://systransis.cn/yun/124103.html

    相關文章

    • (轉)大數據競賽平臺——Kaggle 入門

      摘要:是玩數據機器學習的開發(fā)者們展示功力揚名立萬的江湖。上的參賽者將數據下載下來,分析數據,然后運用機器學習數據挖掘等知識,建立算法模型,解決問題得出結果,最后將結果提交,如果提交的結果符合指標要求并且在參賽者中排名第一,將獲得比賽豐厚的獎金。 看到了一篇非常好的學習大數據挖掘學習的博文,所以特此轉載過來,閑暇時可以用python練練手。Kaggle 是玩數據、機器學習的開發(fā)者們展示功力、揚...

      UnixAgain 評論0 收藏0
    • AI Challenger開賽,千萬量級數據開放,AI高手將上演巔峰對決

      摘要:月日,各項競賽的排名將決定最終的成績排名。選手通過訓練模型,對虛擬股票走勢進行預測。冠軍將獲得萬元人民幣的獎勵。 showImg(https://segmentfault.com/img/bVUzA7?w=477&h=317); 2017年9月4日,AI challenger全球AI挑戰(zhàn)賽正式開賽,來自世界各地的AI高手,將展開為期三個多月的比拼,獲勝團隊將分享總額超過200萬人民幣的...

      Ali_ 評論0 收藏0
    • Kaggle案例——用python從進網站到獲得評測結果

      摘要:訓練集是用來訓練你的機器學習模型的。但機器學習,你也要教它一些事實,比如長得像圖片的就是狗,長得像圖片的就是貓。好了,這樣我們整體的一個機器學習的簡單項目就完成,但我們還是要看一下效果。 最近寫了Kaggle的一個playground項目——預測科比投籃是否命中https://www.kaggle.com/c/kobe...,主要使用python的pandas和sklearn包。 這里...

      Crazy_Coder 評論0 收藏0
    • 6張圖像vs13000張圖像,超越2013 Kaggle貓狗識別競賽領先水平

      摘要:年,舉辦過一個很受歡迎的貓狗識別競賽。當時,正如比賽官網宣布的,在使用張貓和狗的圖像進行訓練后,較先進的算法分辨貓狗的準確率是。醫(yī)學診斷異常檢測圖像識別的工業(yè)應用,等等。小結結果令人吃驚。 2013年,Kaggle舉辦過一個很受歡迎的貓狗識別競賽(Dogs vs. Cats)。比賽的目標是訓練一種能夠檢測圖像中是否包含貓或者狗的算法。當時,正如比賽官網宣布的,在使用13000張貓和狗的圖像進...

      RdouTyping 評論0 收藏0

    發(fā)表評論

    0條評論

    EddieChan

    |高級講師

    TA的文章

    閱讀更多
    最新活動
    閱讀需要支付1元查看