最小二乘法中损失函数采用均方误差的原因

本文深入探讨了均方误差作为回归问题中损失函数的数学原理,揭示了其与最小二乘法之间的联系。通过对高斯分布的假设,解析了为何均方误差能作为最优解的依据。

提到均方误差,可能最开始想到的就是求解回归问题的一种损失函数。而最早接触均方误差的时候可能在学习最小二乘法的时候。最小二乘法它通过最小化误差的平方和来寻找数据的最佳函数匹配。那么其背后的原理是什么呢?

首先从可行性的角度想到的是均方误差函数是光滑函数,能够采用梯度下降算法进行优化。但这似乎不是一个好的解释。而从概率统计的角度来理解,其背后的最终支撑是最小二乘估计假设误差是服从高斯分布的,为什么这样说呢。

以线性回归为例,一般来讲假设预测结果与真实值有误差,那么预测结果和真实的应该满足

一般来说,误差满足均值为0的高斯分布,即正态分布,于是在给定条件下样本点 x 来预测回归值 y 的条件概率密度就是:

这样就估计了一个样本的结果概率,我们期待的是模型能够在全部样本上预测最准,即概率积最大。这个概率积就成为最大似然估计。下面就按照最大似然估计的方式来求解参数,首先写出似然函数如下:

 对上面式子左右取对数后可以得到:

求对数似然函数的最大值问题,于是问题就可以写成如下形式:

推导到这里之后问题就变得比较明了,上面的式子不就正是均方误差损失函数吗。这也解释了为什么均方误差会用作回归问题的损失函数.

### 最小二乘法均方误差的关系 #### 区别 1. **定义和目的** - 均方误差(Mean Squared Error, MSE)是一个衡量模型预测值与实际观测值之间差异的指标,目的是评估模型的预测性能。它的计算方式是对预测误差平方取平均值[^4]。 - 最小二乘法(Least Squares Method)是一种参数估计方法,通过最小化预测值与实际观测值之间差的平方和来估计模型的参数,目的是找到最佳拟合数据的模型参数[^4]。 2. **计算和应用** - 均方误差是在模型参数已经确定的情况下使用的,主要用于模型评估阶段,帮助比较不同模型的表现或监控训练过程中的改进情况[^4]。 - 最小二乘法则应用于模型训练阶段,在已知模型形式的前提下,通过求解一组方程(如正规方程)来获得使预测误差平方和最小化的参数。 3. **结果和解释** - 均方误差的结果是一个具体的数值,反映的是模型预测的平均误差大小。较小的MSE表明模型预测更加精确[^4]。 - 最小二乘法的结果是一组最优模型参数,这些参数可以使得模型在给定的数据集上达到最好的拟合效果。然而需要注意的是,即使得到了最佳拟合参数,也不能完全保证模型具备良好的泛化能力。 #### 联系 尽管二者存在上述区别,但在实践中它们紧密相连: - 最小二乘法经常采用均方误差作为其目标函数的一部分。具体来说,最小二乘法试图解决的问题就是寻找能使均方误差最小的一系列参数。 - 可以认为,当使用最小二乘法进行参数估计时,实际上就是在尝试最小化均方误差这一度量标准。 以下是利用Python实现简单线性回归并分别展示如何计算MSE以及运用最小二乘法的例子: ```python import numpy as np from sklearn.linear_model import LinearRegression from sklearn.metrics import mean_squared_error # 构造一些简单的模拟数据 X = np.array([[1], [2], [3]]) y_true = np.array([1, 2, 3]) # 使用最小二乘法(Linear Regression) 来获取模型参数 model = LinearRegression() model.fit(X, y_true) # 获取预测值 y_pred = model.predict(X) # 手动验证mse (注意这里没有除以样本数量m) manual_mse_no_divide_by_m = ((y_true - y_pred)**2).sum() # 利用sklearn内置功能计算真实的MSE (此版本会自动除以样本总数m) calculated_mse_with_sklearn = mean_squared_error(y_true, y_pred) print(f'Manual Sum of Squared Errors without dividing by m: {manual_mse_no_divide_by_m}') print(f'Calculated Mean Squared Error with sklearn: {calculated_mse_with_sklearn}') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperLee188

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值