【问题标题】:The implementation of Adaboost on neural networkAdaboost在神经网络上的实现
【发布时间】:2019-07-18 17:18:48
【问题描述】:

您好,我最近在学习 Adaboost 课程并做了一些调查

我查看了一些使用 Adaboost 提升神经网络性能的代码

据我所知,Adaboost 可以通过多个类来完成:

(1)将训练数据加权为每个数据的 1。

(2)在训练后,我们通过添加权重来重新加权数据,如果

分类器做错了,如果分类器预测正确,则减少权重。

(3)最后我们取所有分类器的组合,取最大的一个(概率)

我可以用 Keras 和 sklearn 编写一些关于它的代码:

model = Model( img_input , o )
model.fit_generator(#some parameters)
from sklearn.ensemble import AdaBoostClassifier
adaboost = AdaBoostClassifier(base_estimator=model,algorithm='SAMME')
adaboost.fit_generator(#some parameters)

我的问题是:

我想知道 Adaboost 是如何与神经网络一起使用的

我可以想象两种方法来做到这一点,不确定 Adaboost 在这里如何做:

(1)完成训练(1小时)后,我们重新加权训练数据,然后一次又一次,直到迭代结束。

(2)如果第一轮所有数据都已经输入神经网络,然后我们重新加权训练数据。

(1) 和 (2) 的区别在于我们在 Adaboost 中定义一次迭代的方式:

(1) 完成整个迭代需要很长时间

(2) 只是一些对我来说没有意义的方法,因为我认为整个过程不会收敛得这么快,或者迭代次数需要设置得很大。

【问题讨论】:

    标签: algorithm keras scikit-learn neural-network adaboost


    【解决方案1】:

    似乎只有少数人走这条路。

    我想我会选择“堆栈”方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-23
      • 2019-05-31
      • 2018-10-28
      • 2015-04-14
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      相关资源
      最近更新 更多