1. 程式人生 > >提升和加法樹及AdaBoost演算法總結

提升和加法樹及AdaBoost演算法總結

提升方法概述

一個弱分類器的誤差率只比隨機猜測好一些,提升的目的就是連續對反覆修改的資料應用弱分類演算法,由此產生一個弱分類器序列Gm(x),m=1,2,3...M,然後通過一個加權的多數表決來合併全部預測,以產生最終預測
G(x)=sign(Mm=1αmGm(x))
這裡,αm由提升方法來計算,它們的作用是對序列中較精確的分類器給予較高的影響。
在每個提升步,資料修改就是對每一訓練觀測(xi,yi)實施加權wi,開始,所有權都置成wi=1/N,以便第一步能夠簡單地用通常的方式在資料上訓練分類。對每一個相繼的迭代m=2,3...M,觀測的權值被分別修改,並且分類演算法被再次應用於加權觀測。在第m

步,那些被前一步匯出的分類器Gm1(x)誤分類的觀測權值提高,而被正確分類的觀測權值降低。這樣,隨著迭代的進行,那些很難正確分類的觀測受到了不斷增長的影響。因此,每個後繼分類器被強制關注被前面的分類器誤分類的訓練觀測。

AdaBoost演算法

演算法流程如下:
1.初始化觀測權值wi=1/N,i=1,2...N
2.對於m=1M
(a)使用權值wi,用分類器Gmx擬合數據
(b)計算Gmx在訓練資料集上的分類誤差率
em=P(Gm(xi)!=yi)=Ni=1wmiI(Gm(xi)!=yi)
(c)計算Gmx的係數
α

m=12log1emem
(d)更新訓練資料的權值分佈
Dm+1=(wm+1,1,...wm+1,N)
wm+1,i=wmiZmexp(αmyiGm(x)),i=1,2...N
這裡,Z_m是規範化因子
Zm=Ni=1wmiexp(αmyiGm(x))
它使得Dm+1成為一個概率分佈
3.構建基本分類器的線性組合
f(x)=Mm=1αmGm(x)
得到最終分類器
G(x)=sign(f(x))

αm=12log1eme

相關推薦

提升加法AdaBoost演算法總結

