- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我查看了这些问题here和here。但是我仍然无法找到令人满意的结果来理解该算法。我了解它的作用,以及有关其作用的一般想法,但我仍然不太适应在项目中使用它。我想了解该算法如何对应于其口语化的描述。我尝试阅读一些在线资源,但是其中大多数在没有真正解释正在发生的情况的情况下继续复制Schapire和Freund的示例。这是Schapire的Explaining AdaBoost,p中给出的算法。 2
到目前为止,这是我的理解:
x1,y2,对应于训练集。
给定x1时,我们观察到y1输出。
x +数字是X集的成员。
y + number是set {-1,+1}
的成员,因此对于该算法的其余部分
训练集是(x+number,-1),(x+number,+1), xm, -1 or +1)
等。
初始化分发,不确定此处的分发意义,但让我们继续。D1(i) = 1/m for i = 1, ..., m
。
我不确定D1的1和1 / m的1之间是否存在任何关系,但是据我所知,i对应于训练集中元素的位置。
我假设t表示时间或实例之类的意思,因此我们得到t1实例和t2实例等。
通过说使用分布Dt训练弱学习者,我假设我们想做类似Dt(i) = t/m
的事情?
得到弱假设ht: X -> {-1,+1}
意味着ht是这样的,因此,如果它从X组输入中获取一个元素,则它将给出{-1,+1}
作为输出。
目的:选择低加权误差的ht:
我真的不明白这是怎么回事。符号“〜”通常在逻辑运算符中对应于“ not”,或者有时用作日期中的大约日期,但是我认为这里不是这种情况,它对应于i给出Dt的概率之类的东西吗?
一开始我以为是“ et”,但是我读了here那实际上是错误的。 “ [”表示矩阵? ht(xi)!= yi表示ht为输入xi产生错误的输出,因为通常将训练集定义为x1,y1,xm,ym等。
对于算法的其余部分,我一无所知。如果有人可以用非技术性的术语解释其余内容,那将是很好的。非技术性的,我的意思是试图描述算法相对于上一步在每一步中的作用。如果您还可以解释为什么使用“ ln”和“ sign”之类的功能来描述正在发生的事情,那就太好了。如果您可以用更具体的内容代替变量,那也很好。
PS:我以代码格式添加了表示法,因为SO在接受问题之前坚持要求我的问题包含代码
最佳答案
x +数字是X集的成员。
y + number是集合{-1,+ 1}的成员,因此对于算法的其余部分,训练集合为(x + number,-1),(x + number,+ 1),xm,-1或+1)等
初始化分发,不确定此处的分发意义,但让我们继续。
似乎正确。
分布的意义是离散的概率质量函数。
对于i = 1,...,m,D1(i)= 1 / m。
我不确定D1的1和1 / m的1之间是否存在任何关系,但是据我所知,i对应于训练集中元素的位置。
没关系是的,这就是i
的意思。
我假设t表示时间或实例之类的意思,因此我们得到t1实例和t2实例等。
是的,它是“时间”或更准确地说是迭代次数,即将使用的弱学习者的数量。
通过说使用分布Dt训练弱学习者,我假设我们想做类似Dt(i)= t / m的事情?
不,绝对不是。考虑一下Adaboost的作用:通过反复构造弱学习者,使弱学习者组合成一个强大的学习者,这种方式(第cc个弱学习者)可以补偿以前的学习者。概率分布是为每个弱学习者加权数据实例,以便较新的弱学习者更强烈地考虑当前弱学习者集合为k
的实例。
得到弱假设ht:X-> {-1,+ 1}意味着ht是这样的,因此,如果它从X个输入集中获取一个元素,则它将给出{-1,+ 1}作为输出。
目的:选择低加权误差的ht:
我真的不明白这是怎么回事。符号“〜”通常在逻辑运算符中对应于“ not”,或者有时用作日期中的大约日期,但是我认为这里不是这种情况,它对应于i给出Dt的概率之类的东西吗?
确实,x
在“ *编程语言”中不是“但”,但在数学中却不是(通常是等价关系),特别是概率上,它的意思是“分布为”。
一开始的“ et”是我最初的思想,但是我在这里读到它实际上是错误的。 “ [”表示矩阵? ht(xi)!= yi表示ht为输入xi产生错误的输出,因为通常将训练集定义为x1,y1,xm,ym等。
对于算法的其余部分,我一无所知。如果有人可以用非技术性的术语解释其余内容,那将是很好的。非技术性的,我的意思是试图描述算法相对于上一步在每一步中的作用。如果您还可以解释为什么使用“ ln”和“ sign”之类的功能来描述正在发生的事情,那就太好了。如果您可以用更具体的内容代替变量,那也很好。
这里有很多误解。我将尝试描述其余步骤(但我建议您最终只阅读原始论文)。
->计算错误
\epsilon_t = Pr_{i~D_t}[ h_t(x_i) != y_i ]
~
个弱学习者在数据点
t
上出现错误的概率。我猜这很混乱,因为它是加权概率,因此
x_i
高的点更有可能被选择,因此在这里对概率度量的贡献更大。因此,从本质上讲,我们只是通过查看
D_t
在整个数据集中的错误来估计其性能(但要考虑某些示例比其他示例更重要,尤其是那些我们做得不好的示例)。
alpha_t = ln[ (1 - \epsilon_t) / \epsilon_t ] / 2
h_t
)失败的数据示例上做得更好。
t
是加权因子的一部分。请注意:如果错误为1(即从字面上看可能是最严重的错误),则重量非常小;这意味着“对愚蠢的学习者要少关注”。
alpha_t
的措施
alpha_t
确切形式的原因是数学上的;很容易(
see here)证明最佳权重(经过一些合理的假设,例如指数损失)确实处于给定的形式。但这对您而言并不重要。
D_{t+1}(i) = [D_t(i) exp(-alpha_t y_i h_t(x_i))] / Z_t
ln
的概率质量。这取决于
x_i
:
D_t(i)
的先前概率值(如果以前很重要,现在也应该如此)
x_i
:弱学习者的权重函数(较高的权重学习者表示此
alpha_y
的概率质量变化将更强)
x_i
:请注意,如果学习者错误,则为
y_i h_t(x_i)
,否则为
y_i h_t(x_i)=-1
。在前一种情况下,
y_i h_t(x_i)=1
将为正(因此
-alpha_t y_i h_t(x_i)
将很大);在后者中,为负(因此
exp(-alpha_t y_i h_t(x_i))
将很小)。因此,所有这些意味着我们将在错误时增加实例的概率,而在正确的实例上降低实例的概率。这是有道理的:如果
exp(-alpha_t y_i h_t(x_i))
在
h_t
上正确,则
x_i
不必太在意;它应该重点放在
h_{t+1}
错误的情况下,并设法弥补它!
关于algorithm - 非技术的Adaboost算法演练,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604643/
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
当您第一次访问移动应用程序或有更新时,将会有几个屏幕突出显示应用程序中的功能(新功能/教程模式)。我已经看到其中一些图像在屏幕上动画。我最近看到的一个很好的例子是 MS Office 的 iPad 应
是否有详细的 Trac 和 VisualSVN 集成演练? 有一个为 http://www.visualsvn.com/server/trac/ 发布的插件——不过好像有很多问题。 有人知道攻略吗?
我需要从 .yml 文件中读取一些值和变量,仅此而已,将它们写入字符串,这就是我所需要的吗?我该怎么做? 最佳答案 Yaml yaml = new Yaml(); Map config = (Map)
我正在寻找有关将我的 Web 应用程序部署到我们的测试服务器的信息。听过 Hanselman 说这是你可以在 VS 2010 中轻松完成的事情,我也开始寻找有关如何做到这一点的信息,但似乎找不到任何东
我在我的 CentOS 5.11 上编译并安装了 GCC 5.1.0(板载默认 GCC 4.x)。 在另一个没有任何 gcc 5.1 运行时库 (/usr/local/lib64) 的 CenOS 5
我是 WebGL 的新手,我正在尝试为一个网站创建一个演练,我已经在 inka3D 的帮助下将我的 Maya 模型带入了 WebGL,但是当我为运动应用以下代码时,它没有像它解释的那样工作。只有左箭头
我习惯于使用 MVVM 设计模式在 WPF 中工作,但最近有人要求我在 ASP.Net 中做一些事情。我想尝试使用 MVC,因为我在学习 MVVM 时看到它被引用了很多,但是我对此一无所知。 我可以找
我刚刚花了两个小时尝试演练 Microsoft 的“Windows Azure 中的 Web 服务和身份练习 1:在 Windows Azure 中使用 Windows Identity Founda
我想为我们的应用启动一个简单的演练。用户将首次登录(或在设置中选择“教程”选项),它会引导您完成如何使用该应用程序。 需要澄清的是,该应用程序会启动一个对话框/提醒对话框,并且背景会变灰或变灰以突出显
/* Problem 38 */ #include using namespace std; class abc { double n
一个 30 秒的搜索,我有数百个如何通过以下方式执行此操作的示例:Curl、Perl、Python、PhP ……但没有针对 Java 的。大量的 SSL 实现中的任何一个都存在问题,但机构却发出了很多
谁能给我一些好的 Monogame 演练或教程? 我问这个问题的原因是因为当我尝试在 VS2012 中创建一个新项目时,我得到以下选项 但所有教程或演练(如 this 一个)都有以下选项并使用 xam
我是一名优秀的程序员,十分优秀!