<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 機器學習的提升和AdaBoost > 原文: [https://machinelearningmastery.com/boosting-and-adaboost-for-machine-learning/](https://machinelearningmastery.com/boosting-and-adaboost-for-machine-learning/) Boosting是一種集合技術,試圖從許多弱分類器中創建一個強分類器。 在這篇文章中,您將發現用于機器學習的AdaBoost Ensemble方法。閱讀這篇文章后,你會知道: * 增強集合方法是什么以及它的工作原理。 * 如何學習使用AdaBoost算法提升決策樹。 * 如何使用學習過的AdaBoost模型進行預測。 * 如何最好地準備數據以與AdaBoost算法一起使用 這篇文章是為開發人員編寫的,并沒有統計或數學方面的背景。該文章重點介紹了算法的工作原理以及如何將其用于預測建模問題。如果您有任何疑問,請發表評論,我會盡力回答。 讓我們開始吧。 ![Boosting and AdaBoost for Machine Learning](img/31a8a431e0d8a245c7f4e0736ccedb79.jpg) 用于機器學習的提升和AdaBoost 照片由 [KatieThebeau](https://www.flickr.com/photos/katiethebeau/8917329233/) 拍攝,保留一些權利。 ## 提升集合方法 [Boosting](https://en.wikipedia.org/wiki/Boosting_(machine_learning)) 是一種通用的集合方法,可以從許多弱分類器中創建一個強分類器。 這是通過從訓練數據構建模型,然后創建第二個模型來嘗試從第一個模型中糾正錯誤來完成的。添加模型直到完美預測訓練集或添加最大數量的模型。 [AdaBoost](https://en.wikipedia.org/wiki/AdaBoost) 是第一個為二元分類開發的真正成功的增強算法。這是理解助力的最佳起點。 現代助推方法建立在AdaBoost上,最著名的是[隨機梯度增強機](https://en.wikipedia.org/wiki/Gradient_boosting)。 ## 獲取免費算法思維導圖 ![Machine Learning Algorithms Mind Map](img/2ce1275c2a1cac30a9f4eea6edd42d61.jpg) 方便的機器學習算法思維導圖的樣本。 我已經創建了一個由類型組織的60多種算法的方便思維導圖。 下載,打印并使用它。 ## 從數據中學習AdaBoost模型 AdaBoost最適合用于提高決策樹在二元分類問題上的表現。 AdaBoost最初被Freund和Schapire技術的作者稱為AdaBoost.M1。最近,它可能被稱為離散AdaBoost,因為它用于分類而不是回歸。 AdaBoost可用于提高任何機器學習算法的表現。它最適合弱學習器使用。這些模型在分類問題上實現了高于隨機機會的準確性。 與AdaBoost一起使用的最適合且因此最常見的算法是具有一個級別的決策樹。因為這些樹很短,只包含一個分類決策,所以它們通常被稱為決策樹樁。 訓練數據集中的每個實例都是加權的。初始權重設置為: 重量(xi)= 1 / n 其中xi是第i個訓練實例,n是訓練實例的數量。 ## 如何訓練一個模型 使用加權樣本在訓練數據上準備弱分類器(決策殘余)。僅支持二進制(兩類)分類問題,因此每個決策樹樁對一個輸入變量做出一個決策,并為第一個或第二個類值輸出+1.0或-1.0值。 針對訓練的模型計算錯誤分類率。傳統上,這計算如下: 錯誤=(正確 - N)/ N. 如果錯誤是錯誤分類率,則正確的是模型正確預測的訓練實例的數量,N是訓練實例的總數。例如,如果模型正確預測了100個訓練實例中的78個,則錯誤或錯誤分類率將為(78-100)/ 100或0.22。 這被修改為使用訓練實例的權重: error = sum(w(i)* terror(i))/ sum(w) 這是錯誤分類率的加權和,其中w是訓練實例i的權重,而恐怖是訓練實例i的預測誤差,如果錯誤分類則為1,如果正確分類則為0。 例如,如果我們有3個訓練實例,權重為0.01,0.5和0.2。預測值為-1,-1和-1,實例中的實際輸出變量為-1,1和-1,然后誤差為0,1和0.誤分類率計算如下: 誤差=(0.01 * 0 + 0.5 * 1 + 0.2 * 0)/(0.01 + 0.5 + 0.2) 要么 錯誤= 0.704 為訓練模型計算階段值,該階段值為模型所做的任何預測提供加權。訓練模型的階段值計算如下: stage = ln((1-error)/ error) 其中stage是用于對模型進行加權預測的階段值,ln()是自然對數,而錯誤是模型的錯誤分類錯誤。階段權重的影響是更準確的模型對最終預測具有更大的權重或貢獻。 更新訓練權重,為錯誤預測的實例提供更多權重,對正確預測的實例權重更小。 例如,使用以下內容更新一個訓練實例(w)的權重: w = w * exp(階段*恐怖) 其中w是特定訓練實例的權重,exp()是數字常數e或歐拉數提升到冪,階段是弱分類器的誤分類率,恐怖是弱分類器預測輸出變量的誤差訓練實例,評估為: 恐怖= 0如果(y == p),否則為1 其中y是訓練實例的輸出變量,p是來自弱學習器的預測。 如果訓練實例被正確分類并且如果弱學習器錯誤地分類實例則使重量稍大,則這具有不改變重量的效果。 ## AdaBoost Ensemble 按順序添加弱模型,使用加權訓練數據進行訓練。 該過程一直持續到創建了預先設定數量的弱學習器(用戶參數)或者不能對訓練數據集進行進一步改進。 完成后,您將留下一群弱勢學習器,每個學習器都有一個舞臺值。 ## 使用AdaBoost進行預測 通過計算弱分類器的加權平均值來進行預測。 對于新的輸入實例,每個弱學習器計算預測值為+1.0或-1.0。預測值由每個弱學習器階段值加權。集合模型的預測被視為加權預測的總和。如果總和為正,則預測第一類,如果為負,則預測第二類。 例如,5個弱分類器可以預測值1.0,1.0,-1.0,1.0,-1.0。從大多數投票來看,模型看起來預測值為1.0或第一類。這些相同的5個弱分類器可以分別具有階段值0.2,0.5,0.8,0.2和0.9。計算這些預測的加權和導致輸出為-0.8,這將是-1.0或第二類的集合預測。 ## AdaBoost的數據準備 本節列出了為AdaBoost準備最佳數據的一些啟發式方法。 * **質量數據**:由于整體方法繼續嘗試糾正訓練數據中的錯誤分類,因此您需要注意訓練數據是高質量的。 * **異常值**:異常值會迫使合奏團在兔子洞中努力工作以糾正不切實際的情況。這些可以從訓練數據集中刪除。 * **噪聲數據**:噪聲數據,特別是輸出變量中的噪聲可能會有問題。如果可能,嘗試從訓練數據集中隔離和清除這些內容。 ## 進一步閱讀 以下是一些從機器學習角度描述AdaBoost的機器學習文本。 * [統計學習簡介:在R](http://www.amazon.com/dp/1461471370?tag=inspiredalgor-20) 中的應用,第321頁 * [統計學習要素:數據挖掘,推理和預測](http://www.amazon.com/dp/0387848576?tag=inspiredalgor-20),第10章 * [Applied Predictive Modeling](http://www.amazon.com/dp/1461468485?tag=inspiredalgor-20) ,第203頁,第389頁 下面是一些關于該方法的開創性和良好的概述研究文章,如果您希望深入研究該方法的理論基礎,可能會有用: * [在線學習的決策理論推廣及其應用](http://link.springer.com/chapter/10.1007/3-540-59119-2_166#page-1),1995 * [使用置信預測改進的Boosting算法](http://link.springer.com/article/10.1023/A:1007614523901),1999 * [解釋Adaboost,來自經驗推論的章節](http://link.springer.com/chapter/10.1007/978-3-642-41136-6_5),2013 * [Boosting簡介](http://www.site.uottawa.ca/~stan/csi5387/boost-tut-ppr.pdf),1999 ## 摘要 在這篇文章中,您發現了用于機器學習的Boosting集合方法。你了解到: * 提升以及它如何成為一種通用技術,不斷增加弱學習器的正確分類錯誤。 * AdaBoost是第一個成功的二元分類問題的提升算法。 * 通過加權訓練實例和弱學習器自己來學習AdaBoost模型。 * 通過加權來自弱學習器的預測來預測AdaBoost。 * 在哪里尋找有關AdaBoost算法的更多理論背景。 如果您對此帖子或Boosting或AdaBoost算法有任何疑問,請在評論中提出,我會盡力回答。
                  <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>

                              哎呀哎呀视频在线观看