- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
虽然最初不是这样构想的,但标准的Adaboost算法相当于使用指数损失函数进行前向阶段加性模型估计。也就是说,给定一些弱分类器 c1,...,cM 和样本点 x1,...,xN 算法得出的权重:
强分类器是输出,F_M(x)。使这个强学习器与Adaboost输出相同的损失函数是
L(y,f(x)) = exp(-y*f(x))
对于在 {-1,1} 中取值的分类器。 Hastie、Tibshirani、Friedman 在统计学习要素,第 10.4 节中对此进行了全部解释。
我的问题与前向阶段回归有关。这是一个贪心算法,一旦 w_i 被估计,它是固定的,然后找到权重 w_i+1 等等。这似乎是真正设计用于处理“独立”的弱分类器,如树桩分类器或树分类器仅限于互斥的自变量(特征),因此拟合分类器后的剩余部分不再由该分类器解释。
换句话说,为了将一组函数拟合到给定的目标函数,我不会拟合第一个函数,固定那个系数,然后找到第二个的最佳系数,保持第一个常数,等等......除非我知道这些功能是独立的。但这就是算法所做的,或多或少。
与(根据我的经验)Adaboost 与更全面的分类器(如 SVM 或线性模型)相比,这是否解释了 Adaboost 与树桩学习器或决策树的成功?有人可以提供引用吗? - 我没有看到文献中讨论过这个方面。谢谢。
最佳答案
我想您可能有点困惑,或者使用了我不熟悉的术语。 AdaBoost 或更一般的阶段加法模型中没有任何东西是独立的或相互排斥的,也没有被设计成相互排斥的。
Does this explain the success of Adaboost with stump learners or decision trees compared to (from my experience) Adaboost with more comprehensive classifiers like SVM, or a linear model?
没有。产生分类器集合的方法可能很强大,它们的力量主要来自于减少由基础模型的方差引起的错误的能力。 AdaBoost 和其他方法也可以减少偏差,但减少方差引起的误差要容易得多。
出于这个原因,我们使用决策树,因为我们可以通过改变树的最大深度来控制树上的偏差/方差水平。这让生活变得轻松,但它们并不是 boosting 的全部目的(例如:在高维空间中 boosting 是相当困难的,在这种情况下树是可怕的)。
我们通常不在提升中使用线性模型,因为它们根本不擅长。我们可以生成“简单”的数据集,这些数据集不会被线性模型很好地收敛,而无需过多思考(考虑另一个环中的每个类大小相等的环,以及一个切割内环(因此外环)的基础学习器一半)。低决策树桩通常更好,因为它具有非线性,可以更快地适应数据。
我们避免使用 SVM 等复杂模型,因为它们需要很长时间才能训练。无论您选择哪种基本模型,AdaBoost 都会朝着相同类型的解决方案运行(它会尝试最大化 L1 余量,而 SVM 会最大化 L2 余量)。如果你必须提升 1000 棵树或 500 个 SVM,提升树的速度可能会快得多。这甚至没有进入您必须为每个添加的每个模型的每个 SVM 执行的所有参数搜索。简直太费时间了。但是,在某些情况下这可以很好地工作 - here is a face detection case .
还有预测时间的问题。如果您需要提升 100 或 1000 个模型,它会将预测时间增加 2 或 3 个数量级。 SMV 已经不是最快的预测器,这只会让情况变得更糟。
更多的细节是从数学中提取的,然后用英语讨论。如果您有兴趣更明确地讨论此类模型为何有效的问题,请阅读 Leo Breiman 的一些论文。
关于algorithm - Adaboost 和前向阶段相加建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20528654/
我在一本书(Interview Question)中读到这个问题,想在这里详细讨论这个问题。请点亮它。 问题如下:- 隐私和匿名化 马萨诸塞州集团保险委员会早在 1990 年代中期就有一个绝妙的主意
我最近接受了一次面试,面试官给了我一些伪代码并提出了相关问题。不幸的是,由于准备不足,我无法回答他的问题。由于时间关系,我无法向他请教该问题的解决方案。如果有人可以指导我并帮助我理解问题,以便我可以改
这是我的代码 public int getDist(Node root, int value) { if (root == null && value !=0) return
就效率而言,Strassen 算法应该停止递归并应用乘法的最佳交叉点是多少? 我知道这与具体的实现和硬件密切相关,但对于一般情况应该有某种指南或某人的一些实验结果。 在网上搜索了一下,问了一些他们认为
我想学习一些关于分布式算法的知识,所以我正在寻找任何书籍推荐。我对理论书籍更感兴趣,因为实现只是个人喜好问题(我可能会使用 erlang(或 c#))。但另一方面,我不想对算法进行原始的数学分析。只是
我想知道你们中有多少人实现了计算机科学的“ classical algorithms ”,例如 Dijkstra's algorithm或现实世界中的数据结构(例如二叉搜索树),而不是学术项目? 当有
我正在解决旧编程竞赛中的一些示例问题。在这个问题中,我们得到了我们有多少调酒师以及他们知道哪些食谱的信息。制作每杯鸡尾酒需要 1 分钟,我们需要使用所有调酒师计算是否可以在 5 分钟内完成订单。 解决
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 8 年前。 Improve
我开始学习 Nodejs,但我被困在中间的某个地方。我从 npm 安装了一个新库,它是 express -jwt ,它在运行后显示某种错误。附上代码和错误日志,请帮助我! const jwt = re
我有一个证书,其中签名算法显示“sha256rsa”,但指纹算法显示“sha1”。我的证书 SHA1/SHA2 的标识是什么? 谢谢! 最佳答案 TL;TR:签名和指纹是完全不同的东西。对于证书的强度
我目前在我的大学学习数据结构类(class),并且在之前的类(class)中做过一些算法分析,但这是我在之前的类(class)中遇到的最困难的部分。我们现在将在我的数据结构类(class)中学习算法分
有一个由 N 个 1x1 方格组成的区域,并且该区域的所有部分都是相连的(没有任何方格无法到达的方格)。 下面是一些面积的例子。 我想在这个区域中选择一些方块,并且两个相邻的方块不能一起选择(对角接触
我有一些多边形形状的点列表,我想将其包含在我页面上的 Google map 中。 我已经从原始数据中删除了尽可能多的不必要的多边形,现在我剩下大约 12 个,但它们非常详细以至于导致了问题。现在我的文
我目前正在实现 Marching Squares用于计算等高线曲线,我对此处提到的位移位的使用有疑问 Compose the 4 bits at the corners of the cell to
我正在尝试针对给定算法的约束满足问题实现此递归回溯函数: function BACKTRACKING-SEARCH(csp) returns solution/failure return R
是否有包含反函数的库? 作为项目的一部分,我目前正在研究测向算法。我正在使用巴特利特相关性。在 Bartlett 相关性中,我需要将已经是 3 次矩阵乘法(包括 Hermitian 转置)的分子除以作
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 8 年前。 Improve
问题的链接是UVA - 1394 : And There Was One . 朴素的算法是扫描整个数组并在每次迭代中标记第 k 个元素并在最后停止:这需要 O(n^2) 时间。 我搜索了一种替代算法并
COM 中创建 GUID 的函数 (CoCreateGUID) 使用“分散唯一性算法”,但我的问题是,它是什么? 谁能解释一下? 最佳答案 一种生成 ID 的方法,该 ID 具有一定的唯一性保证,而不
在做一个项目时我遇到了这个问题,我将在这个问题的实际领域之外重新措辞(我想我可以谈论烟花的口径和形状,但这会使理解更加复杂).我正在寻找一种(可能是近似的)算法来解决它。 我有 n 个不同大小的容器,
我是一名优秀的程序员,十分优秀!