损失函数(目标函数)

损失函数(目标函数)是用来衡量模型的预测值与实际值之间差异的函数。对于线性回归问题,最常用的损失函数是平方误差损失函数,也称为均方误差(Mean Squared Error, MSE)。

平方误差损失函数的形式是:
J ( θ ) = 1 2 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 J(θ)=2m1i=1m(yihθ(xi))2

这个损失函数的来源是最小二乘法(Least Squares Method),其目标是最小化预测误差的平方和。下面是这个损失函数的推导过程:

  1. 定义误差项:
    首先,我们定义每个数据点的误差项 e i { e^{i}} ei为模型的预测值与实际值之间的差异,即: e i = y i − h θ ( x i ) e^{i}=y^{i} - h_{\theta}(x^{i}) ei=yihθ(xi)其中, h θ ( x i ) h_{\theta}(x^{i}) hθ(xi)是由参数 θ \theta θ决定的模型对第 i i i个观测值的预测。
  2. 平方误差:
    然后,我们计算每个数据点的误差的平方,这是为了处理误差的正负号,使得过小的误差不会被忽略,同时过大的误差会受到更多的惩罚: ( e i ) 2 = ( y i − h θ ( x i ) ) 2 (e^{i})^2=(y^{i} - h_{\theta}(x^{i}))^2 (ei)2=(yihθ(xi))2
  3. 求和:
    我们对所有训练数据的平方误差求和,以获得模型在整个训练集上误差的总和: ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 i=1m(yihθ(xi))2
  4. 均值:
    为了使得损失函数不受样本数量 m m m的影响,我们取平方误差的均值,即除以 m m m 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \frac{1}{m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 m1i=1m(yihθ(xi))2
  5. 乘以 1/2:
    最后,我们常常在损失函数前面乘以 1 2 \frac{1}{2} 21,这样做的主要原因是在对损失函数求导时,这个系数可以正好抵消掉平方项前的 2,简化后续的求导计算: J ( θ ) = 1 2 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 J(θ)=2m1i=1m(yihθ(xi))2

在实际的线性回归模型训练中,我们通过最小化这个损失函数来找到最优的参数 θ \theta θ,使得模型的预测值尽可能地接近实际值,这个过程通常是通过梯度下降来完成的。

相关推荐

  1. 损失函数目标函数

    2023-12-07 08:14:03       40 阅读
  2. 逻辑回归的损失函数目标函数

    2023-12-07 08:14:03       31 阅读
  3. 损失函数汇总

    2023-12-07 08:14:03       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 08:14:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 08:14:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 08:14:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 08:14:03       18 阅读

热门阅读

  1. vue3版本学习

    2023-12-07 08:14:03       33 阅读
  2. vscode 安装插件

    2023-12-07 08:14:03       40 阅读
  3. centos7安装rabbitMQ

    2023-12-07 08:14:03       42 阅读
  4. 微信小程序

    2023-12-07 08:14:03       44 阅读
  5. Django回顾7

    2023-12-07 08:14:03       34 阅读
  6. Flink之DataStream API的转换算子

    2023-12-07 08:14:03       39 阅读
  7. 宝塔是可以切换mongodb版本的

    2023-12-07 08:14:03       38 阅读