本文是个人在学习了花书第7章之后的一点点总结,可能有很多不足之处,仅听取老师建议在此做个记录。文章主要分三个部分来进行说明
1. 什么是正则化 2. 如何理解正则化 3. 正则化策略
几个相关概念 泛化: 一个假设模型应用到新样本的能力。 过拟合: 具有高方差,在变量过多时出现,训练出的假设能很好的应用到样本中,但无法泛化到新的样本。 欠拟合: 具有高偏差,是样本的不好的假设,通常存在较大分类偏差。 以下图说明拟合的三种情况 欠拟合就是模型不能说明数据集的特征,而过拟合就是当前数据集训练得到的模型无法泛化到新的样本上。
解决过拟合问题通常有两种方法:
其一,减少选取变量的数量。如人工检查变量清单,并以此决定哪些变量更为重要,哪些特征变量应该保留;模型选择算法,一种可以自动选择哪些特征变量保留哪些舍弃的算法。缺点是舍弃一些特征变量的同时也舍弃了关于问题的一些信息。其二,正则化。保留所有的特征向量,但是减少量级或者参数θ_j的大小,这种方法非常有效;当有很多特征向量时,其中每一个变量都能对预测y值产生一点影响正则化可以保留每一个变量并且对于每个变量对最终模型的影响可控,所以通常选择正则化是更可取的方法
正则化背后的思想就是:
如果参数值较小,则意味着一个更简单的假设模型,将所有的参数项都加入惩罚项相当于尽量去简化模型,因为参数接近于0的时候函数越简单。通过修改代价函数来缩小所有的参数,修改线性回归的代价函数,加上一个项,即正则化项,其作用是缩小每一个参数。 正则化代价函数λ:正则化参数,控制两个不同目标之间的取舍,即更好地拟合训练集的目标和将参数控制得更小的目标,从而保持假设模型的相对简单,避免出现过拟合的情况;要保持参数尽量小,与目标函数的第二项,与正则化目标、正则化项有关。 Ω(θ):正则化项
注:Lp范数是常用的正则化项,其中L2范数||w||2倾向于w的分量取值尽量均衡,即非零分量个数尽量稠密,而L0范数||w||0和L1范数||w||1则倾向于w的分量尽量稀疏,即非零向量个数尽量少。
主要思想
向机器学习模型添加限制参数值的额外约束;向目标函数增加额外项来对参数值进行软约束;一个有效的正则化能显著减少方差而不过度增加偏差。…对目标函数添加一个参数范数惩罚,限制模型(如神经网络、线性回归或逻辑回归)的学习能力。
L2参数正则化 最简单且最常见的参数范数惩罚,通常被称为权重衰减。通过向目标函数添加一个正则化项:1/2||w||上2下2,使权重更加接近原点。 L2正则化相当于权重是高斯先验的MAP贝叶斯推断。L1正则化 (因推导过程写在了本子上,所以偷懒没有敲出来。。。)深度学习中最常用的正则化形式,基于其有效性和简单性。具体过程:
学习曲线显示负对数似然损失如何随时间变化(训练目标岁时间持续减小,但验证集上的平均损失最终会再次增加),由此意味着只要返回使验证集误差最低的参数设置,就可获得验证集误差更低的模型。在每次验证集误差有所改善后,存储模型参数的副本。当验证集上的误差在事先指定的循环次数内没有进一步的改善时算法就会终止,即使此时训练尚未收敛,返回使验证集误差最低的参数,所以称之为提前终止。提前终止是非常有效的超参数选择算法。主要存在两个代价: 通过提前终止自动选择超参数在训练期间要定期评估验证集; 需要保持最佳的参数副本,一般可忽略。 提前终止是一种不显眼的正则化形式,几乎不需要改变基本训练过程、目标函数或一组允许的参数值,意味着无须破坏学习动态就能很容易地使用提前终止。可以单独使用或与其他正则化策略结合。提前终止元算法(通用策略p153)优点:减少训练过程的计算成本(限制训练的迭代次数),同时带来正则化的益处(不需要添加惩罚项的代价函数或计算这种附加项的梯度)。为什么说提前终止具有正则化效果:
验证集误差的学习曲线是一个U型曲线提前终止可以将优化过程的参数空间限制在初始化参数值θ0的小领域内。在二次误差的简单线性模型和简单梯度下降情况下,提前终止相当于L2正则化。长度为τ的轨迹结束于L2正则化目标的极小点。(这句话个人没有理解是什么意思…)多应用于计算机视觉的卷积神经网络(CNN)
关于第7章后面几小节的内容着实没有理解透彻,后续再进行补充。