cvCreateMTStumpClassifier计算最优弱分类器的代码总体思路

在我转载的其他的两篇文章里,有对cvCreateMTStumpClassifier的详细介绍,分别是http://blog.csdn.net/ding977921830/article/details/46356789http://blog.csdn.net/ding977921830/article/details/46412465,但是我还是看了好多遍才梳理出一个头绪,现总结如下:

(1)预计算出所有特征对训练样本特征存储在valCache中,经过排序后,存储在idxCache;

(2)对特征分组,每组数量为portion;

(3)对于每个特征,也就是上面idxCache的每一行,利用宏ICV_DEF_FIND_STUMP_THRESHOLD( suffix, type, error )  计算最佳阈值,衡量标准是不纯度(entropy,gini,misclasification,残差平方和)。

(4)最后的一个do-while循环,就是用来跳过和当前结点相同的特征值。虽然以后续的、相同的值作为结点划分左右子树,残差平方和可能会改变,但是决策树划分的最小单位是特征值的种类,因为在利用决策树进行分类的时候,必须对相同的特征值做出一样的决策(该划入左子树还是该划入右子树)。

时间: 2024-10-25 04:07:37

cvCreateMTStumpClassifier计算最优弱分类器的代码总体思路的相关文章

Opencv研读笔记:haartraining程序之cvCreateCARTClassifier函数详解(CART树状弱分类器创建)~

cvCreateCARTClassifier函数在haartraining程序中用于创建CART树状弱分类器,但一般只采用单一节点的CART分类器,即桩分类器,一个多节点的CART分类器训练耗时很多.根据自己的测试,要等差不多10分钟(2000正样本.2000负样本)才能训练完一个3节点的弱分类器,当然,总体的树状弱分类器的数目可能也会减少1/2.之所以将此函数拿出来说说,主要是因为在网上找不到针对这个函数的详细说明,同时,CART的应用十分广泛,自己也趁这个机会好好学学,把自己的一点理解分享给

用cart(分类回归树)作为弱分类器实现adaboost

在之前的决策树到集成学习里我们说了决策树和集成学习的基本概念(用了adaboost昨晚集成学习的例子),其后我们分别学习了决策树分类原理和adaboost原理和实现, 上两篇我们学习了cart(决策分类树),决策分类树也是决策树的一种,也是很强大的分类器,但是cart的深度太深,我们可以指定cart的深度使得cart变成强一点的弱分类器. 在决策树到集成学习我们提到,单棵复杂的决策树可以达到100%,而简单的集成学习只能有85%的正确率,下面我们尝试用强一点的弱分类器来看下集成学习的效果有没有提

最优间隔分类器

最优间隔分类器 最优间隔分类器 对于一个给定的数据集,目前有一个很现实的需求就是要找到一个合适的决策边界,使得样本中的最小间隔(几何间隔)最大,而且这样的分类器能够使得分割的训练样本集之间的间隔(gap)最大.现在,我们假设训练集合线性可分,即可以找一条超平面把正样本和负样本分割开来.那么我们如何找到一个超平面来最大化几何间隔呢?我们得到了如下的优化问题: maxγ,w,b γ s.t. y(i)(wTx(i)+ b) ≥ γ, i = 1, . . . , m ||w|| = 1 也就是说,我

(笔记)斯坦福机器学习第七讲--最优间隔分类器

本讲内容 1.Optional margin classifier(最优间隔分类器) 2.primal/dual optimization(原始优化问题和对偶优化问题)KKT conditions(KKT条件) 3.SVM dual (SVM的对偶问题) 4.kernels (核方法) 1.最优间隔分类器 对于一个线性可分的训练集合,最优间隔分类器的任务是寻找到一个超平面(w,b), 使得该超平面到训练样本的几何间隔最大. 你可以任意地成比例地缩放w和b的值,这并不会改变几何间隔的大小. 例如,

机器学习-斯坦福:学习笔记7-最优间隔分类器问题

最优间隔分类器问题 本次课程大纲: 1. 最优间隔分类器 2. 原始优化问题&对偶优化问题(KKT条件) 3. SVM对偶问题 4. 核方法(下一讲) 复习: 支撑向量机中改动的符号: 输出y∈{-1,+1} h输出的假设值也改为{-1,+1} g(z) = { 1 , 如果z>=0;  -1, 如果z<0} hw.b(x)=g(wTx+b),这里的b相当于原来的θ0,w相当于原来θ除去θ0剩余部分,长度为n维.将截距b单提出来,方便引出支撑向量机. 函数间隔: 一个超平面(w,b)和

计算DXFReader中多边形的面积代码示例

在DXFReader中, 一般的多边形的面积计算绝对值 其中K表是顶点的数目,它们的坐标,用于在求和和, 所以用下面的代码就可以计算出一个封闭的多段线的区域: view source print? 01 Dim Vertex As Object 02 Dim Entity As Object 03 Dim k As Long 04 Dim i As Long 05 Dim Area As Single 06 07 With DXFReader1 08 09  For Each Entity In

计算两点之间的角度的代码

+ ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /// 离心率 /// 返回两点间的角度 private double PointToAngle(Point AOrigin, Point APoint, double AEccentricity) { if (APoint.X == AOrigin.X) if (APoint.Y > AOrigin.Y) return Math.PI * 0.5;

开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码

开源一个Mac漂亮的小工具 PPRows for Mac, 在Mac上优雅的计算你写了多少行代码. 开源地址: https://github.com/jkpang/PPRows

优酷电视剧爬虫代码实现一:下载解析视频网站页面(3)补充知识点:XPath无效怎么办?

XPath无效怎么办?明明XPath是通过定位子节点,copy xpath得到的,理论上是正确的 XPath无效怎么办?明明XPath是通过按F12定位符再copy XPath得到的,可是放在代码里就是不对呢? 前提:优酷电视剧爬虫代码实现一:下载解析视频网站页面(2)工作量已经完成.基于这个基础,进一步完善代码 1.新建页面解析接口. package com.dajiangtai.djt_spider.service; import com.dajiangtai.djt_spider.enti