1增大数据量
2early stoping
通过在模型的训练的过程中同时通过验证集测试模型的准确率,如果模型在测试集上效果上升但是验证集上的效果下降就停止训练,防止过拟合。
3加入正则化项
正则化项包括L1正则化和L2正则化,其中L1正则化让参数等于零,L2正则化会让参数更加平均
因为L1正则化是加入的是权重的绝对值,把这个L1加入损失函数之后,如果使用梯度下降的算法更新权重,我们会对损失函数求每个参数的倒数,对正则化项求导之后如果原来的w大于零那么 w(新的)=w(老的)-(损失函数求导部分+λsgn(w))。sgn(w)就大于零让新的w减小,如果原来的w小于零那么sgn(w)就是负的让变大,所以总体来说就是会导致w一直靠近零,这样就就导致权重稀疏。
如果是L2正则 w(新的)=w(老的)-(损失函数求导部分+(λw(老的)))=(1-λ)w(老的)-损失函数求导部分。这样就相当于一直让w变小(无论正负),但是方向不是不会趋于零。
4dropout
随机失活就是让神经网络当中隐藏层的神经单元随机的不被激活,这样的理由是对于神经网络来说我们也是更倾向于每个神经元都是同等重要的,但是在训练的过程中会导致某些神经元上的权重极大,随机失活就会告诉神经网络不要集中于网络中的某几个主要节点,应该面面俱到,这样的本质也是和正则化一样的。如果将权重集中在某些特征当中容易造成过拟合,如果数据的分布情况变了就会导致模型整体的预测能力下降。
5 决策树剪枝
决策树损失函数里加入叶子节点的个数和树的颗数
从底层开始对于每一个中间节点计算剪枝钱的损失函数和剪枝后的损失函数。如果剪枝后的损失小于剪枝前的损失那么就把两个叶子节点上的样本样本合并赋予给这个中间节点,如果是回归树就用所有样本的均值,如果是分类树就采用投票多数的样本作为该叶子节点的预测值。
网友评论