Coursera机器学习机器学习笔记 为什么线性回归中代价函数除以2m?

2020-11-13 10:35:05 浏览数 (1)

转载:http://blog.csdn.net/u010106759/article/details/50380442

线性回归中代价函数为:

J = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J = frac{1}{2m} sum_{i=1}^{m} {left({h}_{theta }({x}^{left(i right)} )-{y}^{left(i right)} right)}^2 J=2m1​i=1∑m​(hθ​(x(i))−y(i))2

为什么是除以 2 m 2m 2m,第一反应不应该除以 m m m么?在吴恩达机器学习视频公开课上讲解是为了后续数学计算的方便。

因为这里无论除以 2 m 2m 2m还是 m m m,代价函数最优化的结果 θ theta θ都是相同的。利用梯度下降法对 J J J求导,如果是 2 m 2m 2m,求导结果为:

∂ J ∂ θ i = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∂ h θ ( x ( i ) ) ∂ θ frac{∂J}{∂{θ}_{i}} = frac{1}{m} sum_{i=1}^{m}left({h}_{theta} ({x}^{(i)})−{y}^{(i)} right) frac{∂{h}_{theta}{left ({x}^{(i)}right)}}{∂θ} ∂θi​∂J​=m1​i=1∑m​(hθ​(x(i))−y(i))∂θ∂hθ​(x(i))​

这里正好除以 m m m,便于计算。

0 人点赞