人工智能-Boosting算法

Boosting算法源自理論家的貢獻,用於分類問題。有句俗話叫做三個臭皮匠,頂個諸葛亮。思想是非常簡單的,用大家的智慧來解決問題。首先講兩個概念,強分類器和弱分類器。強分類就是性能非常好的分類器,錯誤率很低,但是得到它的代價非常高不容易找到,所以類似諸葛亮需要三顧茅廬才能找到,而且可遇不可求;弱分類器就是能夠比隨機分類好一點的分類器,就相當於正常的普通人,甚至像阿甘正傳裡面的阿甘就好。理論學家證明了,弱分類器的某種組合是可以達到強分類器的作用的!這就是Boosting的基本思想,設計幾個弱分類器,通過數據訓練得到優化參數就可以解決問題啦。整個算法的流程如下圖:


人工智能-Boosting算法

Boosting的基本流程簡單說一下,首先給所有的訓練數據賦予統一的權重1/N,找到錯誤率最小的訓練器,然後給這個訓練器基於一個權重(每個人發言權有高有低),然後誇大數據中錯誤的部分(放大2倍,為什麼是2倍這是一個數學推導的結果,不用太糾結),再尋找下一個錯誤率最小的分類器,將兩個分類器的分類乘以權重後相加,直到分類的錯誤率達到強分類器的效果(給一個極低的閾值)。這個分類器不會產生過擬合的問題,原因科學家們還沒有找到。怎麼樣,很強大吧!分類器可以是識別樹、神經網絡或是其他實現二分類的算法,不用加什麼其他限制,太棒了!

Boosting思想在很多地方有實際應用,如手寫識別、語音理解等等。我的文章系列可以迴避了複雜的數學推導,讓大家儘量理解算法的思想,瞭解用途力求講清楚WHY的問題,至於實現的細節有太多的資料都有詳細的說明,但過多的數學推導會讓人只見樹木不見森林,所以刻意迴避了。


分享到:


相關文章: