當前位置:首頁 » 廢水回用 » 提升弱分類器

提升弱分類器

發布時間: 2021-03-31 15:17:37

⑴ adaboost演算法中訓練弱分類器應當使用什麼演算法

任何分類器都行,但要是弱分類器,記得一篇論文中說如果是強分類器會影響最終訓練性能,但沒有試過。簡單點可以用decision stump,其實就是一個判斷,如果特徵符合某個條件則為a類,否則是b類。其他決策樹也行,至於使用不同分類器是不是有很大區別,沒有做過實驗不敢妄言,但肯定會有性能差別的。

⑵ 基於lbp的adaboost人臉檢測中弱分類器是怎麼生成的

Adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。其演算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的准確率,來確定每個樣本的權值。將修改過權值的新數據集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器。使用adaboost分類器可以排除一些不必要的訓練數據特徵,並將關鍵放在關鍵的訓練數據上面。
目前,對Adaboost演算法的研究以及應用大多集中於分類問題,同時近年也出 現了一些在回歸問題上的應用。就其應用Adaboost系列主要解決了: 兩類問題、 多類單標簽問題、多類多標簽問題、大類單標簽問題,回歸問題。它用全部的訓練樣本進行學習。
該演算法其實是一個簡單的弱分類演算法提升過程,這個過程通過不斷的訓練,可以提高對數據的分類能力。整個過程如下所示:
1. 先通過對N個訓練樣本的學習得到第一個弱分類器 ;
2. 將 分錯的樣本和其他的新數據一起構成一個新的N個的訓練樣本,通過對這個樣本的學習得到第二個弱分類器 ;
3. 將 和 都分錯了的樣本加上其他的新樣本構成另一個新的N個的訓練樣本,通過對這個樣本的學習得到第三個弱分類器 ;
4. 最終經過提升的強分類器 。即某個數據被分為哪一類要通過 , ……的多數表決。
2.3 Adaboost(Adaptive Boosting)演算法
對於boosting演算法,存在兩個問題:
1. 如何調整訓練集,使得在訓練集上訓練的弱分類器得以進行;
2. 如何將訓練得到的各個弱分類器聯合起來形成強分類器。
針對以上兩個問題,adaboost演算法進行了調整:
1. 使用加權後選取的訓練數據代替隨機選取的訓練樣本,這樣將訓練的焦點集中在比較難分的訓練數據樣本上;
2. 將弱分類器聯合起來,使用加權的投票機制代替平均投票機制。讓分類效果好的弱分類器具有較大的權重,而分類效果差的分類器具有較小的權重。
Adaboost演算法是Freund和Schapire根據在線分配演算法提出的,他們詳細分析了Adaboost演算法錯誤率 的上界,以及為了使強分類器 達到錯誤率 ,演算法所需要的最多迭代次數等相關問題。與Boosting演算法不同的是,adaboost演算法不需要預先知道弱學習演算法學習正確率的下限即弱分類器的誤差,並且最後得到的強分類器的分類精度依賴於所有弱分類器的分類精度, 這樣可以深入挖掘弱分類器演算法的能力。
Adaboost演算法中不同的訓練集是通過調整每個樣本對應的權重來實現的。開始時,每個樣本對應的權重是相同的,即 其中 n 為樣本個數,在此樣本分布下訓練出一弱分類器 。對於 分類錯誤的樣本,加大其對應的權重;而對於分類正確的樣本,降低其權重,這樣分錯的樣本就被突出出來,從而得到一個新的樣本分布 。在新的樣本分布下,再次對弱分類器進行訓練,得到弱分類器。依次類推,經過 T 次循環,得到 T 個弱分類器,把這 T 個弱分類器按一定的權重疊加(boost)起來,得到最終想要的強分類器。
Adaboost演算法的具體步驟如下:
1. 給定訓練樣本集 ,其中 分別對應於正例樣本和負例樣本; 為訓練的最大循環次數;
2. 初始化樣本權重 ,即為訓練樣本的初始概率分布;
3. 第一次迭代:
(1) 訓練樣本的概率分布 下,訓練弱分類器:
(2) 計算弱分類器的錯誤率:
(3) 選取 ,使得 最小
(4) 更新樣本權重:
(5) 最終得到的強分類器:
Adaboost演算法是經過調整的Boosting演算法,其能夠對弱學習得到的弱分類器的錯誤進行適應性調整。上述演算法中迭代了 次的主循環,每一次循環根據當前的權重分布 對樣本x定一個分布P,然後對這個分布下的樣本使用若學習演算法得到一個錯誤率為 的弱分類器 ,對於這個演算法定義的弱學習演算法,對所有的 ,都有 ,而這個錯誤率的上限並不需要事先知道,實際上 。每一次迭代,都要對權重進行更新。更新的規則是:減小弱分類器分類效果較好的數據的概率,增大弱分類器分類效果較差的數據的概率。最終的分類器是 個弱分類器的加權平均。
第一部分:演算法的產生
1996年Yoav Freund在Experiments with a New Boosting Algorithm中提出了AdaBoost.M1和AdaBoost.M2兩種演算法.其中,AdaBoost.M1是我們通常所說的Discrete AdaBoost;而AdaBoost.M2是M1的泛化形式.該文的一個結論是:當弱分類器演算法使用簡單的分類方法時,boosting的效果明顯地統一地比bagging要好.當弱分類器演算法使用C4.5時,boosting比bagging較好,但是沒有前者的比較來得明顯.
文獻中記錄的.M1演算法
初始
1.獲得一組樣本(X)和它的分類(Y)和一個分類器(weaklearn).
2.賦予平均的權值分布D(i)
進入循環:T次
1. 賦予弱分類器權值D(i),使用弱分類器獲得樣本(X)到分類(Y)上的一個映射.(就是把某個X歸到某個Y類中去)
2. 計算這個映射的誤差e.e=各個歸類錯誤的樣本權值之和.如果e>1/2那麼弱分類器訓練失敗,挑出循環,訓練結束(這在二值檢測中是不會發生的,而多值的情況就要看分類器夠不夠強健了)
3. 設B = e / ( 1 - e ).用於調整權值.因為e<1/2.因此0<B<1
4. 如果某樣本分類正確,該樣本的權值就乘以B讓權值變小;如果分類錯誤,就讓該樣本的權值乘以B^-1或者不變,這樣就讓分類正確的樣本權值降低,分類錯誤的樣本權值升高,加強了對較難分類樣本的分類能力
5. 權值均衡化
循環結束
1. 最終的分類器是,當一個X進入時,遍歷所有Y,尋找使(h(x)=y的情況下,log(1/B)之和)最大者即是輸出分類y
M2相比於M1的改進是允許弱分類器輸出多個分類結果,並輸出這幾個分類結果的可能性(注意,這里不是概率)
.M2的流程是
1.獲得一組樣本(X)和它的分類(Y)和一個分類器(weaklearn).
2.對於某個樣本Xi將它的分類歸為一個正確分類Yi和其他不正確分類Yb
3.樣本權值進行如下分布首先每個樣本分到1/m的權值,然後每個不正確分類分到(1/m)/Yb的個數.也就是說樣本權值是分到了每個不正確的分類上
進入循環
1. 求每個樣本的權值,即每個樣本所有不正確的分類的權值和,再求每個樣本錯誤分類的權值,即不正確分類的權值除以該樣本的權值.最後將每個樣本的權值歸一化
2. 將樣本權值和某樣本的不正確分類的權值輸入到weaklearn,獲得弱分類器的輸出為各個分類的可能值
3. 計算偽錯誤率:公式見上
4. 更新權值
退出循環
最終的強分類器: 圖貼不出來了...
1999年, ROBERT E. SCHAPIRE和YORAM SINGER,於Machine Learning發表論文: Improved Boosting Algorithms Using Confidence-rated Predictions.提出了更具一般性的AdaBoost形式.提出了自信率以改善AdaBoost的性能.並提出了解決多標簽問題的AdaBoost.MH和AdaBoost.MR演算法,其中AdaBoost.MH演算法的一種形式又被稱為Real Boost演算法.
事實上:Discrete AdaBoost是指,弱分類器的輸出值限定在{-1,+1},和與之相應的權值調整,強分類器生成的AdaBoost演算法;Real AdaBoost是指,弱分類器輸出一個可能度,該值的范圍是整個R, 和與之相應的權值調整,強分類器生成的AdaBoost演算法。事實上,Discrete到Real的轉變體現了古典集合到模糊集合轉變的思想
至於Gentle AdaBoost.考慮到(AdaBoost對」不像」的正樣本權值調整很高,而導致了分類器的效率下降),而產生的變種演算法.它較少地強調難以分類的樣本.

