最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【圖像檢測】基于AdaBoost算法實現(xiàn)人臉檢測matlab源碼

2021-09-14 12:07 作者:Matlab工程師  | 我要投稿

簡要敘述一下AdaBoost算法的主要過程:

AdaBoost為每個數(shù)據(jù)樣本分配權(quán)重,權(quán)重符合概率分布,初始權(quán)重符合均勻分布,串行訓(xùn)練M個模型,依據(jù)每輪訓(xùn)練的模型的錯誤率(被誤分類樣本的權(quán)重之和)確定當(dāng)前模型在最終模型中的權(quán)重,以及更新訓(xùn)練樣本的權(quán)重,誤分類樣本權(quán)重升高,分類正確的樣本權(quán)重降低。

下圖的算法流程來自于《統(tǒng)計學(xué)習(xí)方法》。

下面通過具體的實例來理解AdaBoost算法的流程,例子來自于《統(tǒng)計學(xué)習(xí)方法》。

第一輪迭代:

此時得到的組合模型中只有一個

?,此時

?的分類結(jié)果就是最終模型的分類結(jié)果。第一輪迭代中6,7,8(6,7,8指的是x的值,不是指的序號)被誤分類。此時得到的組合模型在訓(xùn)練數(shù)樣本上的預(yù)測結(jié)果如下:


X


y





分類結(jié)果


0


1


0.4236


0.4236


1


正確


1


1


0.4236


0.4236


1


正確


2


1


0.4236


0.4236


1


正確


3


-1


-0.4236


-0.4236


-1


正確


4


-1


-0.4236


-0.4236


-1


正確


5


-1


-0.4236


-0.4236


-1


正確


6


1


-0.4236


-0.4236


-1


錯誤


7


1


-0.4236


-0.4236


-1


錯誤


8


1


-0.4236


-0.4236


-1


錯誤


9


-1


-0.4236


-0.4236


-1


正確


其中sign符號函數(shù)如下:

第二輪迭代:

第二輪迭代中3,4,5被誤分類,此時得到的最終模型是前兩輪模型的線性組合。那么在當(dāng)前的組合條件下

?的分類結(jié)果是怎樣的?


X


y






分類結(jié)果


0


1


0.4236


0.6496


1.0732


1


正確


1


1


0.4236


0.6496


1.0732


1


正確


2


1


0.4236


0.6496


1.0732


1


正確


3


-1


-0.4236


0.6496


0.226


1


錯誤


4


-1


-0.4236


0.6496


0.226


1


錯誤


5


-1


-0.4236


0.6496


0.226


1


錯誤


6


1


-0.4236


0.6496


0.226


1


正確


7


1


-0.4236


0.6496


0.226


1


正確


8


1


-0.4236


0.6496


0.226


1


正確


9


-1


-0.4236


-0.6496


-1.0732


-1


正確


第三輪迭代:

第三輪迭代中0,1,2,9被誤分類,此時得到的最終模型是前三輪模型的線性組合。那么在當(dāng)前的組合條件下

?的分類結(jié)果是怎樣的?


X


y







分類結(jié)果


0


1


0.4236


0.6496


-0.7514


0.3218


1


正確


1


1


0.4236


0.6496


-0.7514


0.3218


1


正確


2


1


0.4236


0.6496


-0.7514


0.3218


1


正確


3


-1


-0.4236


0.6496


-0.7514


-0.5254


-1


正確


4


-1


-0.4236


0.6496


-0.7514


-0.5254


-1


正確


5


-1


-0.4236


0.6496


-0.7514


-0.5254


-1


正確


6


1


-0.4236


0.6496


0.7514


0.9774


1


正確


7


1


-0.4236


0.6496


0.7514


0.9774


1


正確


8


1


-0.4236


0.6496


0.7514


0.9774


1


正確


9


-1


-0.4236


-0.6496


0.7514


-0.3218


-1


正確


經(jīng)過三輪迭代之后,在訓(xùn)練集上的錯誤率為0。

nTrainPosData = 200; nTrainNegData = 200; nLevels = 200; W = 19; H = 19; PTrainData = zeros(W, H, nTrainPosData); NTrainData = zeros(W, H, nTrainNegData); %% read train data fileFolder = '.\Datasets\FACES\'; pfiles = dir(fullfile(strcat(fileFolder,'*.pgm'))); fileNames = {pfiles.name}'; ? ? ?%轉(zhuǎn)換成細胞數(shù)組 aa = 1:length(pfiles); ? ? ? ? ?%這段程序還沒有看懂 ? ? ? ? ? a = randperm(length(aa)); trainPosPerm = aa(a(1:nTrainPosData)); for i=1:size(PTrainData,3) ? ?PTrainData(:,:,i) =imread(strcat(fileFolder,fileNames{i})); end fileFolder = '.\Datasets\FACES\'; nfiles = dir(fullfile(strcat(fileFolder,'*.pgm'))); fileNames = {nfiles.name}'; ? ? ?%轉(zhuǎn)換成細胞數(shù)組 aa = 1:length(nfiles); ? ? ? ? ?%這段程序還沒有看懂 a = randperm(length(aa)); trainNegPerm = aa(a(1:nTrainNegData)); for i=1:size(NTrainData,3) ? ?NTrainData(:,:,i) =imread(strcat(fileFolder,fileNames{i})); end %% read test data testPosPerm = setdiff(1:length(pfiles), trainPosPerm); testNegPerm = setdiff(1:length(nfiles), trainNegPerm); PTestData = zeros(W, H, length(testPosPerm)); NTestData = zeros(W, H, length(testNegPerm)); fileFolder = '.\Datasets\FACES\'; pfiles = dir(fullfile(strcat(fileFolder,'*.pgm'))); fileNames = {pfiles.name}'; ? ? ?%轉(zhuǎn)換成細胞數(shù)組 % for i=1:size(PTestData,3) for i=1:200 ? ?PTestData(:,:,i) =imread(strcat(fileFolder,fileNames{i})); end fileFolder = '.\Datasets\FACES\'; nfiles = dir(fullfile(strcat(fileFolder,'*.pgm'))); fileNames = {nfiles.name}'; ? ? ?%轉(zhuǎn)換成細胞數(shù)組 % for i=1:size(NTestData,3) for i=1:200 ? ? ? NTestData(:,:,i) =imread(strcat(fileFolder,fileNames{i})); end %% Cparams = Train(PTrainData, NTrainData, PTestData, NTestData, nLevels); save('.\Cparams.mat', 'Cparams');

?


【圖像檢測】基于AdaBoost算法實現(xiàn)人臉檢測matlab源碼的評論 (共 條)

分享到微博請遵守國家法律
许昌县| 张掖市| 天峻县| 保康县| 怀宁县| 米易县| 泸溪县| 崇文区| 页游| 麦盖提县| 太和县| 东光县| 贵定县| 赤壁市| 淮安市| 盐源县| 冀州市| 五莲县| 昌都县| 中卫市| 南京市| 沧源| 汉沽区| 兴安盟| 上栗县| 漳浦县| 互助| 甘孜| 邢台市| 新竹市| 马公市| 中阳县| 海兴县| 绥中县| 兰坪| 曲水县| 阆中市| 荆州市| 夏邑县| 湘乡市| 惠东县|