机器学习——线性回归(Linear Regression)

本文详细介绍了线性回归算法的工作原理及实现步骤。包括输入特征集和标签集的数学表示、伪逆的计算方法以及参数ω的求解过程。通过最小化平方误差来找到最佳拟合直线。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法描述:

Linear Regression Algorithm
1.输入特征集X标签集y: X=[−−x1T−−−−x2T−−⋯−−xNT−−]N×(d+1)X = {\left[ {\begin{array}{} { - - x_1^T - - }\\ { - - x_2^T - - }\\ \cdots \\ { - - x_N^T - - } \end{array}} \right]_{N \times (d + 1)}}X=x1Tx2TxNTN×(d+1) y=[y1y2⋯yN]N×1y = {\left[ {\begin{array}{} {{y_1}}\\ {{y_2}}\\ \cdots \\ {{y_N}} \end{array}} \right]_{N \times 1}}y=y1y2yNN×1 2.计算伪逆(pseudo-inverse):
x†=(xTx)−1xT((d+1)×N){x^\dag } = {({x^T}x)^{ - 1}}{x^T}((d + 1) \times N)x=(xTx)1xT((d+1)×N)
3.返回 ωLIN=x†y((d+1)×1){\omega _{LIN}} = {x^\dag }y((d + 1) \times 1)ωLIN=xy((d+1)×1)

计算过程:

Ein(ω)=1N∑n=1N(ωTxn−yn)2=1N∑n=1N(xnTω−yn)2(内积可交换)=1N∥x1Tω−y1x2Tω−y2⋯xNTω−yN∥2=∥[−−x1T−−−−x2T−−⋯−−xNT−−]ω−[y1y2⋯yN]∥2=1N∥X⎵N×(d+1)ω⎵(d+1)×1−y⎵N×1∥2    \begin{array}{l} {E_{in}}(\omega ) = \frac{1}{N}{\sum\limits_{n = 1}^N {({\omega ^T}{x_n} - {y_n})} ^2} = \frac{1}{N}{\sum\limits_{n = 1}^N {(x_n^T\omega - {y_n})} ^2}(内积可交换) \\ \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} = \frac{1}{N}{\left\| {\begin{array}{} {x_1^T\omega - {y_1}}\\ {x_2^T\omega - {y_2}}\\ \cdots \\ {x_N^T\omega - {y_N}} \end{array}} \right\|^2} = {\left\| {\left[ {\begin{array}{} { - - x_1^T - - }\\ { - - x_2^T - - }\\ \cdots \\ { - - x_N^T - - } \end{array}} \right]\omega - \left[ {\begin{array}{} {{y_1}}\\ {{y_2}}\\ \cdots \\ {{y_N}} \end{array}} \right]} \right\|^2}\\ \\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} = \frac{1}{N}{\left\| {\underbrace X_{N \times (d + 1)}\underbrace \omega _{(d + 1) \times 1} - \underbrace y_{N \times 1}} \right\|^2} \\ \;\; \end{array}{}Ein(ω)=N1n=1N(ωTxnyn)2=N1n=1N(xnTωyn)2()=N1x1Tωy1x2Tωy2xNTωyN2=x1Tx2TxNTωy1y2yN2=N1N×(d+1)X(d+1)×1ωN×1y2

这里的误差用 平方误差(Squared Error) 来衡量,即,
err(y^,y)=(y^−y)2err(\hat y,y) = {(\hat y - y)^2}err(y^,y)=(y^y)2
在线性回归里就是:
min⁡ωEin(ω)=1N∥xω−y∥2\mathop {\min }\limits_\omega {E_{in}}(\omega ) = \frac{1}{N}{\left\| {x\omega - y} \right\|^2}ωminEin(ω)=N1xωy2

当函数满足continuous,differentiable,convex时,其最小值点在其梯度为零的地方,


在这里插入图片描述
Ein(ω)=1N∥xω−y∥2=1N(ωTxTx⎵Aω−2ωTxTy⎵b+yTy⎵c)∇Ein(ω)=1N(2Aω−2b)∇Ein(ω)=2N(xTxω−xTy)=0ωLIN=(xTx)−1xT⎵x†yωLIN=x†y\begin{array}{l} {E_{in}}(\omega ) = \frac{1}{N}{\left\| {x\omega - y} \right\|^2} = \frac{1}{N}({\omega ^T}\underbrace {{x^T}x}_A\omega - 2{\omega ^T}\underbrace {{x^T}y}_b + \underbrace {{y^T}y}_c)\\ \nabla {E_{in}}(\omega ) = \frac{1}{N}(2A\omega - 2b)\\ \\ \nabla {E_{in}}(\omega ) = \frac{2}{N}({x^T}x\omega - {x^T}y) = 0\\ \\ {\omega _{LIN}} = \underbrace {{{({x^T}x)}^{ - 1}}{x^T}}_{x\dag }y\\ {\omega _{LIN}} = {x^\dag }y \end{array}Ein(ω)=N1xωy2=N1(ωTAxTxω2ωTbxTy+cyTy)Ein(ω)=N1(2Aω2b)Ein(ω)=N2(xTxωxTy)=0ωLIN=x(xTx)1xTyωLIN=xy

用伪逆表示。这里的xTx{x^T}xxTx常常是可逆的,由于这里的N>>d+1N > > d + 1N>>d+1,样本数通常是远大于特征数的 ;但也有少数情况不可逆,所以用伪逆表示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值