1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Kaggle競賽模型上分實(shí)用小技巧

        共 2721字,需瀏覽 6分鐘

         ·

        2020-10-14 21:39

        Kaggle?
        譯者:張峰
        From:Datawhale


        如果你最近剛?cè)胧諯aggle,或者你是這個(gè)平臺的老???,你可能會想知道如何輕松提升模型的性能。以下是我在Kaggle歷程中積累的一些實(shí)用技巧(https://www.kaggle.com/louise2001)。所以,無論是建立自己的模型,還是從一個(gè)基準(zhǔn)的公共內(nèi)核開始,都可以嘗試實(shí)施這些建議!

        一、經(jīng)?;仡欉^去的比賽(溫故知新)

        雖然Kaggle的策略是絕對不會出現(xiàn)兩次一模一樣的比賽,但經(jīng)常會出現(xiàn)非常相似的問題的翻版。例如,有些主辦方每年都會提出同一個(gè)主題的常規(guī)挑戰(zhàn)(比如NFL的Big Data Bowl),只是有一些小的變化,或者在某些領(lǐng)域(比如醫(yī)學(xué)影像)有很多目標(biāo)不同但本質(zhì)非常相似的比賽。

        因此,回顧獲獎(jiǎng)?wù)叩慕鉀Q方案(總是在競爭結(jié)束后公開,這要感謝不可思議的Kaggle社區(qū))可以是一個(gè)很好的加分項(xiàng),因?yàn)樗o你提供了開始的想法,以及一個(gè)成功的策略。如果你有時(shí)間回顧很多,你也會很快發(fā)現(xiàn),即使在非常不同的比賽中,一些流行的基準(zhǔn)模型似乎總是做得足夠好:

        • 卷積神經(jīng)網(wǎng)絡(luò)或計(jì)算機(jī)視覺挑戰(zhàn)中更復(fù)雜的ResNet或EfficientNet。
        • WaveNet在音頻處理中的挑戰(zhàn)(如果你只是使用Mel Spectrogram,也可以很好地用圖像識別模型來處理)。
        • BERT及其衍生產(chǎn)品(RoBERTa等)在自然語言處理中的挑戰(zhàn)。
        • Light Gradient Boosting(或其他梯度提升或樹策略)對表格數(shù)據(jù)的處理。

        你可以直接在Kaggle平臺上尋找類似的比賽,或者查看Sundalai Rajkumar的這篇精彩總結(jié)(https://www.kaggle.com/sudalairajkumar/winning-solutions-of-kaggle-competitions)。

        回顧過去的比賽也可以幫助你獲得其他步驟的提示。例如,獲得類似問題的預(yù)處理的提示和技巧,人們?nèi)绾芜x擇他們的超參數(shù),在他們的模型中實(shí)現(xiàn)了什么額外的工具來贏得比賽,或者如果他們只專注于囊括他們最好的模型的相似版本,或者是將所有可用公共內(nèi)核整合在一起。

        二、花足夠的時(shí)間在數(shù)據(jù)預(yù)處理上

        這絕不是工作中最令人興奮的部分。但是,這一步驟的重要性不言而喻:

        • 清理數(shù)據(jù):千萬不要以為主機(jī)努力為你提供最干凈的數(shù)據(jù)。大多數(shù)時(shí)候,它是錯(cuò)誤的。填充NaNs,去除離群值,將數(shù)據(jù)分成同質(zhì)觀測值的類別等。

        • 做一些簡單的探索性數(shù)據(jù)分析,以大致了解你正在使用的工具(這將有助于您獲得見解和想法)。

        • 增強(qiáng)數(shù)據(jù):這可能是提高性能的最好方法之一。但是要注意不要讓數(shù)據(jù)太大,以至于你的模型無法再處理它。你可以在互聯(lián)網(wǎng)上找到一些額外的數(shù)據(jù)集,或者在Kaggle平臺上(在過去類似的比賽中?。?,或者只是在提供給你的數(shù)據(jù)上工作:翻轉(zhuǎn)和裁剪圖像,疊加音頻記錄,反向翻譯或替換文本中的同義詞等。

        預(yù)處理也是你必須思考你將依靠什么交叉驗(yàn)證方法的步驟:Trust Your CV。在你的數(shù)據(jù)上工作將幫助你知道如何分割數(shù)據(jù):根據(jù)目標(biāo)值分層還是根據(jù)樣本類別分層 ? 你的數(shù)據(jù)是否不平衡 ? 如果你有一個(gè)聰明的CV策略,并且僅依靠它而不是靠排行榜得分(盡管這可能很誘人),那么你很有可能在私人的最終分?jǐn)?shù)上獲得驚喜。

        三、嘗試超參數(shù)搜索

        超參數(shù)搜索可以幫助你找到你的模型應(yīng)該具備的最佳參數(shù)(學(xué)習(xí)率、softmax的溫度等),以獲得最佳的性能,而無需手工運(yùn)行上千次的枯燥實(shí)驗(yàn)。

        最常見的超參數(shù)搜索策略包括:

        • 網(wǎng)格搜索(請永遠(yuǎn)不要這樣做):對我來說是性能最差的方法,因?yàn)閷τ谀承┲担憧赡軙耆e(cuò)過某個(gè)模式或性能的局部峰值,它包括或測試超參數(shù)值平均分布在你定義的可能值的區(qū)間上。

        • 隨機(jī)搜索(及其Monte-Carlo衍生物):嘗試參數(shù)的隨機(jī)值。它的主要問題在于它是一種并行的方法,而且你測試的參數(shù)越多,成本就越高。然而,它的優(yōu)點(diǎn)是可以讓你在測試中加入先驗(yàn)知識:如果你想找到1e-4和1e-1之間的最佳學(xué)習(xí)率,但你認(rèn)為它必須在1e-3左右,你可以從以1e-3為中心的對數(shù)正態(tài)分布中抽取樣本。

        • 貝葉斯搜索:基本上是隨機(jī)搜索,但經(jīng)過改進(jìn),因?yàn)樗堑?,因此成本低得多。它根?jù)當(dāng)前模型迭代評估一個(gè)有希望的超參數(shù)配置,然后更新它。它是這三種方法中性能最好的一種。

        • 其他方法包括基于梯度的搜索或演化優(yōu)化,危險(xiǎn)性較大,一般不適用。在一些特殊情況下,可以推薦使用這些方法。

        四、簡單的包裝器可以改變游戲規(guī)則

        我發(fā)現(xiàn)有一些模型包裝器可以用來獲得更好的結(jié)果。它們在不同級別上工作:

        • 在優(yōu)化過程中,千萬不要忘了添加一個(gè)學(xué)習(xí)率調(diào)度器,幫助獲得更精確的訓(xùn)練(從小開始,當(dāng)你的模型學(xué)習(xí)良好時(shí)逐步增加)。

        • 還是在優(yōu)化過程中,你可以把Lookahead包在你的優(yōu)化器上;Lookahead算法包括向前走k個(gè)優(yōu)化步驟,找到性能最好的地方,然后向最佳方向后退一步,從那里重新開始訓(xùn)練。理論上,你可以獲得更好的性能,雖然我從來沒有發(fā)現(xiàn)這是真的;但它可以穩(wěn)定訓(xùn)練,當(dāng)你的數(shù)據(jù)非常嘈雜時(shí),這是好事。

        • 在開始訓(xùn)練之前,為你的權(quán)重找到一個(gè)好的初始化:如果你使用的是流行的架構(gòu),就從基準(zhǔn)權(quán)重開始(比如圖像識別中的ImageNet),如果不是,可以嘗試Layer Sequential Unit Variance初始化(LSUV,理論上是最好的初始化)。它包括將你的權(quán)重初始化為正交的,并且在所有可訓(xùn)練層中都是單位方差。

        • 最后,我經(jīng)常發(fā)現(xiàn),從神經(jīng)網(wǎng)絡(luò)的最后一層權(quán)重來訓(xùn)練LGBM,而不是添加一個(gè)softmax作為輸出層,效果會出奇的好。

        五、Bagging集成在一起!

        除了數(shù)據(jù)增強(qiáng),可能沒有什么技術(shù)比bagging更有效地提高你的性能。

        我個(gè)人的小技巧是:總是保存我運(yùn)行過的每一個(gè)模型預(yù)測,并對所有模型進(jìn)行平均(只是基本的平均,我從來沒有發(fā)現(xiàn)任何證據(jù)表明,"聰明 "的集成,如按模型的單一性能加權(quán),在最終得分中增加了什么)。

        不要忘記把公共內(nèi)核也進(jìn)行裝袋。你的集成策略中的模型越多,你就越有可能在私人排行榜中穩(wěn)操勝券。

        原文鏈接:https://towardsdatascience.com/5-simple-tips-to-improve-your-kaggle-models-159c00523418

        往期精彩:

        【原創(chuàng)首發(fā)】機(jī)器學(xué)習(xí)公式推導(dǎo)與代碼實(shí)現(xiàn)30講.pdf

        【原創(chuàng)首發(fā)】深度學(xué)習(xí)語義分割理論與實(shí)戰(zhàn)指南.pdf


        喜歡您就點(diǎn)個(gè)在看!

        瀏覽 148
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            26uuu精品一区二区在线观看 | 日韩在线三级片 | 国产精品久久久久久久久久久久午夜片 | 蜜桃夜夜躁狠狠躁日日躁 | 修修视频网站网页在线观看免费 | 一边吻胸一边解内裤 | 亚洲精品一区二区三区影院忠贞 | 啊~嗯短裙直接进去h师生视频 | 免费欧美性爱 | 奇米色播 |