转载: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=2m1i=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=m1i=1∑m(hθ(x(i))−y(i))∂θ∂hθ(x(i))
这里正好除以 m m m,便于计算。