考虑机器学习中的正则化成本函数:
为什么当我们将参数λ设为非常大时,参数θ会趋向于零?
回答:
正则化成本函数会根据参数θ的大小进行惩罚。
当λ → +inf
时,正则化项在成本中占主导地位
值得注意的是,当λ非常大时,大部分成本将来自正则化项λ * sum (θ²)
,而不是实际成本sum((h_θ - y)²)
,因此在这种情况下,主要是通过使θ趋向于0(θ → 0
)来最小化正则化项λ * sum (θ²)
为什么最小化λ * sum (θ²)
会导致θ → 0
考虑正则化项λ * sum (θ²)
,要最小化这个项,唯一的解决方案是使sum(θ²) → 0
。(λ
是一个正常数,sum
项也是正的)
由于θ
项是平方(θ²
始终为正),唯一的办法是将θ
参数推向0。因此sum(θ²) → 0
意味着θ → 0
总结一下,在λ非常大的情况下:
最小化成本函数主要是关于最小化λ * sum (θ²)
,这需要最小化sum (θ²)
,这又需要θ → 0
对评论中问题的直观回答:
可以将λ视为一个参数,用来告诉系统你想要多少正则化。例如,如果你将λ设为0,那么你的成本函数完全没有正则化。如果你将λ设为一个较小的数,那么你得到的正则化就较少。
反之亦然,λ增加得越多,你要求成本函数进行的正则化就越多,因此为了最小化正则化成本函数,参数θ必须变得更小。
为什么在正则化和中使用θ²而不是θ?
因为目标是使θ较小(减少过拟合的倾向)。如果正则化项在和中使用θ而不是θ²,你可能会得到一些相互抵消的较大θ值,例如θ_1 = 1000000和θ_2 = -1000001,这里的sum(θ)
是-1,这是一个很小的值,而如果你使用sum(|θ|)
(绝对值)或sum(θ²)
(平方),你会得到一个非常大的值。
在这种情况下,由于大θ值通过相互抵消逃避了正则化,你可能会因为这些大θ值而导致过拟合。