问题标签 [adaboost]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - OpenCV Adaboost:“功能/特性未实现”
我有来自两个类的一些对象的特征向量,我的目标是用这些信息训练一个增强的分类器。查看文档和字母识别示例后,我认为这样做很简单,但由于某种原因,在训练分类器时出现以下错误:
OpenCV 错误:功能/特征未实现(提升树只能用于 2 类分类。)
这是我的代码的相关部分:
我认为这里的问题是 var_type Mat。据我了解,它必须包含每个功能一个条目以及一个响应条目。由于我的功能都是数值测量,因此我将第一个元素设置为 CV_VAR_ORDERED,将最后一个元素设置为 CV_VAR_CATEGORICAL。
任何人都可以向我解释为什么 OpenCV 的东西这不是一个 2 类分类吗?
另一件事:对于预测,我不想要实际的预测标签,而是属于第 1 类的概率。如果我能得到加权投票的总和,这实际上并不难计算。predict 方法有一个标志returnSum但文档说:如果为真,则返回投票总和而不是类标签。它们真的是指票数总和还是加权票数总和?
face-detection - adaboost 更新权重 beta 值
Viola-Jones 人脸检测使用 adaboost 方法训练强分类器。我对 beta 参数更新策略感到困惑:
为什么选择这样的beta值?设置变量的目的beta
是增加Weights的权重。如何选择:
r - R中的AdaBoost错误
当我尝试使用“adabag”库在 R 中执行增强功能时:
adaboost = boosting(count~., data=train, boos=TRUE, mfinal=100, coeflearn='Breiman')
我收到此错误:
Error in predict.rpart(fit, newdata = data[, -1], type = "class"):
Invalid prediction for "rpart" object
opencv - 是否可以结合 HoG 和 AdaBoost 算法进行跟踪?
是否可以结合 HoG 和 AdaBoost 两种跟踪算法?
或者有没有可以组合的视频跟踪算法?我正在尝试通过结合这两者来开发一种算法。可能吗?我也在尝试使用 OpenCV 来实现它。
python - 如何将预训练的感知器合并到 AdaBoostClassifier 中?
我想将 sklearn.ensamble 的 AdaBoostClassifier 用于简单的二进制分类任务。如何使用多个预拟合感知器作为 AdaBoostClassifier 中的弱分类器?
IE
或者,我需要手动构建 AdaBoost 吗?
c++ - 训练级联分类器(opencv)时使用的正负数据的比率
所以我正在使用 OpenCV 的 LBP 检测器。我检测到的形状都是大致圆形的(主要在纵横比上有所不同),亮度/对比度有一些很大的变化,还有一点点遮挡。
OpenCV 关于如何训练检测器的指南在这里
对于任何有使用它的经验的人,我的主要问题是 numPos 和 numNeg 应该如何相互关联?我有大约 1000 个阳性样本(所以每个阶段使用约 900 个)
我需要决定的是每个阶段使用多少负样本进行训练。我有大约 20000 张图像可以从中提取负面数据,因此冗余并不是真正的问题。
一般来说,我听到的规则是 1:2,但考虑到我有多少负面数据可供使用,这似乎没有得到充分利用。另一方面,如果我用 1:20 训练我的检测器,我应该期待什么效果?我应该如何确定合适的比例?
r - R:如何在“if-else”条件下读取 ada 的 AdaBoost 树规则?
有谁知道如何将 AdaBoost 树(R 中的结果)转换为 if-else 条件?
我已经使用了caret
R 中的包以及train
函数,并method="ada"
在我的数据集上获得了一些预测。
之后我使用包中的函数listTreesAda
来rattle
查看它们的结构(示例如下):
你如何在 if-else 条件下阅读它?如果你想自己计算 AdaBoost 模型的最终函数,你会怎么做?每棵树都有一个重量{w(1), w(2), ..., w(n)}
,你会把这个重量乘以什么?对应于最终结果的规则离开响应变量为 YES 的位置?...响应变量为否?...对于树的每个 if-else 规则?
正如你所看到的,我有点迷路了。
(这篇文章涉及到: https ://stats.stackexchange.com/questions/133088/use-adaboost-results-in-r-to-make-future-predictions-by-hand 和 https://stackoverflow.com /questions/27857619/r-error-using-drawtreesada-to-draw-an-ada-tree )
matlab - 为什么这个简单易学的例子会破坏 AdaBoost?
我正在测试我使用 Matlab 的fitensemble
方法构建的增强树模型。
我只是想在几个简单的例子上运行它,所以我提出了一个简单的例子,一个特征是 >.5 用于正例,<.5 用于负例。我收到警告
这让我想,太好了,它找出了相关的特征,并且所有的训练样本都被正确分类了。
但是如果我看一下准确性
结果是 0.5,因为分类器只是将正类分配给所有示例!
为什么Matlab认为分类误差= 0,而它显然不是0?我相信这个例子应该很容易学习。有没有办法防止此错误并使用此方法获得正确的结果?
编辑:上面的代码应该重现警告。
python - AdaBoosting 同时使用几个不同的基础估计器
我知道您可以使用单个模型的多个实例(例如,600 个决策树、贝叶斯岭或线性模型)进行 AdaBoost。是否可以同时使用大量模型进行 AdaBoost,以及如何实现?
每个独立模型都有其优点和缺点,我想知道是否可以在伞下将它们全部混合在一起。
python - Python:从 AdaBoostClassifier 获取规则
我在 Python 中使用 AdaBoostClassifier(来自 sklearn.ensemble import AdaBoostClassifier),我想知道 AdaBoost 选择的弱规则。
这是我的源代码:
每个估计器都是一个决策树分类器,但我无法找到我想要的信息。
我想知道决策函数 f(x) 的规则细节:
f(x) = 0.426 I(x37 < 2.5) + 0.64696 I (x250 < 8.5)
也就是说,我想知道分类器使用我的数据 X 的哪一列以及使用哪个系数。
这是一个二元决策,类别是 0 或 1。
谢谢。