自由Man

TLD集成分类器(集合分类器)

classifier.trainF(ferns_data,2)训练集成分类器

对任一随机蕨数据:对于正样本,判断其可信度是否低于阈值thr_fern;对于负样本,判断其可信度是否大于0.5。如果满足以上条件,则使用了一次P/N约束,使用update()计数更新每个特征对应的可信度。

 

update(ferns[i].first,0,1):

void FerNNClassifier::update(const vector<int>& fern, int C, int N) {

  int idx;

  for (int i = 0; i < nstructs; i++) { //每棵树共nstructs个蕨

      idx = fern[i];//每个蕨的值(2bitBP特征组成的二进制数)

      (C==1) ? pCounter[i][idx] += N : nCounter[i][idx] += N;//计数统计

      if (pCounter[i][idx]==0) {

          posteriors[i][idx] = 0;

      } else {

          posteriors[i][idx] = ((float)(pCounter[i][idx]))/(pCounter[i][idx] + nCounter[i][idx]);

      }

  }

}


  •  民木
     发布于 2015-12-03 14:17:40  回复该评论
  • 你好, 请问 tld 源码 要到哪里去下载?谢谢

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero Theme By 爱墙纸

Copyright ZiYouMan.cn. All Rights Reserved. 蜀ICP备15004526号