<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 機器學習表現改進備忘單 > 原文: [https://machinelearningmastery.com/machine-learning-performance-improvement-cheat-sheet/](https://machinelearningmastery.com/machine-learning-performance-improvement-cheat-sheet/) **32個可以用來做出更好預測的技巧,竅門和黑客。** 機器學習中最有價值的部分是預測建模。 這是對歷史數據進行訓練并對新數據進行預測的模型的開發。 在預測建模方面,首要問題是: > 我怎樣才能獲得更好的結果? 這個備忘單包含了我自己應用多年的最佳建議,并研究了頂級機器學習從業者和競賽獲勝者。 通過本指南,您不僅可以獲得不穩定性和提升表現,甚至可以獲得有關預測問題的世界級結果。 讓我們潛入。 請注意,本指南的結構基于早期指南,您可能對提高深度學習的表現非常有用,標題為:[如何提高深度學習表現](http://machinelearningmastery.com/improve-deep-learning-performance/)。 ![Machine Learning Performance Improvement Cheat Sheet](https://3qeqpr26caki16dnhd19sv6by6v-wpengine.netdna-ssl.com/wp-content/uploads/2016/11/Machine-Learning-Performance-Improvement-Cheat-Sheet.jpg) 機器學習表現改進備忘單 照片由 [NASA](https://www.flickr.com/photos/gsfc/9807812154/) ,保留一些權利。 ## 概觀 此備忘單旨在為您提供提升機器學習問題表現的想法。 所有這一切都是獲得突破的好主意。 找到一個想法,然后回來找另一個想法。 我將列表分為4個子主題: 1. 通過數據提高表現。 2. 使用算法提高表現。 3. 通過算法調優提高表現。 4. 使用Ensembles提高表現。 從列表中進一步增加,收益通常會變小。 例如,您的問題或更多數據的新框架通常會比調整最佳表現算法的參數給您更多的回報。并非總是如此,但總的來說。 ## 1.通過數據提高表現 通過更改訓練數據和問題定義,您可以獲得巨大成功。也許即使是最大的勝利。 **策略**:為您的數據創建新的和不同的視角,以便最好地將基礎問題的結構暴露給學習算法。 ### 數據策略 * **獲取更多數據**。 _您可以獲得更多或更好的質量數據嗎?_ 現代非線性機器學習技術,如深度學習,可以通過更多數據繼續提高表現。 * **發明更多數據**。 _如果您無法獲得更多數據,是否可以生成新數據?_ 也許您可以擴充或置換現有數據或使用概率模型生成新數據。 * **清理您的數據**。 _你能改善數據中的信號嗎?_ 可能存在可以修復或刪除的缺失或損壞的觀察結果,或者可以修復或刪除的合理范圍之外的異常值,以提高數據質量。 * **重采樣數據**。 _您可以重新采樣數據以更改大小或分布嗎?_ 也許您可以在實驗中使用更小的數據樣本來加速或過度采樣或對特定類型的欠采樣觀察,以便更好地在數據集中表示它們。 * **重構你的問題**:_你能改變你正在解決的預測問題的類型嗎?_ 將您的數據重新構建為回歸,二元或多類分類,時間序列,異常檢測,評級,推薦等類型問題。 * **重新調整數據**。 _你能重新調整數字輸入變量嗎?_ 輸入數據的標準化和標準化可以提高使用加權輸入或距離測量的算法的表現。 * **轉換您的數據**。 _您能重塑數據分發嗎?_ 使輸入數據更高斯或通過指數函數傳遞可以更好地將數據中的特征暴露給學習算法。 * **投射您的數據**:_您可以將數據投影到較低維度的空間嗎?_ 您可以使用無監督聚類或投影方法來創建數據集的全新壓縮表示。 * **特征選擇**。 _所有輸入變量都同等重要嗎?_ 使用特征選擇和特征重要性方法創建數據的新視圖,以便使用建模算法進行探索。 * **特色工程**。 _您可以創建和添加新的數據功能嗎?_ 也許有些屬性可以分解為多個新值(如類別,日期或字符串)或可以聚合以表示事件的屬性(如計數,二進制標記或統計摘要)。 **結果**:您現在應該擁有一套新的數據集視圖和版本。 **下一頁**:您可以使用預測建模算法評估每個值。 ## 2.使用算法提高表現 機器學習就是算法。 **策略**:確定在表現基準之上執行且優于平均值的算法和數據表示。保持對結果和設計實驗的懷疑,這使得很難欺騙自己。 ### 算法策略 * **重采樣方法**。 _使用什么重采樣方法來估算新數據的技巧?_ 使用可充分利用可用數據的方法和配置。具有保持驗證數據集的k折交叉驗證方法可能是最佳實踐。 * **評估指標**。 _用什么指標來評估預測技巧?_ 使用最能捕獲問題和域要求的指標。它可能不是分類準確性。 * **基線表現**。 _比較算法的基準表現是什么?_ 使用隨機算法或零規則算法(預測均值或模式)來建立基線,通過該基線對所有評估的算法進行排名。 * **抽查線性算法**。 _什么線性算法運作良好?_ 線性方法通常更偏向,易于理解并且訓練速度快。如果你能取得好成績,他們是首選。評估各種線性方法。 * **抽查非線性算法**。 _哪些非線性算法效果很好?_ 非線性算法通常需要更多數據,具有更高的復雜性,但可以實現更好的表現。評估各種非線性方法。 * **從文獻中竊取**。 _文獻中報道了哪些算法可以很好地解決您的問題?_ 也許您可以獲得算法類型的想法或經典方法的擴展來探索您的問題。 * **標準配置**。 _被評估算法的標準配置是什么?_ 每個算法都需要有機會在您的問題上做得很好。這并不意味著調整參數(但是)確實意味著要研究如何很好地配置每個算法并在算法烘烤中給它一個戰斗機會。 **結果**:您現在應該有一個表現良好的算法和數據表示的簡短列表。 **下一步**:下一步是通過算法調整來提高表現。 ## 3.通過算法調整提高表現 算法調整可能是您花費大部分時間的地方。這可能非常耗時。您通常可以通過現場檢查快速發現一兩個表現良好的算法。從這些算法中獲取最大收益可能需要數天,數周或數月。 **策略**:充分利用表現良好的機器學習算法。 ### 調整策略 * **診斷**。 _您對算法的診斷和評論是什么?_ 也許您可以查看學習曲線,以了解該方法是否過度或不合適,然后更正。不同的算法可以提供不同的可視化和診斷。查看算法預測的是非。 * **嘗試直覺**。 _你的直覺告訴你什么?_ 如果您將參數調整得足夠長并且反饋周期很短,您可以直觀地了解如何針對問題配置算法。試試這個,看看你是否可以提出新的參數配置來嘗試更大的測試工具。 * **從文獻中竊取**。 _文獻中使用了哪些參數或參數范圍?_ 評估標準參數的表現是開始任何調整活動的好地方。 * **隨機搜索**。 _哪些參數可以使用隨機搜索?_ 也許您可以使用算法超參數的隨機搜索來公開您從未想過要嘗試的配置。 * **網格搜索**。 _什么參數可以使用網格搜索?_ 也許有標準超參數值的網格可以枚舉以找到好的配置,然后用更精細和更精細的網格重復該過程。 * **優化**。 _您可以優化哪些參數?_ 也許有結構或學習率等參數可以使用直接搜索程序(如模式搜索)或隨機優化(如遺傳算法)進行調整。 * **替代實施**。 _該算法的其他實現是什么?_ 也許該方法的替代實現可以在相同數據上獲得更好的結果。每種算法都有許多必須由算法實現者做出的微決策。其中一些決定可能會影響您的問題的技能。 * **算法擴展**。 _算法的常見擴展是什么?_ 也許您可以通過評估方法的常用或標準擴展來提升表現。這可能需要實施工作。 * **算法定制**。 _針對您的特定情況,可以對算法進行哪些自定義?_ 也許您可以對數據算法進行修改,從損失函數,內部優化方法到算法特定決策。 * **聯系專家**。 _算法專家在您的案例中推薦什么?_ 寫一封簡短的電子郵件,總結您的預測問題以及您嘗試過的一位或多位專家學者對該算法的看法。這可能會揭示以前不為您所知的前沿工作或學術工作的新想法或新想法。 **結果**:您現在應該有一個關于機器學習問題的高度調整算法的簡短列表,甚至可能只有一個。 **下一步**:此時可以完成一個或多個模型,用于預測或投入生產。通過組合來自多個模型的預測,可以獲得表現的進一步提升。 ## 4.用合奏提高表現 您可以組合多個模型的預測。在算法調整之后,這是下一個需要改進的重要領域。實際上,通過組合多個“足夠好”模型的預測而不是多個高度調整(和脆弱)模型,您通常可以獲得良好的表現。 **策略**:結合多個表現良好的模型的預測。 ### 合奏策略 * **混合模型預測**。 _你能直接結合多個模型的預測嗎?_ 也許您可以使用相同或不同的算法來制作多個模型。從多個表現良好的模型的預測中獲取均值或模式。 * **混合數據表示**。 _您可以結合使用不同數據表示訓練模型的預測嗎?_ 您可能有許多不同的問題預測,可用于訓練表現良好的算法,然后可以將其預測結合起來。 * **混合數據樣本**。 _您可以結合使用不同數據視圖訓練的模型嗎?_ 也許你可以創建訓練數據的多個子樣本并訓練一個表現良好的算法,然后結合預測。這稱為bootstrap聚合或裝袋,當每個模型的預測都是熟練的但以不同的方式(不相關)時,效果最佳。 * **正確預測**。 _你能糾正表現良好的模特的預測嗎?_ 也許您可以明確地糾正預測或使用像提升這樣的方法來學習如何糾正預測錯誤。 * **學會結合**。 _您是否可以使用新模型來學習如何最好地結合多個表現良好的模型的預測?_ 這稱為堆疊泛化或堆疊,并且當子模型熟練但以不同方式并且聚合器模型是預測的簡單線性加權時,通常可以很好地工作。這個過程可以重復多層深度。 **結果**:您應該擁有一個或多個表現優異的模型,其表現優于任何單一模型。 **下一步**:此時可以完成一個或多個集合,用于預測或投入生產。 ## 最后的話 這個備忘單充滿了想法,試圖提高你的問題的表現。 ### 如何開始 你不需要做任何事情。你需要一個好主意來提升表現。 以下是如何處理壓倒性的問題: 1. 選一組 1. 數據。 2. 算法。 3. 調整。 4. 合奏。 2. 從組中選擇一種方法。 3. 選擇一個嘗試所選方法的東西。 4. 比較結果,如果有改進,請保留。 5. 重復。 ### 分享您的結果 你覺得這篇文章有用嗎? 你有沒有一個有所作為的想法或方法? 讓我知道,發表評論!我很樂意聽到它。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看