math - 无法理解线性回归的成本函数

标签 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_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/

相关文章:

c++ - 需要帮助格式化数字 C++

python - 获取给定整数的整个因子对列表的最简单方法是什么?

python - 在 Word2Vec 向量空间中以特定方向移动

machine-learning - 如何像余弦相似度一样将欧几里得距离转换为范围0和1?

MATLAB:如何求解线性系统模 m

algorithm - 如何循环遍历 Octave 中的矩阵以生成 n 阶交叉项多项式

algorithm - 确定一组点的 "inner domain"

python - 计算两个 D30 的复杂抛出的精确结果

python - 是否可以将数组传递到神经网络感知器中?

java - 写入 RREF 时处理舍入误差