在吴安德(Andrew Ng)的Coursera机器学习课程的第3周讲义中,费用函数中添加了一个术语以实现正则化:
讲义说:
我们还可以将所有theta参数归一化:
回想一下正则逻辑回归的成本函数为:
对于神经网络,它将稍微复杂一些:
- 为什么在这里使用恒定的二分之一?从而在导数抵消了它?
- 为什么要除以训练实例?大量的培训示例如何影响事物?
在吴安德(Andrew Ng)的Coursera机器学习课程的第3周讲义中,费用函数中添加了一个术语以实现正则化:
讲义说:
我们还可以将所有theta参数归一化:
回想一下正则逻辑回归的成本函数为:
对于神经网络,它将稍微复杂一些:
Answers:
假设您有10个示例,并且没有将L2正则化成本除以示例数m。然后,与交叉熵成本相比,L2正则化成本的“优势”将为10:1,因为每个训练示例可以按比例将总成本贡献给1 / m = 1/10。
如果有更多示例,例如100,那么L2正则化代价的“支配性”将类似于100:1,因此您需要相应地减小λ,这很不方便。无论批次大小如何,最好都保持λ常数。
更新:为了使这一论点更强,我创建了一个jupyter笔记本。
训练集的损失函数通常是构成训练集的模式的总和,因此,随着训练集变大,第一项基本上与m成线性比例关系。如果我们先将正则化项除以m以抵消J (θ )对m的依赖性,则可以缩小搜索范围以获得λ的良好值。当然,分母2实际上是为了简化用于确定最佳θ的优化算法所需的导数。
在上这门课程时,我想知道完全相同的一件事,最后进行了一些研究。我会在这里给出一个简短的答案,但是您可以在我撰写的有关该文章的博客文章中阅读更详细的概述。
我相信这些缩放系数的至少部分原因是,通过引入相关但不完全相同的权重衰减概念,L²正则化可能进入了深度学习领域。
然后有0.5个因子可以得到一个很好的仅λ系数,用于梯度中的权重衰减,并且按m缩放...好吧,我至少发现或提出了5种不同的动机:
grez
证明了它在实践中可以提高性能。我对此也感到困惑,但是随后在一场关于Deeplearning的演讲中.ai Andrew建议这只是一个缩放常数:
http://www.youtube.com/watch?v=6g0t3Phly2M&t=2m50s
使用1 / 2m也许有更深层次的原因,但我怀疑这只是一个超参数。