机器学习之最小二乘线性回归原理解读与公式推导
(Ordinary) Least Squares Linear Regression
一、条件
样本集呈线性分布
二、原理
用一个超平面/直线去拟合样本集,使样本点的标签值与预测值的差的平方和最小
注:不是样本点到直线的距离最小
h(xi1,xi2,⋯ ,xid)=∑j=1dwjxij−θh(x_{i1},x_{i2},\cdots,x_{id}) = \sum\limits_{j=1}^d w_jx_{ij} -\thetah(xi1,xi2,⋯,xid)=j=1∑dwjxij−θ , i=1,2,⋯ ,ni=1,2,\cdots,ni=1,2,⋯,n
令 xi0=1x_{i0}=1xi0=1 , w0=θw_0=\thetaw0=θ , i=1,2,⋯ ,ni = 1,2,\cdots,ni=1,2,⋯,n 即 x⃗i=[1xi1xi2⋯xid]T\vec x_i = \begin{bmatrix} 1&x_{i1}&x_{i2}&\cdots&x_{id} \end{bmatrix}^Txi=[1xi1xi2⋯xid]T , w⃗=[θw1w2⋯wd]T\vec w = \begin{bmatrix} \theta&w_1&w_2&\cdots&w_d \end{bmatrix}^Tw=[θw1w2⋯wd]T 则 h(x⃗i)=w⃗T⋅x⃗ih(\vec x_i)=\vec w^T\cdot\vec x_ih(xi)=wT⋅xi
-
构造损失函数
L(h)=1n∑i=1n(h(x⃗i)−yi)2L(h) = \frac{1}{n}\sum\limits_{i=1}^n(h(\vec x_i)-y_i)^2L(h)=n1i=1∑n(h(xi)−yi)2 ,即均方误差
-
求损失函数取最小值时对应的假设 hhh
假设 hhh 与 w⃗\vec ww 有关,将 L(h)L(h)L(h) 化为自变量为 w⃗\vec ww 的函数
得 L(w⃗)=1n∑i=1n(w⃗T⋅x⃗i−yi)2L(\vec w) = \frac{1}{n}\sum\limits_{i=1}^n(\vec w^T\cdot \vec x_i-y_i)^2L(w)=n1i=1∑n(wT⋅xi−yi)2
令 X=[x⃗1Tx⃗2T⋯x⃗nT]T\mathbf X=\begin{bmatrix} \vec x_1^T&\vec x_2^T&\cdots&\vec x_n^T \end{bmatrix}^TX=[x1Tx2T⋯xnT]T ,y⃗=[y1y2⋯yn]T\vec y = \begin{bmatrix} y_1&y_2&\cdots&y_n \end{bmatrix}^Ty=[y1y2⋯yn]T
得 L(w⃗)=1n(X⋅w⃗−y⃗)T⋅(X⋅w⃗−y⃗)L(\vec w) = \frac{1}{n}(\mathbf X\cdot\vec w- \vec y)^T\cdot(\mathbf X\cdot\vec w- \vec y)L(w)=n1(X⋅w−y)T⋅(X⋅w−y)
=1n(w⃗TXTXw⃗−w⃗TXTy⃗−y⃗TXw⃗+y⃗Ty⃗)=\frac{1}{n}(\vec w^T\mathbf X^T\mathbf X\vec w-\vec w^T\mathbf X^T\vec y-\vec y^T\mathbf X\vec w+\vec y^T\vec y)=n1(wTXTXw−wTXTy−yTXw+yTy)
=1n(w⃗TXTXw⃗−2w⃗TXTy⃗+y⃗Ty⃗)=\frac{1}{n}(\vec w^T\mathbf X^T\mathbf X\vec w-2\vec w^T\mathbf X^T\vec y+\vec y^T\vec y)=n1(wTXTXw−2wTXTy+yTy) ,因为 w⃗TXTy⃗\vec w^T\mathbf X^T\vec ywTXTy 与 y⃗TXw⃗\vec y^T\mathbf X\vec wyTXw 均为 1×11\times11×1 矩阵
-
梯度下降法
-
解析法
求 w⃗∗\vec w^*w∗ 使 ∂∂w⃗L(w⃗∗)=0\frac{\partial}{\partial \vec w}L(\vec w^*) = 0∂w∂L(w∗)=0 ,则 w⃗∗\vec w^*w∗ 即为 L(w⃗)L(\vec w)L(w) 对最优解(凸优化问题)
∂∂w⃗L(w⃗)=2XTXw⃗−2y⃗TX\frac{\partial}{\partial \vec w}L(\vec w) = 2\mathbf X^T\mathbf X\vec w-2\vec y^T\mathbf X∂w∂L(w)=2XTXw−2yTX
2XTXw⃗∗−2y⃗TX=02\mathbf X^T\mathbf X\vec w^*-2\vec y^T\mathbf X = 02XTXw∗−2yTX=0
w⃗∗=(XTX)−1y⃗TX=(XTX)−1XTy⃗\vec w^*=(\mathbf X^T\mathbf X)^{-1}\vec y^T \mathbf X = (\mathbf X^T\mathbf X)^{-1}\mathbf X^T\vec yw∗=(XTX)−1yTX=(XTX)−1XTy
-
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)