有什么軟件做短視頻網(wǎng)站免費(fèi)網(wǎng)站生成器
Scikit-Learn隨機(jī)森林回歸
- 1、隨機(jī)森林
- 1.1、集成學(xué)習(xí)
- 1.2、Bagging方法
- 1.3、隨機(jī)森林算法
- 1.4、隨機(jī)森林的優(yōu)缺點(diǎn)
- 2、Scikit-Learn隨機(jī)森林回歸
- 2.1、Scikit-Learn隨機(jī)森林回歸API
- 2.2、隨機(jī)森林回歸實(shí)踐(加州房?jī)r(jià)預(yù)測(cè))
1、隨機(jī)森林
隨機(jī)森林是一種由決策樹構(gòu)成的集成算法,它在大多情況下都能有不錯(cuò)的表現(xiàn)。隨機(jī)森林既可用于回歸也可用于分類。隨機(jī)森林回歸在機(jī)器學(xué)習(xí)知識(shí)結(jié)構(gòu)中的位置如下:
1.1、集成學(xué)習(xí)
隨機(jī)森林是一種由決策樹構(gòu)成的(并行)集成算法,屬于Bagging類型,隨機(jī)森林通過(guò)組合多個(gè)弱分類器,最終結(jié)果通過(guò)投票或取均值,使得整體模型的結(jié)果具有較高的精確度和泛化性能,同時(shí)也有很好的穩(wěn)定性,因此廣泛應(yīng)用在各種業(yè)務(wù)場(chǎng)景中
隨機(jī)森林有如此優(yōu)良的表現(xiàn),主要?dú)w功于隨機(jī)和森林。顧名思義,隨機(jī)森林是一個(gè)比喻,它由若干決策樹構(gòu)成,每棵決策樹都是其基本單元。至于隨機(jī),只是一個(gè)數(shù)學(xué)抽樣概念。隨機(jī)使它具有抗過(guò)擬合能力,森林使它更加精準(zhǔn)
關(guān)于決策樹的介紹詳見文章:回歸樹 和 決策樹
隨機(jī)森林的基本思想在于集思廣益,集中群眾的智慧,廣泛吸收有益的意見。這往往可以得到更好的解決方案。集思廣益在機(jī)器學(xué)習(xí)中對(duì)應(yīng)一個(gè)關(guān)鍵概念——集成學(xué)習(xí)
集成學(xué)習(xí)(Ensemble Learning)通過(guò)訓(xùn)練學(xué)習(xí)多個(gè)個(gè)體學(xué)習(xí)器,當(dāng)預(yù)測(cè)時(shí)通過(guò)結(jié)合策略將多個(gè)個(gè)體學(xué)習(xí)器的結(jié)果組合作為最終強(qiáng)學(xué)習(xí)器的結(jié)果輸出
對(duì)于訓(xùn)練數(shù)據(jù)集,我們訓(xùn)練一系列個(gè)體學(xué)習(xí)器,再通過(guò)結(jié)合策略將它們集成起來(lái),形成一個(gè)更強(qiáng)的學(xué)習(xí)器,這就是集成學(xué)習(xí)所做的事情
其中,個(gè)體學(xué)習(xí)器是相對(duì)于集成學(xué)習(xí)來(lái)說(shuō)的,其實(shí)我們?cè)谥傲私獾降暮芏嗄P?,例如決策樹算法、樸素貝葉斯算法等,都是個(gè)體學(xué)習(xí)器
而集成可以分為同質(zhì)集成和異質(zhì)集成:
- 同質(zhì)集成:只包含同種類型的個(gè)體學(xué)習(xí)器,個(gè)體學(xué)習(xí)器稱作基學(xué)習(xí)器。例如隨機(jī)森林中全是決策樹集成
- 異質(zhì)集成:包含不同類型的個(gè)體學(xué)習(xí)器,個(gè)體學(xué)習(xí)器稱作組件學(xué)習(xí)器。例如同時(shí)包含決策樹和神經(jīng)網(wǎng)絡(luò)進(jìn)行集成
個(gè)體學(xué)習(xí)器代表的是單個(gè)學(xué)習(xí)器,集成學(xué)習(xí)代表的是多個(gè)學(xué)習(xí)器的結(jié)合
集成學(xué)習(xí)的核心問題有兩個(gè):
- 使用什么樣的個(gè)體學(xué)習(xí)器?
- 準(zhǔn)確性:個(gè)體學(xué)習(xí)器不能太弱,需要有一定的準(zhǔn)確性
- 多樣性:個(gè)體學(xué)習(xí)器之間要存在差異性,即具有多樣性
- 如何選擇合適的結(jié)合策略構(gòu)建強(qiáng)學(xué)習(xí)器?
- 并行組合方式:例如隨機(jī)森林
- 傳統(tǒng)組合方式:例如Boosting樹模型
1.2、Bagging方法
這里我們只講隨機(jī)森林的并行集成模型,而Bagging是并行式集成學(xué)習(xí)方法最著名的代表
Bagging方法全稱為自助聚集(Bootstrap Aggregating),顧名思義,Bagging由Bootstrap與Aggregating兩部分組成
要理解Bagging,首先要了解自助采樣法(Bootstrap Sampling)
自助采樣的過(guò)程為
- 給定包含m個(gè)樣本的數(shù)據(jù)集,先隨機(jī)取出一個(gè)樣本放入采樣集中,再把該樣本放回初始數(shù)據(jù)集,使得下次采樣時(shí)該樣本仍有可能被選中
- 重復(fù)上述過(guò)程m輪,得到包含m個(gè)樣本的采樣集,初始數(shù)據(jù)集中有的樣本在采樣集中多次出現(xiàn),有的則從未出現(xiàn)
- 假設(shè)約63.2%的樣本出現(xiàn)在采樣集中,而未出現(xiàn)的約36.8%的樣本可用作驗(yàn)證集來(lái)對(duì)后續(xù)的泛化性能進(jìn)行包外/袋外估計(jì)
Bagging方法是在自助采樣基礎(chǔ)上構(gòu)建的,上述的采樣過(guò)程我們可以重復(fù)T次,采樣出T個(gè)包含m個(gè)樣本的采樣集,然后基于每個(gè)采樣集訓(xùn)練出一個(gè)基學(xué)習(xí)器,然后將這些基學(xué)習(xí)器進(jìn)行結(jié)合
在對(duì)預(yù)測(cè)輸出進(jìn)行結(jié)合時(shí),Bagging通常對(duì)分類任務(wù)使用簡(jiǎn)單投票法,對(duì)回歸任務(wù)使用簡(jiǎn)單平均法,這就是Bagging方法的基本流程
從偏差-方差分解的角度看,Bagging主要關(guān)注降低方差,因此它在不剪枝的決策樹、神經(jīng)網(wǎng)絡(luò)等易受到樣本擾動(dòng)的學(xué)習(xí)器上效用更明顯
1.3、隨機(jī)森林算法
隨機(jī)森林(Random Forest,RF)是一種基于樹模型的Bagging的優(yōu)化版本。核心思想依舊是Bagging,但是做了一些獨(dú)特的改進(jìn)——RF使用了CART決策樹作為基學(xué)習(xí)器。具體過(guò)程如下:
- 輸入樣本集 D D D= { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } \{{ (x_1,y_1),(x_2,y_2),...,(x_m,y_m) \}} {(x1?