问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

最小二乘法解决回归问题简单介绍

创作时间:
作者:
@小白创作中心

最小二乘法解决回归问题简单介绍

引用
CSDN
1.
https://blog.csdn.net/qq_41214679/article/details/109547604

最小二乘法是机器学习和统计学中一个非常重要的算法,主要用于解决回归问题。本文将从线性回归的基本概念出发,详细解释最小二乘法的目的和方法,并通过一个具体的实例展示其计算过程。

线性回归问题

线性回归就是对所给的样本进行建模,从而来对未给定或者未来的数据进行预测。如上图,给定了一系列的样本点,通过找到一条“最逼近”所有样本点的曲线进行拟合。

最小二乘法

目的

通过最小化误差的平方和,来寻找到最佳的数据匹配。

方法

利用最小二乘可以简便的求得未知的数据,并使得这写求得的数据与实际数据之间误差的平方和为最小。
这里引入几种概念:

  1. 残差:预测值 (h(x_i)) 和真实值 (y_i) 之间的误差:
    [r_i = h(x_i) - y_i]

  2. 三种范数

  • (L_∞) 范数:残差绝对值中的最大值,即所有数据点中残差距离的最大值:
    [\max_{1 \leq i \leq m} |r_i|]
  • (L_1) 范数:绝对残差和,即所有数据点残差距离之和:
    [\sum_{i=1}^m |r|]
  • (L_2) 范数:残差平方和:
    [\sum_{i=1}^m r_i^2]
  1. 拟合程度:通俗的来说,拟合函数 (h(x)) 与带求解的 (y) 之间的相似性,如果误差越小,则越相似。

虽然前两种范数作为误差很容易想到,但是对于计算机来说,计算消耗大,且不利于微分计算。第三种 (L_2) 范数的平方为乘法,求和加法,都是基本操作,最小二乘法就是使用 (L_2) 范数作为误差计算。

实例

下面以一次函数 (y = kx + b) 为例,介绍最小二乘法:

首先给出最小二乘法对于这个一次函数的定义:

[\min_{k, b} \sum_{n=1}^{N} (y_n - (k \times x_n + b))^2 \tag{1}]

对于以上的无约束问题,求解一个最合适的k和b。首先分别对k和b求偏导,并令其为0,即可获得极值点:

展开(1)式:

[Loss = (y_1 - (kx_1 + b))^2 + (y_2 - (kx_2 + b))^2 + ... + (y_N - (kx_N + b))^2]

分别对k和b求偏导,并且令为0:

[\frac{\partial{Loss}}{\partial{k}} = -2x_1(y_1 - (kx_1 + b)) - ... - 2x_N(y_N - (kx_n + b)) = 0]

[\frac{\partial{Loss}}{\partial{b}} = -2(y_1 - (kx_1 + b)) - ... - 2(y_N - (kx_n + b)) = 0]

化简得:

[\left{
\begin{array}{l}
k\sum_{n=1}^{N} x_n^2 + b\sum_{n=1}^{N} x_n = \sum_{n=1}^{N} x_n y_n, \
k\sum_{n=1}^{N} x_n + bN = \sum_{n=1}^{N} y_n
\end{array}
\right.]

两个式子两个未知数,求得:

[\left{
\begin{array}{l}
k = \frac{N\sum_{n=1}^{N} x_n \times y_n - \left(\sum_{n=1}^{N} x_n\right)\left(\sum_{n=1}^{N} y_n\right)}{\left(N\sum_{n=1}^{N} \left(x_n\right)^2 - \left(\sum_{n=1}^{N} x_n\right)^2\right)} \
b = \frac{\left(\sum_{n=1}^{N} y_n\right)}{N} - k \times \frac{\left(\sum_{n=1}^{N} x_n\right)}{N}
\end{array}
\right.]

求出了需要的未知数k和b,即这个斜率和截距,使得误差最小。
由此同样可以推广到更加复杂的函数计算。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号