⑶ 求助,如何確定adaboost演算法的弱分類器

去博客上看看吧,網路知道這里不會圖文並茂的說,不過其實弱分類器的創建可以看看opencv的haartraning代碼,簡單說來一句話,就是講候選特徵全部篩選一遍,基於正確分類個數找到表現最好的特徵即為弱分類器,弱分類器的篩選只是第一步,後續還會有強分類器的創建,以及級聯分類器的創建,推薦你看兩篇csdn的博客:

  1. 《Opencv研讀筆記:haartraining程序之cvCreateMTStumpClassifier函數詳解(弱分類器創建)~》

  2. 《談談對Gentle Adaboost的一點理解~》

⑷ 請教adaboost弱分類器設計問題

AdaBoost演算法裡面 要求弱分類器正確率>50%並且各個弱分類器相互獨立 可是如果弱分類器錯誤率均在50%以下,但不完全獨立 會造成什麼樣的後果呢?今天和aa討論的,弱分類器用最小平方誤差,最小平方誤差的錯誤率應該是50%以下的,可是調整權值會使分類器不獨立(這個我也不這么認為,因為弱分類器是重新調整權值後重新計算的,跟上一次應該不算線形相關。何況,在AdaBoost演算法描述本身,也是用的調整權值來做的~ 說明這樣的權值調整,並不會使弱分類器變得相關,不然,AdaBoost演算法這么大的漏洞,不可能被廣泛應用的)aa說會讓組合後的分類器錯誤率>50%而退出~ 可是我覺得不會,迭代演算法應該能保證其越來越優,只是可能一直到不了錯誤率<0附近的值的狀態。btw AdaBoost調不出結果來。。。哭ing