提升方法概述 一個弱分類器的誤差率只比隨機猜測好一些,提升的目的就是連續對反覆修改的資料應用弱分類演算法,由此產生一個弱分類器序列Gm(x),m=1,2,3...M,然後通過一個加權的多數表決來合併全部預測,以產生最終預測 G(x)=sign(∑Mm=1αm

詳解斯坦納點斯坦納模版歸納總結

什麽是 com 需要 spa hub 等於 pac 其中 給定 ①什麽是斯坦納點? 假設原來已經給定了個點,庫朗等指出需要引進的點數至多為,此種點稱為斯坦納點。過每一斯坦納點,至多有三條邊通過。若為三條邊,則它們兩兩交成120°角;若為兩條邊,則此斯坦納點必為某一已

資料結構:線段ST演算法比較

ST演算法是一種高效的計算區間最值的方法。 他的思想是將詢問區間分解成兩個最長的二次冪的長度的區間並集的形式。 所以與線段樹不同,這種區間分解其實存在相交的分解。 因此ST演算法能維護的只是一些簡單的資訊,比如區間最值或者區間gcd問題 ST演算法的優勢: 實現簡單(qwq為什麼我覺得線段樹更

比較全面的Adaboost演算法總結(一)

目錄: 1. Boosting演算法基本原理 2. Boosting演算法的權重理解 3. AdaBoost的演算法流程 4. AdaBoost演算法的訓練誤差分析 5. AdaBoost演算法的解釋 6. AdaBoost演算法的正則化 7. AdaBoost演算法的過

機器學習筆記(一)——基於單層決策AdaBoost演算法實踐

                             基於單層決策樹的AdaBoost演算法實踐    最近一直在學習周志華老師的西瓜書,也就是《機器學習》,在第八章整合學習中學習了一個整合學習演算法,即AdaBoost演算法。AdaBoost是一種迭代演算法,其核心思想

【機器學習入門二】整合學習AdaBoost演算法的python實現

本文主要基於周志華老師的《機器學習》第八章內容 個體與整合 整合學習通過構建並結合多個學習器來完成學習任務。整合學習的一般結構如圖所示: 先產生一組個體學習器,在用某種策略把它們結合在一起。個體學習器通常有一個現有的學習演算法從訓練資料產生,如決策

Android ServiceIntentService區別知識點詳細總結

Service 對於廣大的Android開發者來說算是耳熟能詳了,作為Android的四大元件之一,在我們的開發中也起著重要的作用,在Android面試中,Service相關的問題也是面試官問得比較多的,當別人問你,Service 到底是什麼的時候?你可能隨口就能答得上來,

資料結構之--二叉/B/B+/紅黑相關演算法

樹 前言:以下所有概念來自教材、演算法導論或其他權威資料,如有記錄出錯,歡迎指正 定義 樹是一種非線性的資料結構 樹是若干個結點的集合(個數>=0),是由唯一的根和若干棵互不相交的子樹組成 樹的結點樹可以為0,對於這種樹,我們稱為空樹 樹與圖的區別

BAT面試必問題系列:JVM的判斷物件是否已死四種垃圾回收演算法總結

JVM系列: 面試題一:判斷物件是否已死 判斷物件是否已死就是找出哪些物件是已經死掉的,以後不會再用到的,就像地上有廢紙、

BAT面試必問題系列:JVM判斷物件是否已死四種垃圾回收演算法總結

JVM系列: 面試題一:判斷物件是否已死 判斷物件是否已死就是找出哪些物件是已經死掉的,以後不會再用到的,就像地上有廢紙、

二叉中序遍歷(遞迴非遞迴)演算法C語言實現

二叉樹中序遍歷的實現思想是: 訪問當前節點的左子樹; 訪問根節點; 訪問當前節點的右子樹; 圖 1 二叉樹   以圖  1 為例,採用中序遍歷的思想遍歷該二叉樹的過程為: 訪問該二叉樹的根節點,找到 1; 遍歷節點 1 的左子樹,找到節點 2; 遍歷節點 2 的左子樹,找到節點 4;

《機器學習實戰》學習筆記(六)之提升Adaboost(上)基礎理論以及演算法推導

轉載請註明作者和出處:http://blog.csdn.net/john_bh/ CSDN部落格專欄:## Github程式碼獲取:## 執行平臺: Windows Python版本: Python3.6 IDE: Sublime text3

ID3C4.5決策演算法總結

1.決策樹的演算法流程 決策樹的演算法流程主要是: 1.如果當前樣本集全部為同一類別,則返回這一類標籤 2.如果當前屬性集為空集或者D中樣本在屬性集中的取值全部相同,那麼採用多數表決法,返回樣本數最多的類標籤 3.如果不滿足上面三個條件,說明當前結點還可

BB+總結

href 直接插入 也有 新的 img 結束 提高 通過 我們 https://www.cnblogs.com/George1994/p/7008732.html B樹和B+樹的總結 B樹 為什麽要B樹 磁盤中有兩個機械運動的部分,分別是盤片旋轉和磁臂

查詢演算法 淺談演算法資料結構: 七 二叉查詢 淺談演算法資料結構: 十一 雜湊表

閱讀目錄 1. 順序查詢 2. 二分查詢 3. 插值查詢 4. 斐波那契查詢 5. 樹表查詢 6. 分塊查詢 7. 雜湊查詢   查詢是在大量的資訊中尋找一個特定的資訊元素,在計算機應用中,查詢是常用的基本運算,例如編譯程式中符號表的查詢。本文

通俗易懂的Adaboost演算法原理分析例項+程式碼

   【尊重原創,轉載請註明出處】 http://blog.csdn.net/guyuealian/article/details/70995333     本人最初瞭解AdaBoost演算法著實是花了幾天時間,才明白他的基本原理。也許是自己能力有限吧,很多資

03: 迴圈結構 case語句 、 函式中斷控制 總結答疑

Top NSD SHELL DAY03 案例1:使用for迴圈結構 案例2:使用while迴圈結構 案例3:基於case分支編寫指令碼 案例4:使用Shell函式 案例5:中斷及退出 1 案例1:使用for迴圈結構 1.1 問題 本案例要求

說說&&& |||的區別 關於位操作符的使用總結

參考資料: 張孝祥老師整理的Java就業面試題大全 Java開發實戰經典(李興華老師) 及http://hi.baidu.com/onjee/blog/item/4e902d1f3450040f304e15ca.html package src;/** 本示例演示&和&

演算法總結-二叉的深度優先搜尋

1 遍歷的問題 二叉樹的前序遍歷 http://www.lintcode.com/zh-cn/problem/binary-tree-preorder-traversal/ 二叉樹的中序遍歷 http://www.lintcode.com/zh-cn/problem/b

演算法總結-陣列連結串列

1 連結串列 Dummy Node的應用 K組翻轉連結串列 http://www.lintcode.com/zh-cn/problem/reverse-nodes-in-k-group/ 連結串列劃分 http://www.lintcode.com/zh-cn/probl