Adaboost在神经网络上的实现
The implementation of Adaboost on neural network
嗨,我最近参加了 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) 只是有些对我来说没有意义,因为我不认为整个过程会收敛得那么快,或者迭代次数需要设置得很大。
好像很少有人走这条路。
我想我会选择 "stack" 方法。
嗨,我最近参加了 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) 只是有些对我来说没有意义,因为我不认为整个过程会收敛得那么快,或者迭代次数需要设置得很大。
好像很少有人走这条路。
我想我会选择 "stack" 方法。