<label id="jgr5k"></label>
    <legend id="jgr5k"><track id="jgr5k"></track></legend>

    <sub id="jgr5k"></sub>
  1. <u id="jgr5k"></u>
      久草国产视频,91资源总站,在线免费看AV,丁香婷婷社区,久久精品99久久久久久久久,色天使av,无码探花,香蕉av在线
      您正在使用IE低版瀏覽器,為了您的雷峰網賬號安全和更好的產品體驗,強烈建議使用更快更安全的瀏覽器
      此為臨時鏈接,僅用于文章預覽,將在時失效
      人工智能開發者 正文
      發私信給s5248
      發送

      0

      吸引 7198 支隊伍參賽,看 Kaggle 信用預估比賽冠軍方案

      本文作者: s5248 編輯:汪思穎 2018-09-23 19:58
      導語:在這種類型的競賽和問題中,特征工程和特征選擇是最重要的。

      雷鋒網 AI 科技評論按:Kaggle Home Credit Default Risk 比賽日前落下帷幕,該比賽總獎金 7 萬美元,第一名獎金 35000 美元,第二名獎金 25000 美元,第三名獎金 10000 美元。該競賽從 2018 年 5 月 17 日持續到 2018 年 8 月 29 日,共吸引到 7198 支參賽隊伍,競爭異常激烈。由 Michael Jahrer 擔任隊長的 Home Aloan 隊獲得第一名。

      比賽介紹

      許多人由于較少甚至沒有使用過信用卡消費,因而很難獲得貸款,而且這類群體往往又被不值得信賴的借款人利用。Home Credit 希望為沒有銀行賬戶的群體提供正當且安全的貸款服務,為了判斷這類群體的貸款是否正當合理,Home Credit 利用不同來源的數據(電話和交易記錄等)來預測這些人的償債能力。基于以上原因,Home Credit 在 Kaggle 上發起了一場貸款償債能力預測的比賽,并提供了豐富的數據。

      此次比賽的評測指標采用的是 AUC,要求參賽人員或隊伍對測試集的每個 SK_ID_CURR 預測 TARGET(償清貸款)的概率并以文件形式提交到 Kaggle 平臺。

      冠軍團隊成員之一 Bojan Tunguz 在 Kaggle 上發表了這支團隊的具體方案,以下是雷鋒 AI 科技評論對這一方案的編譯整理。

      比賽冠軍隊伍方案

      引言

      根據我之前信用擔保的經驗,不得不承認這個問題是應用機器學習領域中最復雜的問題之一。這個領域的數據一般非常混雜,比如數據是在不同時間段上收集的,來自不同途徑,且可能在收集數據的過程中發生改變。此外,找到一個合適的目標變量也很棘手,需要深厚的專業知識和高超的商業分析能力。

      插一句,Home Credit 和 Kaggle 提供的這個數據集非常贊,既不會泄露用戶隱私,且易于進行機器學習。

      基于對信用擔保的了解,通常來說,很顯然,這種類型的機器學習問題要構建一個很好的比賽模型。有兩種重要思路:1. 一個很好的特征集合; 2. 不同的基線算法。我們主要有四個充滿多樣性的數據來源,以及少量的次要特征數據來源。

      數據和特征工程

      我們使用的第一個比較大的特征集合是在許多 kernel 中找到的。這些特征在多對一的表格上采用不同形式聚合,另外還有申請貸款次數特征。我們一共使用了大約 700 個特征。

      特征工程

      跟許多人一樣,對于每個 SK_ID_CURR,我們只是基于 SK_ID_PREV 和 SK_ID_BUREAU 的特征建立基礎模型,另外,我們還基于除法和減法從 application_train.csv 構造了許多特征。效果最顯著的除法操作是除以 EXT_SOURCE_3,這對我們的 CV(本地做交叉驗證得到的分數)有一個小的提升,也帶來了榜單排名的提升。我們還發現通過為類別變量使用類別編碼器可以獲得相當不錯的提升,我對 application_train.csv 中所有的類別變量建立了類別編碼器,也對 previous_appplication.csv 表中 LAST application 中的所有類別變量建立了類別編碼器。除了聚合 SK_ID_PREV 和 SK_ID_BUREAU,我還使用了數據的不同部分來計算聚合特征。

      Previous_application.csv 聚合了最近的 3、5 次和起初的 2、4 次申請信息。這些申請中的每個變量都有交叉驗證過,使 CV 分數獲得了最大的提升。Installment_payments.csv 聚合了最近的 2、3、5 次的償還貸款信息。我對 NUM_INSTALLMENT_NUMER 上的 1、2、3、4 次分期進行了聚合,對從 DAYS_INSTALLMENT 中過濾出來的最近 60、90、180 和 365 天的分期做了聚合,還對所有逾期付款的分期做了聚合。如果 ENTRY_PAYMENT 的值比 DAYS_INSTALMENT 大,逾期變量就被定義為 1,否則就定義為 0。POS_CASH_balance.csv, credit_card_balance.csv 與 installment_payments.csv 采用了同樣的方法進行特征聚合。我還使用了來自 previous_application.csv 的 lag 特征,對于每個 SK_IDCURR,當達到了最近 5 次申請時我就使用 lag 特征。

      Oliver:我是這樣設想的,大部分競賽選手知道我的特征和數據集。除了 public kernel,我試著計算年利率,這一特征對模型的影響非常明顯,是促進模型獲得高分的特征之一。我還試過在一些表(問詢表和之前的申請表)上進行預測,但是因為某些原因,我們的模型沒有像其他團隊那樣得到提升。隨著其他特征工程經驗豐富的隊員加入,給我們的 CV/LB 帶來極大提升,我就專注于模型融合了。

      Phil:我做出來的特征按照重要性(基于對 LGBM 模型帶來的提升)由高到低排序如下:

      1)neighbors_target_mean_500

      2)Region_id

      3)debt_credit_ratio_None

      4)credit_annuity_ratio

      5)prev_PRODUCT_COMBINATION

      6)DAYS_CREDIT_mean

      7)credit_goods_price_ratio

      8)last_active_DAYS_CREDIT

      9)credit_downpayment

      10)AGE_INT

      11)installment_payment_ratio_1000_mean_mean

      12)annuity_to_max_installment_ratio

      Yang:我對特殊特征的想法是,一些來自于公開的討論方案,包括過去 3、5、10 次信用卡貸款申請、分期付款時間和 pos 機使用記錄,但是我修改了時間段以便在特征上引入更大的差異性。同時,我應用了加權平均(使用時間段作為權重)來生成一些跟養老金、信用卡和付款相關的特征。我認為這些特征對提取個人的信用卡習慣非常有幫助。我想到的最后一個有趣且有用的特征是:根據收入、付款和時間生成一些 KPI。

      Bojan:特征選擇和壓縮

      這次比賽也需要進行特征壓縮。各種各樣的特征生成方式通常會導致特征集合達到上千個,同時很可能大多數特征是冗余的、有噪聲的或既冗余又含有噪聲。

      我試了一些簡單的縮減特征數量的方法,使用數值類型的頻率編碼分類特征,然后使用嶺回歸跑了一個非常簡單的前向特征選擇。我過去在元特征(metafeatures)上使用過這個技術,但這是我第一次試著在原始特征上使用該方法。令人驚訝的是,這一技術非常湊效。

      我能夠將超過 1600 個原始特征壓縮到大約 240 個。然后當 Oliver 添加更多的特征到 base set 時,我只是直接將這些特征加到 240 個特征中,最后達到 287 個特征。用這 287 個特征訓練,CV 分數大約為 0.7985,LB 分數大約為 0.802 - 0.803。

      當又有新的成員加入隊伍,試著將他們提供的特征跟我們的特征結合就變得尤為重要。Oliver 花了很大的精力來區分 Phil 的哪個特征與我們的特征是互補的,最后合并的特征集合達到了 700 多個。當 Ryan 和 Yang 加入我們隊伍時,再重復那樣的工作太花時間和精力了,我們只是粗略對比哪部分特征是不同的,然后將那些不同的特征加入他們的特征集。

      最后,Yang 的 base set 是所有特征集中最好的。他的一個 Kernel 就能在 private leadboard 上獲得 0.802 的分數,public leadboard 上獲得 0.803 的分數,這在最后階段是前 20 名。我們想要將所有其他特征集合中的特殊特征與 Yang 的 base 特征集合組合,但由于時間關系我們就大概做了一下。我們最終共留下 1800-2000 個特征。我們有一些合并集,在訓練自己的模型時,我們也分別進行了特征組合。

      基礎模型

      我們的所有模型都是采用 5 折交叉驗證。我一開始就這樣選擇了,沒有什么特別原因,最后也把這個作為默認值。

      Oliver:我使用了 LightGBM,FastRGF,嘗試過 FFM,但是 CV 結果比預期低很多(0.76AUC)。

      Bojan:我使用了 XGBoost,LightGBM,CatBoost,還有簡單的回歸模型。我在 XGB 上使用了一個超參數集合,在 LightGBMs 上使用了大約三個不同的集合。大部分 XGB 模型都是在 GPU 上使用 gpu_hist 訓練的,而 LightGBM 模型是在 CPU 上訓練的。CatBoost 模型沒有那么好,訓練需要很久,我認為他們對元特征的多樣性只起到一點點幫助。

      Ryan 和 Yang:我們在工程數據集和工程數據集與剩下數據集的組合數據集上訓練了幾個 LightGBM 模型。Ryan 抱著碰運氣的心態試了試 FFM,但是效果不好。

      Michael Jahrer(神經網絡等方面):和大多數人一樣,我閱讀了論壇中的許多討論,神經網絡模型從 AUC 方面來說效果不比集成類的樹模型(LGBM,XGB)好。在比賽過程中,使用神經網絡的話,一開始根本就達不到 0.785,但使用 LGBM 卻可以超過 0.79。當準確率達到一定程度之后,神經網絡是模型融合的熱門之選,我盡力去做好。特征工程不是我的長項,一開始我做得很差。隊伍合并后我就可以用到大家的特征集合,效果顯著。所有數據集上的結果都差不多,DAE+NN 效果比只用 NN 要好(差不多高 0.005)。DAE 表示降噪自編碼處理,是神經網絡的輸入,是為了實現更好的數據表達的無監督技術。原始特征的數量在 100 - 5000 之間,這意味著 DAE 需要非常大,確保表征是過約束的、沒有完全占滿的。最初嘗試的幾個 DAE 模型都具有 10000-10000-10000 的拓撲,這意味著把特征的數量擴增到 3 萬。監督式神經網絡的拓撲為 1000-1000,這是我的標準建議,在這里也能正常使用。在試了更多神經元之后,得分反而下降了。

      以下是一些參數設定:

      DAE:swapnoise=0.2,1000 個 epoch。監督式神經網絡:lRate=2.5e-5,dropout=0.5,大約 50 個 epoch(直到過擬合),優化對數損失函數。隱藏單元使用 ReLU,SGD 優化器,minibatchsize=128,小 lRateDecay。完全跑完一次 5 折交叉驗證需要在 GTX 1080Ti 上花一整天,DAE 所占的時間最多。用 rankGauss 將原始數據歸一化,缺失值用 0 代替。在競賽后期,我在 DAE 中試著減少以及增加隱藏層數目,我認為這樣會更好。在這種情況下得分最高:DAE 只包括一個隱藏層,具有 5 萬個神經元 ,然后接上一個 1000-1000 拓撲的監督式神經網絡,在我們 6 個人的所有特征集合的并集上跑了下,分數是 CV=0.794961,public=0.80059,private=0.79433。

      當不對神經網絡進行優化時,一個簡單的帶有較小學習率的 LGBM 模型優于所有神經網絡模型。LGBM 模型獲得的最高 CV 分數是 0.8039,AUC 比神經網絡大概高 0.01。我認為神經網絡在此扮演了次要角色。我認為神經網絡在這里的得分比 LGBM 差的原因是數據歸一化問題,但在最后為了 0.0001 的提升,神經網絡還是非常重要,這就是 Kaggle。

      模型集成

      我們的模型集成共分為三個階段。

      每天,當我們得到一個新的基線預測,就生成 L1 稠密矩陣,并輸入到第一層 stacker(NN,XGBoost,LightGBM 和 Hill Climber 線性模型)中。我們最后實現了 90 多個基線預測。隨著基線預測數量的增長,選手排行榜的排名和 CV 分數變得越來越相關。我認為 Michael 的神經網絡雖然在單獨使用時表現沒有很好,但是對 CV 分數和選手排行榜的排名之間的關系更加穩定有很大助益。

      在一段時間之后,CV 分數及排名的提升變緩,很顯然,進入了下一階段。

      第 2 層模型包括一個卷積神經網絡,一個 ExtraTree 和一個 Hill Climber 線性模型。這時 Silogram 建議我們應該先添加原始特征再堆疊模型。

      最后的預測是將 3 個預測做平均權重融合。

      Michael:我們的神經網絡模型是一個成功的 stacker。這里我使用了普通的監督式神經網絡,帶有一個隱藏層,500 個 ReLU 單元。這里的技巧是找到合理的初始值:lRate=1e-3,lRateDecay=0.96(在每個 epoch 之后乘以 Irate)。dropout=0.3 也很重要。

      Phil:ExtraTrees L3 模型是一個非常淺層的模型(max_depth=4),僅僅在 7 個 L2 模型中加上一個原始特征 AMT_INCOME_TOTAL,高度正則化 (min_samples_leaf=1000) 。得分為 CV:0.80665,LB:80842,PB:80565。

      其他

      如上描述,我們沒有在調參上投入太多時間。我試著在 XGB 參數和 LightGBM 模型上運行 Oliver 提供的一個優化腳本,但是本地結果讓人沮喪。那時候我們一直非常依賴模型集成,我們的想法是在不同的超參數上訓練幾個不同的模型,避免生成單個高度優化的模型。

      Phil 發現了一件事情,我在論壇上也看到有人提過,有可能在訓練集和測試集上把預測結果調到超過 0.98 AUC。我們在最后才發現這點,當時已經不能用到了。(一些人確信排名靠前的某些隊伍實際上在探索某種對抗驗證和偽標簽的方法)。

      我們還嘗試過開發一個預測模型來分辨 EXT_* 特征起到多大的作用,那些特征的 AUC 達到 0.78,但是它對提升 CV 和公開 LB 榜的排名都毫無助益。基于我們的分析,我們相信可能是因為這些特征在訓練集和測試集中比較一致,所以雖然公開排行榜上的分數高于本地 CV 模型的分數,但它在其中起到的作用并不大。

      競賽結束后,我仔細看了我們的基礎模型。結果證明,我們最好的 3 個模型都能排到前 10 名,把他們平均起來也能達到第一名。在我看來,這說明了在這種類型的競賽和問題中,特征工程和特征選擇是最重要的。因為我們沒有對最好的特征集合進行優化,也沒有調節訓練模型的超參數,我認為創造出一個能超過我們之前所有模型集成效果的單模型也是很有可能的。

      via:Kaggle,雷鋒網 AI 科技評論編譯整理。

      雷鋒網

      雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知

      吸引 7198 支隊伍參賽,看 Kaggle 信用預估比賽冠軍方案

      分享:
      相關文章

      知情人士

      當月熱門文章
      最新文章
      請填寫申請人資料
      姓名
      電話
      郵箱
      微信號
      作品鏈接
      個人簡介
      為了您的賬戶安全,請驗證郵箱
      您的郵箱還未驗證,完成可獲20積分喲!
      請驗證您的郵箱
      立即驗證
      完善賬號信息
      您的賬號已經綁定,現在您可以設置密碼以方便用郵箱登錄
      立即設置 以后再說
      主站蜘蛛池模板: 四虎国产精品永久在线 | 国产主播无套内射一区| 孕妇怀孕高潮潮喷视频孕妇| 中国免费A片XXXXXX | 亚洲一区国色天香| 国产国产乱老熟女视频网站97| 欧美性爱一区| 国产欧美一区二区精品久久久 | 2020精品自拍视频曝光| 中文字幕av国产精品| 欧美成人一区二免费视频| 玉环县| 久久久久久曰本av免费免费| 久久99嫩草熟妇人妻蜜臀| 揄拍成人国产精品视频| 精品熟女日韩中文十区| 亚洲国产成人麻豆精品| 一本久久a久久精品综合| 馆陶县| 亚洲熟妇av一区二区三区宅男| 337p西西人体大胆瓣开下部| 69午夜福利| 欧美AⅤ| 亚洲综合色成在线观看| 久久精产国品一二三产品| 国产成人久久777777| 亚洲性爱视频网站| 无码国内精品久久人妻中文成人| 国产日韩av在线播放| 国产av仑乱内谢| 午夜成人无码福利免费视频| 99热色| 亚洲韩欧美第25集完整版| 亚洲中文字幕av| 亚洲精品成人a?v| 中文字幕日韩精品人妻| 成黄色片视频日本秘书丝袜| 99热久久这里只有精品| 天堂αv亚洲αv日韩在线| 大桥未久亚洲无av码在线| 亚洲啊V天堂在线观看2021|