Skip to content

Latest commit

 

History

History
181 lines (101 loc) · 6.69 KB

集成方法.md

File metadata and controls

181 lines (101 loc) · 6.69 KB

集成方法

Agenda

Note

簡介

Ensemble Methods

  • Bagging & Boosting

161

  • Bagging
  • 讓每個人都做過一遍這個測試,最後再將結果結合再一起。
  • 如果是數值型,也許就是取平均,如果是是非題,也許就是多數決。

162

  • Boosting
  • 讓不同擅長的人來處理不同的問題,最後再將結果結合再一起。

163

  • Weak Learner,把原本一群的朋友,當作所謂的弱學習器。
  • Strong Learner,把集合成一體,當作所謂的強學習器。

Bagging

164

  • 假設,我們有三個弱學習器。

165

  • 接下來,我們有一組資料,如果用這三個弱學習器去學習,會發現學習效果都不是很好。

166

167

168

  • 重點
  • 將原本的資料任意拆分成三個子集合,然後分別交給三個弱學習器去學習。

169

  • 最後將三個三個弱學習器的學習結果集合起來。
  • 這個例子,可以透過疊加的方式來進行集合,若藍色多的點就是為藍色,若紅色多的點就回紅色。
  • 若是一樣的多點,就隨機決定,但在實際情況下若弱學習器很多的話,必較不容易出先一樣多的情況。

170

  • 三個臭皮匠的智慧結果。

AdaBoost

自適應增強算法

171

172

173

  • 重點: 下一個weak learner要去修正上一個weak learner所犯的錯誤。

174

  • 將3個weak learner的結果賦予權重進行疊加。

數據權重

175

  • 假設,一開始每個點的權重都是1。

176

  • 第一個weak learner分錯3個點。
  • 正確的點權重和: 7
  • 錯誤的點權重和: 3
  • 重點: 調整錯誤的點的權重,讓錯誤的點的權重和要等於正確的點權重和。
  • 調整後,錯誤的點的權重 7/3 = 2.33。

177

  • 下一個weak learner要去修正上一個weak learner所犯的錯誤。
  • 正確的點權重和: 7/3x3 + 1x4 = 11
  • 錯誤的點權重和: 3
  • 調整後,錯誤的點的權重 11/3 = 3.66。

178

  • 可以繼續重複上面的步驟,繼續下去。
  • 但方便之後討論,先做到這裡。

179

  • 現在得到3個不同的model,該要學習如何合併。

為模型賦值

180

  • 先從一個假設開始,哪種朋友最不可靠?
  • 一半說謊,一半實話這種朋友最不可靠,因為永遠不清楚何時該相信他。

181

  • 在模型角度討論,準確度只有一半的模型最不可靠,他的權重應該要最低。

182

183

  • 權重函數,可以透過sigmoid function來給予。

184

  • 上面三個model的權重應該要分別是多少?

185

  • 討論edge case,出現這樣的權重的模型表示是十分完美正確的模型,但只有存在理論的幻想空間裡,實作上不太有可能遇到。

集合模型

186

187

188

189

  • 根據上節所學到如何給模型賦值,替這3個weak learner分別給於適當的權重。

重點: 集合模型,如何將weak learner進行合併

190

  • 先放入model 1的weight到對應的區域。

191

  • 合併model 2的weight到對應的區域。

192

  • 合併model 3的weight到對應的區域。

193

  • 進行權重相加,產生最後的結果。

sklearn 中的 AdaBoost

194

AdaBoost 上的学习资源

原始論文

後續論文

教程