不在反覆重複地加深認知了
訓練一顆決策樹, 需要三個要素
最為複雜的一部分是,如何根據資料去確定一棵樹的形狀, 當然可以窮舉, 列出所有可能的樹形狀,再來選, 就有點耗時, 實際中不大行.
資訊熵之前的篇幅, 已經多次說了**及推導, 用來衡量不確定性的大小
\(h = -\sum \limits _ p_i log\ p_i\)
case
給定一組資料 的資訊熵
\(=\frac log} + \frac log(\frac )\)
不確定性的減小 (資訊增益)= 原來的不確定性 - 分割後的不確定性
停止分割條件
過擬合就是節點個數過多的情況下會發生呀, 因此需要優化
連續型通常的辦法可以是,對其排序, 然後離散化
應用於回歸問題
就用標準差來衡量回歸問題中,量化的不確定性
總體評估用 mse 來評估.
... 這些內容都是常識, 不做過多**了, 只是稍微回顧一波而已.
boosting
整合學習的目的, 就是降低模型的不確定性, 從效果來說. 多個人做決策還是優於乙個人的, 像我之前要我乙個人搭建資料庫, 需求調研, 方案, er模型, 表字段, **...全流程都要我乙個人來做?? 真的,個人的能力是有限的, 如果在配幾個人手來共同**, 決策, 那肯定是要優於個人的.
baggiing 的**
是對測試樣本, 分別用不同的模型去**, 然後 "投票"確定, (隨機森林), 是可以並行來做的. 我同時開好幾臺機器來訓練不同的模型.
bagging 的核心在於, 通過整合的方式提高模型的穩定性.
就是跟咱投資決策一樣的, 不要把雞蛋都放乙個籃子裡, 要進行風險分散, 差不多是這個意思.
case
乙個比較經典的 專家決策 案例:
說,有7位專家, 每位專家在決策上犯錯誤的概率是 0.3, 則求共同決策時, 最終犯錯的概率是多少?
(採用少數服從多數的原則哦)
這就是乙個中學題哈, 其實可以分為3中情況
5錯, 2對
6錯, 1對
7錯, 0對
然後求和可以得到, 0.126 <= 0.3
降低風險, 應該是可以證明的,從數學上, 我還沒想好, 如何證明假如有 n 個模型, 每個模型在**時的方差為 \(\sigma^2\), 則通過 n 個模型一起**時的方差(平均): \(\frac \)
bagging vs boosting
共同點: 都是通過多個模型去做訓練和**, 每個模型呢, 都是base weak.
就是要找一些較弱的 分類器, 太強就變專家了, 漢東不允許這麼牛逼的人存在對於 bagging, 單個模型太強的話, 就很容易overfitting
對於 boosting, 單個模型的設定基礎, 就是很弱, 核心是以弱勝強, 單個模型拿出來, 容易underfitting
怎麼說呢, 我個人的接觸來看, 用 bagging 會多一點, 就是對同乙份資料, 並行地訓練多個模型, 然後再 voting 這是我很好地能夠向老闆解釋清楚的.
當然現階段會更偏向 boosting 多一點, 理論上面認識, 會更自信一些, 當然, 調參也是要市場複習.
在市場上我看這個boosting 當時非常火爆的, 比如 xgboost, 於是接下來幾篇的內容又有了, 推導 xgboost 演算法原理, 跟著大佬**, 試著推導一波看看.
決策樹與整合學習
由於機器學習涉及的方法很廣,對機器學習有了乙個橫向巨集觀的把握之後,需要縱向對某一類方法進行深入的學習。因為要研究的課題內容是有監督學習,因此選擇一類有監督的學習方法進行深入的研究 整合學習綜述 2016年10月 目前來說機器學習的研究主要分為四個大方向 a 通過整合學習方法提高學習精度 b 擴大學...
決策樹演算法改進 整合學習
使用多種弱學習方法 即id3演算法,c4.5演算法,cart演算法 的組合,做多個分類模型,即多棵決策樹 模擬多專家投票 來獲取比原方法更優的分類結果。sklearn庫實現袋裝法改進分類結果,並做袋裝法和決策樹演算法效果對比 載入庫函式 import sklearn.datasets as data...
整合學習的決策樹的演算法
常見的整合學習框架有三種 bagging boosting 和 stacking。三種整合學習框架在基學習器的產生和綜合結果的方式上會有些區別,我們先做些簡單的介紹。1.1 bagging bagging 全稱叫 bootstrap aggregating,看到 bootstrap 我們立刻想到著名...