一直在csdn上学习别人发的博客,第一次尝试自己写博客,今天周日,在实验室小学一会,发现自己有些不明白的点突然想明白了,想记录一下在学习过程中遇到的难点或者有些迷惑的地方,希望自己以后能掌握牢固,并把自己的一些看法分享给大家,欢迎一起讨论。
目录
一、引言
权重衰减weight decay
其行为即直接导致每轮迭代过程中的权重weight参数被削减/惩罚了一部分,这样的话我们在训练的反向传播过程中,得到的权重w就会尽可能小,从而一定程度上减小了模型的复杂度,从而一定程度上解决了过拟合问题。
二、权重衰退的作用和原因
过拟合是因为模型复杂度太高,对特征简单的数据直接进行重复,拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大,不能总结出主要的影响因素(权重高的特征),而导致对验证数据不能有较好的预测效果。而权重衰退就是通过正则化技术来缓解一些过拟合产生的影响。
看懂了权重衰减的作用机理,但是一直不明白为什么能减缓过拟合的程度,后来学到了更直观的解释就明白了:
1、为什么权重矩阵稀疏可以防止过拟合?
可以从两个方面来理解:
1)特征选择(Feature Selection):稀疏性可以实现特征的自动选择, 可以在进行预测时减少无用信息的干扰
大家对稀疏规则化趋之若鹜的一个关键原因在于它能实现特征的自动选择。一般来说,xi 的大部分元素(也就是特征)都是和最终的输出 yi 没有关系或者不提供任何信息的,在最小化目标函数的时候考虑 xi 这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确 yi 的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为 0。
2)可解释性(Interpretability):较稀疏的模型表示最终的预测结果只与个别关键特征有关, 这符合实际生活中的历史经验
另一个青睐于稀疏的理由是,模型更容易解释。例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型: y=w1×x1+w2×x2+…+w1000×x1000+by=w1×x1+w2×x2+…+w1000×x1000+b (当然了,为了让 y 限定在 [0,1][0,1] 的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的 w就只有很少的非零元素,例如只有 5 个非零的 wi ,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。但如果 1000 个 wi 都非 0,医生面对这 1000 种因素,累觉不爱.
2、为何权重参数 w减小就可以防止过拟合?
直观解释:
更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀),而在实际应用中,也验证了这一点,L2正则化的效果往往好于未经正则化的效果
“数学一点”的解释:
过拟合的时候,拟合函数的系数往往非常大,为什么?过拟合,就是拟合函数需要顾忌每一个点,最终形成的拟合函数波动很大。在某些很小的区间里,函数值的变化很剧烈。这就意味着函数在某些小区间里的导数值(绝对值)非常大,由于自变量值可大可小,所以只有系数足够大,才能保证导数值很大. 而正则化是通过约束参数的范数使其不要太大,所以可以在一定程度上减少过拟合情况。