24小时热门版块排行榜    

CyRhmU.jpeg
查看: 805  |  回复: 3

lina_lily

新虫 (正式写手)

[求助] 求助:用adaboost方法将gabor特征数据分类该如何训练分类器?或者哪位有相似代码?

任务是:用adaboost算法将48维的gabor特征进行分类,标签为1-9.样本被分成的类别值(1-9),请问具体的思路是什么呢?
下面是我的代码
首先将特征数据分为1类和非1类,其中寻找48列数据中每列数据特征值上的最优弱分类器searchbestweaklearner.m的关键代码:
Y是标签向量,FeatureVector是48维数据中每列的值
u1=mean(FeatureVector(find(Y==1)));  % 类别1均值
u2=mean(FeatureVector(find(Y~=1)));  % 类别2均值************

iteration=4;                         % 迭代次数
sectNum=8;                           % 每次迭代,将搜索区域划分的片段

maxFea=max(u1,u2);                   % 搜索空间的最大值
minFea=min(u1,u2);                   % 搜索空间的最小值
step=(maxFea-minFea)/(sectNum-1);    % 每次搜索的递增量
bestError=cntSamples;                      % 初值:最好的分类器错误率

for iter=1:iteration                 % 迭代iteration次,范围逐步缩小,寻找最优值
    tempError=cntSamples;                  % 初值:第iter次迭代的分类器错误率      
    for i=1:sectNum                  % 第iter次迭代的搜索次数
        thresh=minFea+(i-1)*step;    % 第i次搜索的阈值
        h=FeatureVector<thresh;      % 所有样本的阈值分类结果
        errorrate=sum(weight(find(h~=Y)));% 第iter次迭代第i次搜索加权错误率*******************************************这是什么算法?
        p=1;
        if(errorrate>0.5)            % 若错误率超过0.5,则将偏置反向
            errorrate=1-errorrate;
            p=-1;
        end
        if( errorrate<bestError )    % 第iter次迭代最优的错误率 阈值 偏置
            bestError=errorrate;     % 第iter次迭代最小的错误率
            bestThresh=thresh;       % 第iter次迭代最小错误分类情况下的阈值
            bestBias=p;              % 第iter次迭代最小错误分类情况下的偏置
        end
    end

    % 将搜索范围缩小,继续进行搜索
    span=(maxFea-minFea)/8;          % 搜索范围减为原有的1/4                    
    maxFea=bestThresh+span;          % 减少搜索范围后搜索空间的最大值     
    minFea=bestThresh-span;          % 减少搜索范围后搜索空间的最小值

   step=(maxFea-minFea)/(sectNum-1); % 减少搜索范围后每次搜索的递增量
end
各位有没有建议?感谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

17火耳17

新虫 (小有名气)

帮顶,看楼下高手解决。
2楼2014-05-04 20:14:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dnp

荣誉版主 (知名作家)

小木虫浪子

优秀版主

没用过adaboost,如果是多重分类,可以试一下随机森林,或者boosting,具体可以看doc treebagger。
What would Jesus do?
3楼2014-05-07 13:31:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lina_lily

新虫 (正式写手)

引用回帖:
3楼: Originally posted by dnp at 2014-05-07 13:31:12
没用过adaboost,如果是多重分类,可以试一下随机森林,或者boosting,具体可以看doc treebagger。

谢!
4楼2014-05-10 15:54:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lina_lily 的主题更新
信息提示
请填处理意见