當前位置:
首頁 > 最新 > python:一句話說機器學習演算法和調參-集成學習篇

python:一句話說機器學習演算法和調參-集成學習篇

實驗背景

大家好,『WedO實驗君』今天繼續經典機器學習簡要說明和關鍵調參,本實驗針對的是集成學習(Ensemble Learning)。

監督機器學習的目標為訓練一個在各個方面都穩定的模型,但是往往由於演算法和數據本身的缺乏完美的魯棒性,模型不一定十分理想。 集成學習的通俗說法可以用一句話來概括: 三個臭皮匠,頂一個諸葛亮。集成學習通過構建多個有偏好的模型(弱模型),來組合構建強模型。集成學習潛在的思想是即便某一個弱分類器得到了錯誤的預測,其他的弱分類器也可以將錯誤糾正回來。

集成學習主要有兩種:Bagging,Boosting。

Bagging為【放回抽樣】方法來創建訓練集,來分別構建多個分類器。通過多個分類器的投票來預測新數據。 典型演算法為隨機森林。

Boosting為【提升方法】,即不斷的減少監督學習的偏差來構建強分類器,越到後面的弱分類越關注前一個弱分類器出錯的樣本。典型演算法有AdaBoost和GBDT(梯度迭代決策樹)

Bagging和Boosting採用的都是採樣-學習-組合的方式,但在細節上有一些不同,如

Bagging中每個訓練集互不相關,也就是每個基分類器互不相關,而Boosting中訓練集要在上一輪的結果上進行調整,也使得其不能並行計算

Bagging中預測函數是均勻平等的,但在Boosting中預測函數是加權的

來自周志華老師的機器學習教科書(機器學習-周志華):Boosting主要關注降低偏差,因此Boosting能基於泛化性能相當弱的學習器構建出很強的集成;Bagging主要關注降低方差,因此它在不剪枝的決策樹、神經網路等學習器上效用更為明顯。

模型越複雜,偏差越小(預測值和訓練集真實值越擬合),此時如果換一個訓練集,模型的變動就很大(方差大),對數據擾動影響大。

經典集成學習演算法主要包括

隨機森林

AdaBoost

GBDT(梯度迭代決策樹)

實驗器材

● python

● sklearn

● pandas

實驗內容

1. 實驗數據說明

為了說明演算法,採用著名的iris數據集合為實驗數據。

fromsklearnimportcluster, datasets

importpandasaspd

importnumpyasnpfromsklearn

importpreprocessing

iris=datasets.load_iris()

X_iris=iris.data

y_iris=iris.target

iris.target_names

Out[9]:

array(["setosa", "versicolor", "virginica"],

dtype="|S10")

In [10]:

data=pd.DataFrame(iris.data, columns=iris.feature_names)

Out[10]:

2.集成學習方法說明

實驗結語

本實驗介紹了三個集成學習監督演算法的基本思想以及重要參數,已經python 的sklearn 演算法在iris數據的實際應用。

實驗預告:一句話說機器學習演算法和調參-機器學習提取配色方案

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器學習 的精彩文章:

Kaggle推出免費線上課程,覆蓋機器學習、深度學習等四門課
為啥說產品經理都該懂點機器學習?

TAG:機器學習 |