[机器学习-回归算法]一元线性回归用最小二乘法的推导过程

一元线性回归用最小二乘法的推导过程

在数据的统计分析中,数据之间即变量x与Y之间的相关性研究非常重要,通过在直角坐标系中做散点图的方式我们会发现很多统计数据近似一条直线,它们之间或者正相关或者负相关。虽然这些数据是离散的,不是连续的,我们无法得到一个确定的描述这种相关性的函数方程,但既然在直角坐标系中数据分布接近一条直线,那么我们就可以通过画直线的方式得到一个近似的描述这种关系的直线方程。当然,从前面的描述中不难看出,所有数据都分布在一条直线附近,因此这样的直线可以画出很多条,而我们希望找出其中的一条,能够最好地反映变量之间的关系。换言之,我们要找出一条直线,使这条直线“最贴近”已知的数据点,设此直线方程为:① y ^ = a + b x \hat{y} = a + bx y^=a+bx

这里的 y ^ \hat{y} y^是为了区分Y的实际值y(这里的实际值就是统计数据的真实值,我们称之为观察值),当x取值 x i x_i xi(i=1,2,3……n)时,Y的观察值为 y i y_i yi,近似值为 y ^ \hat{y} y^(或者说对应的纵坐标是 y ^ = a + b x \hat{y} = a + bx y^=a+bx)。

其中①式叫做Y对x的回归直线方程,b叫做回归系数。要想确定回归直线方程①,我们只需确定a与回归系数b即可。

设x,Y的一组观察值为: ( x i , y i ) (x_i, y_i) (xi,yi) i = 1,2,3……n
其回归直线方程为: y ^ = a + b x \hat{y} = a + bx y^=a+bx

当x取值(i=1,2,3……n)时,Y的观察值为,差刻画了实际观察值与回归直线上相应点纵坐标之间的偏离程度,见下图:
在这里插入图片描述
实际上我们希望这n个离差构成的总离差越小越好,只有如此才能使直线最贴近已知点。换句话说,我们求回归直线方程的过程其实就是求离差最小值的过程

一个很自然的想法是把各个离差加起来作为总离差。可是,由于离差有正有负,直接相加会互相抵消,如此就无法反映这些数据的贴近程度,即这个总离差不能用n个离差之和来表示,见下图:
∑ i = 1 n ( y i − y i ^ ) \sum_{i=1}^n (y_i-\hat{y_i}) i=1n(yiyi^)
一般做法是我们用离差的平方和,即:
Q = ∑ i = 1 n ( y i − y i ^ ) 2 = ∑ i = 1 n ( y i − a − b x i ) 2 Q =\sum_{i=1}^n (y_i-\hat{y_i})^2 =\sum_{i=1}^n (y_i-a-bx_i)^2 Q=i=1n(yiyi^)2=i=1n(yiabxi)2

作为总离差 ,并使之达到最小。这样回归直线就是所有直线中Q取最小值的那一条。由于平方又叫二乘方,所以这种使“离差平方和为最小”的方法,叫做最小二乘法

求偏导
Q = ∑ i = 1 n ( y i − y i ^ ) 2 = ∑ i = 1 n ( y i − a − b x i ) 2 ∂ Q ∂ a = 2 ∑ i = 1 n [ y i − ( a + b x i ) ] ∗ ( − 1 ) = 2 ∑ i = 1 n [ a + b x i − y i ] = 0 ∂ Q ∂ b = 2 ∑ i = 1 n [ y i − ( a + b x i ) ] ∗ ( − x i ) = 2 ∑ i = 1 n x i [ a + b x i − y i ] = 0 \begin{aligned} Q &=\sum_{i=1}^n (y_i-\hat{y_i})^2 =\sum_{i=1}^n (y_i-a-bx_i)^2 \\ \frac{\partial Q }{\partial a} & = 2\sum_{i=1}^n[y_i-(a+bx_i)] *(-1) =2\sum_{i=1}^n[a+bx_i-y_i] =0\\ \frac{\partial Q }{\partial b} &= 2\sum_{i=1}^n[y_i-(a+bx_i)] *(-x_i) =2\sum_{i=1}^nx_i[a+bx_i-y_i] =0 \end{aligned} QaQbQ=i=1n(yiyi^)2=i=1n(yiabxi)2=2i=1n[yi(a+bxi)](1)=2i=1n[a+bxiyi]=0=2i=1n[yi(a+bxi)](xi)=2i=1nxi[a+bxiyi]=0
由第一个偏导式化简的到