⑸ 請問什麼是強分類器和弱分類器 我到處都沒找到定義,麻煩告訴我出處或者定義吧 謝啦(模式識別 人工智慧

Weak Classifier and Strong Classifier
(弱分類器和強分類器)
分類是數據挖掘的一種非常重要的方法。分類的概念是在已有數據的基礎上學會一個分類函數或構造出一個分類模型(即我們通常所說的分類器(Classifier))。該函數或模型能夠把資料庫中的數據紀錄映射到給定類別中的某一個,從而可以應用於數據預測。總之,分類器是數據挖掘中對樣本進行分類的方法的統稱,包含決策樹、邏輯回歸、樸素貝葉斯、神經網路等演算法。
簡而言之,分類器的強弱是其分類能力的一種描述。其實就是字面意思。

能夠迅速正確的識別的過程就是強分類器,而易錯的則是弱分類器。
強分類器可以由多個弱分類器組成。

⑹ 請問什麼是強分類器和弱分類器

Adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)
度娘的。詳見:http://ke..com/view/2395336.htm

⑺ AdaBoost演算法學習強分類器是不是弱分類器越簡單越好

控制項設置選項

在RadioButton控制項的properties選項中,一般常對以下選項進行設置。

name:該控制項對應源代碼中的名稱;

text:該控制項對應圖形界面中所顯示的名稱;

font:設置text的字體;

enabled:該控制項是否可用,可用時值為true,不可用時值為false;

checked:用來設置或返回是否選中單選按鈕,選中時值為true,沒有選中時值為false。

⑻ 如何利用AdaBoost提高分類性能

Adaboost是一種迭代演算法,其核心思想是針對同一個訓練集訓練不同的分類器(弱分類器),然後把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。
其演算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是否正確,以及上次的總體分類的准確率,來確定每個樣本的權值。
將修改過權值的新數據集送給下層分類器進行訓練,最後將每次訓練得到的分類器最後融合起來,作為最後的決策分類器。
使用adaboost分類器可以排除一些不必要的訓練數據特徵,並將關鍵放在關鍵的訓練數據上面。
目前,對Adaboost演算法的研究以及應用大多集中於分類問題,同時近年也出現了一些在回歸問題上的應用。
就其應用Adaboost系列主要解決了:兩類問題、多類單標簽問題、多類多標簽問題、大類單標簽問題,回歸問題。
它用全部的訓練樣本進行學習。
該演算法其實是一個簡單的弱分類演算法提升過程,這個過程通過不斷的訓練,可以提高對數據的分類能力。

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239