我实在无法理解下面的等式,尤其是1/(2m)
。
这个等式的目的是什么? 1/(2m)
来自哪里?
J(theta_0, theta_1) = 1/(2m) * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2
请解释一下。怎么投的???
最佳答案
成本函数为
J(theta_0, theta_1) = 1/(2m) * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2
通过 h_theta(x^i)
我们表示 x^i
的模型输出,因此 h_theta(x^i) - y^i
code> 是它的错误(假设 y^i
是正确的输出)。
现在,我们计算这个误差的平方[ h_theta(x^i) - y^i ]^2
(这会删除符号,因为这个误差可能是正数也可能是负数)并且对所有样本求和,并以某种方式限制它,我们将其标准化 - 只需除以 m
,这样我们就有平均值(因为我们除以样本数量)平方(因为我们平方)错误(因为我们计算错误):
1/m * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2
出现在前面的这个2
仅用于简化导数,因为当你尝试最小化它时,你将使用最速下降法,这是基于该函数的导数。 a^2
的导数是 2a
,而我们的函数是某个东西的平方,所以这个 2
将被抵消。这是它存在的唯一原因。
关于math - 无法理解线性回归的成本函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21099289/