∑ i = 1 n [ a + b x i − y i ] = 0 ∑ i = 1 n ( a + b x i − y i ) n = 0 a + b x ‾ − y ‾ = 0 a = y ‾ − b x ‾ \begin{aligned} & \sum_{i=1}^n[a+bx_i-y_i] =0 \\ & \frac{\sum_{i=1}^n(a+bx_i-y_i)}{n} = 0 \\ & a+b\overline{x}-\overline{y} = 0 \\ & a = \overline{y} - b \overline{x} \end{aligned} i=1n[a+bxiyi]=0ni=1n(a+bxiyi)=0a+bxy=0a=ybx

有第二个偏导式化简的到

∑ i = 1 n x i ( a + b x i − y i ) = 0 ∑ i = 1 n x i ( y ‾ − b x ‾ + b x i − y i ) = 0 ∑ i = 1 n ( x i y ‾ − b ( x i x ‾ + x i 2 ) − x i y i ) = 0 ∑ i = 1 n ( x i y ‾ − x i y i ) = ∑ i = 1 n b ( x i x ‾ − x i 2 ) b ∑ i = 1 n ( x i x ‾ − x i 2 ) = ∑ i = 1 n ( x i y ‾ − x i y i ) b = ∑ i = 1 n ( x i y ‾ − x i y i ) ∑ i = 1 n ( x i x ‾ − x i 2 ) b = ∑ i = 1 n ( x i y i − x i y ‾ ) ∑ i = 1 n ( x i 2 − x i x ‾ ) b = ∑ i = 1 n x i y i − y ‾ ∑ i = 1 n x i ∑ i = 1 n x i 2 − x ‾ ∑ i = 1 n x i b = ∑ i = 1 n x i y i − n x ‾ y ‾ ∑ i = 1 n x i 2 − n x ‾ 2 \begin{aligned} &\sum_{i=1}^nx_i(a+bx_i-y_i)=0 \\ & \sum_{i=1}^nx_i(\overline{y} - b \overline{x}+bx_i-y_i) =0 \\ & \sum_{i=1}^n(x_i\overline{y} - b (x_i\overline{x}+x_i^2)-x_iy_i) =0 \\ & \sum_{i=1}^n(x_i\overline{y} -x_iy_i) =\sum_{i=1}^nb (x_i\overline{x}-x_i^2) \\ & b \sum_{i=1}^n (x_i\overline{x}-x_i^2)=\sum_{i=1}^n( x_i\overline{y} -x_iy_i ) \\ & b = \frac{\sum_{i=1}^n (x_i \overline{y}-x_i y_i) } {\sum_{i=1}^n (x_i\overline{x}-x_i^2 )} \\ & b = \frac{\sum_{i=1}^n (x_i y_i - x_i \overline{y}) } {\sum_{i=1}^n (x_i^2 - x_i\overline{x} ) } \\ & b = \frac{\sum_{i=1}^n x_i y_i - \overline{y} \sum_{i=1}^n x_i } {\sum_{i=1}^n x_i^2 - \overline{x} \sum_{i=1}^nx_i } \\ & b = \frac{\sum_{i=1}^nx_iy_i-n\overline{x} \overline{y}}{\sum_{i=1}^nx_i^2-n\overline{x}^2} \end{aligned} i=1nxi(a+bxiyi)=0i=1nxi(ybx+bxiyi)=0i=1n(xiyb(xix+xi2)xiyi)=0i=1n(xiyxiyi)=i=1nb(xixxi2)bi=1n(xixxi2)=i=1n(xiyxiyi)b=i=1n(xixxi2)i=1n(xiyxiyi)b=i=1n(xi2xix)i=1n(xiyixiy)b=i=1nxi2xi=1nxii=1nxiyiyi=1nxib=i=1nxi2nx2i=1nxiyinxy

由以上两个偏导式化简可得:

