大家好,小编有来跟大家聊科技了!什么叫是Stacking与神经网络吗?你要看看这个!Stacking是Kaggle比赛中常见的集成学习框架。一般来说,就是训练一个多层(一般是两层,本文中默认两层)的学习器结构,第一层(也叫学习层)用n个不同的分类器(或者参数不同的模型)将得到预测结果合并为新的特征集,并作为下一层分类器的输入。给出一个比较简单的例子:你想要预测明天是否会下雨,并有相关的气象数据。
本文的核心观点是提供对staking的理解,即与神经网络进行对比。当然,阿萨姆:为什么staking后精度反而下降?我已经说staking不是万灵药,但往往有效。与神经网络相比,读者可以从另一个角度加深对stacking的理解。
stacking的第一层和神经网络的第一层n-1层相同,stacking的最终分类层和神经网络的最后的输出层相似。不同之处在于,在stacking中不同的分类器表现出不同的质量和不同的特征,神经网络在从同质到异质的过程中具有分散表现的特征。stacking也应该具有分散的特征,主要用多个分类器表现的结果并不完全不同,有很大的相同点。
3.Stacking的输出层为什么用逻辑回归?如果你看懂了上面的两点,你应该可以理解stacking的有效性主要来自于特征抽取。而表示学习中,如影随形的问题就是过拟合,试回想深度学习中的过拟合问题。周志华教授也重申了stacking在使用中的过拟合问题。因为第二层的特征来自于对于第一层数据的学习,那么第二层数据中的特征中不该包括原始特征,以降低过拟合的风险。
因此,stacking的输出层不需要复杂的函数,逻辑回归还有其优点:配合l1正规化,也可以防止配合l1正规化选择有效的特征,从第1层学习器中删除不必要的分类器,节约运算开销。逻辑回归的输出结果可以理解为概率4.stacking需要多层吗?第一层的分类器越多越好吗?通过以上分析,staking的表现学习不是多层堆栈的效果,而是源于对不同学习器官不同特征的学习能力,有效结合在一起。
领取专属 10元无门槛券
私享最新 技术干货