Math Can';我不理解线性回归的成本函数
我真的不能理解下面的等式,尤其是Math Can';我不理解线性回归的成本函数,math,machine-learning,linear-algebra,Math,Machine Learning,Linear Algebra,我真的不能理解下面的等式,尤其是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_θ(x^i)我们表示x^i的模型输出,因此h_θ(x^i)-y^i是它的错误(假设
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_θ(x^i)
我们表示x^i
的模型输出,因此h_θ(x^i)-y^i
是它的错误(假设y^i
是正确的输出)
现在,我们计算这个误差的平方(去掉符号,因为这个误差可能是正的也可能是负的)并在所有样本上求和,然后以某种方式限制它,我们对它进行归一化-只需除以m
,我们就得到了平均值(因为我们是按样本数进行划分)平方(因为我们平方)误差(因为我们计算误差):
出现在前面的
2
仅用于简化导数,因为当您尝试最小化它时,您将使用基于此函数导数的最速下降法。a^2
的导数是2a
,我们的函数是某物的平方,所以这个2
会抵消掉。这是其存在的唯一原因。您希望构建一个模型,将误差均匀分布在数据点上,因此误差之和=0,误差平均值=0;您还应该构建误差最小的模型,这相当于最小化均方误差这个问题似乎是离题的,因为它是关于数学的理解,而不是数学的编程。这是斯坦福大学Andrew Ng教授的机器学习。从他在coursera的演讲中。这与计算机科学和编程有关。但是如果我不懂数学,那么我如何开发机器学习程序呢?你应该使用一个数学网站来理解数学,比如这个:。但是看起来你现在有了一个很好的答案。对于数学,我将查找math.stackexchange.com。谢天谢地,这个问题在任何方面似乎都不是针对计算机编程的。在一个关于数学的网站上可能更合适。好吧,太好了。这是一个很好的答案。我现在明白了。如果你不介意的话,再问一个问题。[h_theta(x^i)-y^i]^2类似于(a-b)^2,等于a^2+b^2-2ab。为什么我们不把[h_θ(x^i)-y^i]^2像[h_θ(x^i)]^2+y^i]^2-2[h_θ(x^i)][y^i]那样展开?谢谢,因为这种扩展不会导致任何简化,只会增加额外的运算(计算(a-b)^2比计算a^2-2ab+b^2便宜,因为第一个需要2个艺术运算,而第二个需要-6)。是的,但我认为两者的结果不同。(a-b)^2的正确方法是a^2-2ab+b^2,不是先从a中减去b,然后取结果的平方。也许我错了。不太确定。抱歉一再询问。我们为什么使用平方误差而不是只取h_θ(x^i)和y^i之间差值的绝对值?Abs在零处不可微,平方惩罚更强,因此收敛更快。二次损失也不适用于理论分析,甚至有闭式解。也就是说,你仍然可以使用abs,只要记住这些特性
1/m * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2