( 3 ) { b = ∑ i = 1 n x i y i − n x ‾ y ‾ ∑ i = 1 n x i 2 − n x ‾ 2 a = y ‾ − b ^ x ‾ (3)\begin{cases} b =\frac{\sum_{i=1}^nx_iy_i-n\overline{x} \overline{y}}{\sum_{i=1}^nx_i^2-n\overline{x}^2} \\ a =\overline{y}-\hat{b}\overline{x} \end{cases} (3){b=i=1nxi2nx2i=1nxiyinxya=yb^x

其中 x ‾ , y ‾ \overline{x} , \overline{y} x,y x i x_i xi y i y_i yi的均值,

我们先给出推导过程中用到的两个关键变形公式的推导过程。首先是第一个公式:
在这里插入图片描述
接着是第二个公式:
在这里插入图片描述
把上面这两个公式(1)(2)代入下面的公式(3)式得:

{ b = ∑ i = 1 n x i y i − n x ‾ y ‾ ∑ i = 1 n x i 2 − n x ‾ 2 = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) ∑ i = 1 n ( x i − x ‾ ) 2 = S x y S x x a = y ‾ − b ^ x ‾ \begin{cases} b =\frac{\sum_{i=1}^nx_iy_i-n\overline{x}\overline{y}}{\sum_{i=1}^nx_i^2-n\overline{x}^2}=\frac{\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y})}{\sum_{i=1}^n(x_i-\overline{x})^2}= \frac{S_{xy}}{S_{xx}} \\ a =\overline{y}-\hat{b}\overline{x} \end{cases} {b=i=1nxi2nx2i=1nxiyinxy=i=1n(xix)2i=1n(xix)(yiy)=SxxSxya=yb^x

其中 x ‾ , y ‾ \overline{x} , \overline{y} x,y x i x_i xi y i y_i yi的均值, S x y = ∑ i = 1 n ( x i − x ‾ ) ( y i − y ‾ ) S_{xy} =\sum_{i=1}^n(x_i-\overline{x})(y_i-\overline{y}) Sxy=i=1n(xix)(yiy) S x x = ∑ i = 1 n ( x i − x ‾ ) 2 S_{xx} =\sum_{i=1}^n(x_i-\overline{x})^2 Sxx=i=1n(xix)2

a、b的上方加“︿”表示是由观察值按最小二乘法求得的估计值,a、b求出后,回归直线方程也就建立起来了。

参考资料
【1】https://blog.csdn.net/R18830287035/article/details/88384396
【2】 https://blog.csdn.net/marsjohn/article/details/54911788
【3】https://www.cnblogs.com/KID-yln/p/12840184.html

  • 6
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
逻辑回归是一种用于二分类问题的机器学习算法,它通过建立一个逻辑回归模型来预测样本的类别概率。在推导逻辑回归算法的数学原理时,我们将使用最大似然估计的方法。 假设我们有一个训练数据集,包含n个样本点。每个样本点由输入向量x和对应的类别标签y组成,其中x ∈ R^d,y ∈ {0, 1}。 逻辑回归的目标是建立一个模型,能够根据输入向量x预测出样本属于类别1的概率P(y=1|x)。 为了建立逻辑回归模型,我们使用逻辑函数(或称为sigmoid函数)将线性模型的输出转化为概率值。逻辑函数的形式为: g(z) = 1 / (1 + e^(-z)) 其中,z是线性模型的输出。在逻辑回归中,我们假设线性模型可以表示为: z = w^Tx + b 其中,w是权重向量,b是偏置项。 根据最大似然估计的思想,我们希望找到一组最优的参数w和b,使得在给定训练数据集下,模型对每个样本属于类别1的概率P(y=1|x)尽可能接近其真实标签y。 假设训练数据集中的样本是独立同分布的,我们可以构造似然函数来描述模型的拟合度。对于一个样本点(x, y),似然函数可以表示为: L(w, b) = P(y=1|x)^y * P(y=0|x)^(1-y) 为了简化计算,我们可以将似然函数取对数,得到对数似然函数: l(w, b) = log(L(w, b)) = y * log(P(y=1|x)) + (1-y) * log(P(y=0|x)) 我们的目标是最大化对数似然函数。为了实现这个目标,我们可以通过最小化负对数似然函数来转化为一个优化问题: minimize: -l(w, b) 接下来,我们可以使用梯度下降等优化算法来求解上述优化问题。通过计算负对数似然函数的梯度,并不断更新参数w和b,直到收敛为止。 具体地,我们可以计算负对数似然函数关于参数w和b的偏导数,并进行参数更新。更新规则可以表示为: w := w - α * ∂l/∂w b := b - α * ∂l/∂b 其中,α是学习率,控制参数更新的步长。 通过迭代执行上述更新步骤,我们可以逐渐优化参数w和b,找到最大似然估计下的最优解。 总结起来,逻辑回归算法的数学原理是通过最大似然估计的方法,构建逻辑回归模型,将线性模型的输出通过逻辑函数转化为概率值。通过最小化负对数似然函数,使用梯度下降等优化算法来求解模型的参数。最终,我们可以根据模型的参数来预测样本属于类别1的概率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

茫茫人海一粒沙

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

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

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

打赏作者

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

抵扣说明:

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

余额充值