NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

引言

想要得到泛化效能強的整合,整合中的個體學習器應儘可能相互獨立,但是相互獨立很難做到,我們可以做的是使基學習器儘可能具有較大的差異。

Bagging

Bagging是並行式整合學習方法的著名代表,它是基於自助取樣法(有放回的取樣)來提高學習器泛化能力的一種很高效的整合學習方法。
Bagging的策略:

  1. 從樣本集DD中用Bootstrap取樣選出nn個樣本,執行mm次,選出mm個樣本子集{D1,D2,…,Dm}\{D_1,D_2,…,D_m\}
  2. 在所有屬性上,分別對應這mm個樣本子集建立mm個學習器{h1(x),h2(x),…,hm(x)}\{h_1(x),h_2(x),…,h_m(x)\}
  3. 將這mm個學習器放在各自的訓練資料上進行學習
  4. 通過投票法或平均法對這mm個學習器進行結合

由於Bagging採用的是Bootstrap取樣,那麼基學習器大概只使用了初始訓練集中越63.2%的樣本,剩下越36.8%的樣本可以用作驗證集來對泛化效能進行估計。

隨機森林

隨機森林(RandomForest)(Random Forest)是以決策樹為基學習器構建Bagging整合的基礎上進一步在決策樹的訓練過程中引入了隨機屬性選擇。
隨機森林的策略

  1. 從樣本集中用Bootstrap取樣選出n個樣本
  2. 在樹的每個節點上,從所有屬性中隨機選擇k個屬性,選擇出一個最佳分割屬性作為節點,建立決策樹,k一般選為log2dlog_2d,dd表示屬性的總個數
  3. 重複以上兩步mm次,建立mm棵決策數
  4. 這m棵決策樹形成RandomForestRandom Forest

隨機森林中基學習器的多樣性不僅來自樣本擾動,還來自屬性的擾動,因此最終整合的泛華效能有顯著的提高。

結合策略

平均法

Bagging對迴歸任務,或者對數值型輸出,常見的組合策略是使用平均法。

  • 簡單平均法
    H(x)=1TΣTi=1hi(x)

    H(x)=\frac{1}{T}\Sigma_{i=1}^Th_i(x)

  • 加權平均法
    H(x)=ΣTi=1wihi(x)

    H(x)=\Sigma_{i=1}^Tw_ih_i(x)

    其中wiw_i是個體學習器hih_i的權值,通常要求wi≥0,ΣTi=1wi=1w_i \ge 0,\Sigma_{i=1}^Tw_i=1

現實任務中的訓練樣本通常不充分或者是存在噪聲的,這會導致我們學習得到的權值不完全可靠,對與規模較大的整合來說,所需要學習的權值較多,又可能會導致過擬合問題,因此加權平均法未必一定優於簡單平均法

投票法

Bagging對分類任務,常見的組合策略是使用投票法。設學習器hih_i將從類別標記集合{c1,c2,…,cN}\{c_1,c_2,…,c_N\}中預測出一個標記,我們將hih_i在樣本xx上的預測輸出表示為一個NN維向量(h1i(x);h2i(x);…;hNi(x))(h_i^1(x);h_i^2(x);…;h_i^N(x)),其中hji(x)h_i^j(x)是hih_i在類別cjc_j上的輸出。

  • 絕對多數投票法
    f(n)=⎧⎩⎨cj,reject,if ΣTi=1hji(x)>0.5ΣNk=1ΣTi=1hki(x);otherwise

    f(n) =
    \begin{cases}
    c_j, & \text{if $\Sigma_{i=1}^Th_i^j(x) >0.5\Sigma_{k=1}^N\Sigma_{i=1}^Th_i^k(x)$;} \\[2ex]
    reject, & \text{otherwise}
    \end{cases}

    即若某標記得票過半數,則預測為該標記,否則拒絕預測。

  • 相對多數投票法
    H(x)=cargmaxc∑Tt=1hji(x)

    \begin{equation}
    H(x) = c_{\mathop{\arg max}_{c}{\sum_{t=1}^T{h_i^j(x)}}}
    \end{equation}

    即預測為得票最多的標記,若有多個標記得最高票,則從中隨機選取一個

  • 加權投票法
    H(x)=cargmaxc∑Tt=1wihji(x)

    \begin{equation}
    H(x) = c_{\mathop{\arg max}_{c}{\sum_{t=1}^T{w_ih_i^j(x)}}}
    \end{equation}

    與加權平均法類似,其中wiw_i是個體學習器hih_i的權值,通常要求wi≥0,ΣTi=1wi=1w_i \ge 0,\Sigma_{i=1}^Tw_i=1

  • 學習法
    當訓練資料很多的時候,學習法是一種很好的策略,Stacking 是學習法的典型代表,我們將個體學習器稱為初級學習器,用於結合的學習器稱為次級學習器或元學習器。
    原理:
    從初始的資料集訓練出初級學習器,然後生成一個資料集,即初級學習器的輸出來訓練次級學習器,初級學習器的輸出被當作樣例輸入的特徵 ,初始樣本的標記仍當作樣本標記
    注意事項:
    次級訓練集是利用初級學習器引數的,若直接使用初級學習器的訓練集產生次級訓練集,會有較高的過擬合風險,因此一般是通過使用交叉驗證或留一法的方式用訓練初級學習器為使用的樣本來引數次級學習器的訓練樣本。

相關文章

程式語言 最新文章