线性回归 原理及公式推导

什么是线性回归?

线性回归方程是利用数理统计中的回归分析,来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法之一。线性回归也是回归分析中第一种经过严格研究并在实际应用中广泛使用的类型。按自变量个数可分为一元线性回归分析方程和多元线性回归分析方程。摘至百度百科。

函数模型

线性回归的函数模型为 h w ( x i ) = w 0 + w 1 x 1 + w 2 x 2 + . . . + w n x n h_w(x^i)=w_0+w_1x_1+w_2x_2+...+w_nx_n hw(xi)=w0+w1x1+w2x2+...+wnxn
也可以写成 h w ( x i ) = w T x i = W T X h_w(x^i)=w^Tx_i=W^TX hw(xi)=wTxi=WTX,其中 X = [ 1 x 1 . . . x n ] X=\begin{bmatrix} 1 \\x_1\\... \\x_n \end{bmatrix} X=1x1...xn,
W = [ w 0 w 1 . . . w n ] W=\begin{bmatrix} w_0 \\w_1\\... \\w_n \end{bmatrix} W=w0w1...wn,假如存在数据集 D = ( X 1 , Y 1 ) , ( X 2 , Y 2 ) , . . . , ( X n , Y n ) D={(X_1,Y_1), (X_2, Y_2), ... ,(X_n, Y_n)} D=(X1,Y1),(X2,Y2),...,(Xn,Yn),为了方便我们写成矩阵形式如下 X = [ 1 , x 1 1 , x 2 1 , . . . , X n 1 1 , x 1 2 , x 2 2 , . . . , x n 2 . . . . . . 1 , x 1 n , x 2 n , . . . , x n n ] X = \begin{bmatrix} 1, x_1^1, x_2^1, ..., X_n^1 \\ 1, x_1^2, x_2^2, ..., x_n^2 \\......\\1, x_1^n, x_2^n, ..., x_n^n \end{bmatrix} X=1,x11,x21,...,Xn11,x12,x22,...,xn2......1,x1n,x2n,...,xnn, 所以 h w ( x i ) = X W h_w(x^i) = XW hw(xi)=XW,线性回归中就是我们直到了D,也就是知道了 X X X,需要求出W,这里使用最小二乘法。

最小二乘法

什么是最小二乘呢?通俗的讲就是我们假设一条直线出来,然后把数据点带入假设的直线得到观测值,求使得实际值和观测值相减的平方和最小的参数,对变量求偏导联立可解。

损失函数

定义线性回归损失函数为: J ( W ) = 1 2 M ∑ i = 0 M ( h w ( x i ) − y i ) 2 = 1 2 M ( X W − y ) T ( X W − Y ) J(W)=\frac{1}{2M}\sum_{i=0}^{M}(h_w(x^i)-y^i)^2=\frac{1}{2M}(XW-y)^T(XW-Y) J(W)=2M1i=0M(hw(xi)yi)2=2M1(XWy)T(XWY)

求W

有了损失函数之后我们的目标就是最小化损失函数,也就是求取一个 W W W使得 J ( W ) J(W) J(W)最小,这里需要分2种情况来讨论。
a) 矩阵满秩可求解时(也就是对W求导等于0)
J ( W ) = 1 / 2 ( X W − y ) T ( X W − y ) = 1 / 2 [ W T X T X W − W T X T y − y T X W + Y T Y ] = 1 / 2 [ W T X T X W − 2 W T X T y + y T y ] J(W)=1/2(XW-y)^T(XW-y)=1/2[W^TX^TXW-W^TX^Ty-y^TXW+Y^TY]=1/2[W^TX^TXW-2W^TX^Ty+y^Ty] J(W)=1/2(XWy)T(XWy)=1/2[WTXTXWWTXTyyTXW+YTY]=1/2[WTXTXW2WTXTy+yTy] ∂ J ( W ) ∂ W = 0 \frac{\partial J(W)}{\partial W} = 0 WJ(W)=0=》 ∂ J ( W ) ∂ W = 1 / 2 [ W T X T X − 2 X T y ] = 0 \frac{\partial J(W)}{\partial W} = 1/2[W^TX^TX-2X^Ty]=0 WJ(W)=1/2[WTXTX2XTy]=0=》 X T X W = X T y X^TXW=X^Ty XTXW=XTy=》 W = ( X T X ) − 1 X T y W=(X^TX)^{-1}X^Ty W=(XTX)1XTy
b)矩阵不满秩(梯度下降)
梯度下降的原理大概可以把目标函数比作一座山,我们站在某个山坡上,往四周看一看,从哪个方向向下走一步,可以下降得最快。将梯度下降应用到线性回归中:首先对 θ \theta θ赋值,这个值可以是随机的,也可以让 θ \theta θ是一个全为0的向量,接下来改变 θ \theta θ的值,使得 j ( θ ) j(\theta) j(θ)按照梯度下降的方向进行减少。描述一下梯度减少的过程,对于函数 J ( θ ) J(\theta) J(θ)求偏导 J J J。重复下面的过程: ∂ ∂ θ 1 2 ∑ i = 1 m ( h θ ( x ) − y ) 2 = ( h θ ( x ) − y ) x ( i ) \frac{\partial}{\partial \theta}\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x)-y)^2=(h_\theta(x)-y)x^(i) θ21i=1m(hθ(x)y)2=(hθ(x)y)x(i),下面是更新的过程,也就是会 θ i \theta_i θi会向着梯度最小的方向减少。 θ i \theta_i θi表示更新之前的值,后面减去的部分代表按梯度方向减少的量,\alpha表示步长,也就是每次按照梯度减少的方向变换多少。 θ i = θ i − α ∂ ∂ θ J ( θ ) = θ i − α ( h θ ( x ) − y ) x i \theta_i=\theta_i-\alpha\frac{\partial}{\partial\theta}J(\theta)=\theta_i-\alpha(h_\theta(x)-y)x^i θi=θiαθJ(θ)=θiα(hθ(x)y)xi,对于之前假设的数据集D: X = [ 1 , x 1 1 , x 2 1 , . . . , X n 1 1 , x 1 2 , x 2 2 , . . . , x n 2 . . . . . . 1 , x 1 n , x 2 n , . . . , x n n ] X = \begin{bmatrix} 1, x_1^1, x_2^1, ..., X_n^1 \\ 1, x_1^2, x_2^2, ..., x_n^2 \\......\\1, x_1^n, x_2^n, ..., x_n^n \end{bmatrix} X=1,x11,x21,...,Xn11,x12,x22,...,xn2......1,x1n,x2n,...,xnn W = [ w 0 w 1 . . . w n ] W=\begin{bmatrix} w_0 \\w_1\\... \\w_n \end{bmatrix} W=w0w1...wn y = [ y 1 y 2 . . . y n ] y=\begin{bmatrix} y1\\ y2 \\... \\y_n \end{bmatrix} y=y1y2...yn h = X W h=XW h=XW。对损失函数求偏导如下: ∂ ∂ W j J ( W ) = 1 M ∑ i = 1 i = m ( h w x ( i ) − y ( i ) ) x j i \frac{\partial}{\partial W_j}J(W)=\frac{1}{M}\sum_{i=1}^{i=m}(h_w^{x(i)}-y^(i))x_j^i WjJ(W)=M1i=1i=m(hwx(i)y(i))xji W j : W j − α ∂ ∂ W j J ( W ) W_j:W_j - \alpha \frac{\partial }{\partial W_j}J(W) Wj:WjαWjJ(W),使用矩阵表示:
E = X − y = [ h 1 − y 1 h 2 − y 2 . . . h n − y n ] E=X-y=\begin{bmatrix}h_1-y_1\\ h_2-y_2 \\...\\h_n-y_n \end{bmatrix} E=Xy=h1y1h2y2...hnyn, W = W − 1 M α X T E W=W-\frac{1}{M}\alpha X^TE W=WM1αXTE

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
支持向量机(Support Vector Machine,SVM)是一种常用的机器学习算法,用于分类和回归问题。在介绍SVM的非线性原理之前,我们先来了解一下SVM的线性原理。 SVM的线性原理是基于最大间隔分类的思想,它通过在特征空间中找到一个超平面,将不同类别的样本分开,并且使得离超平面最近的样本点到超平面的距离最大化。这些离超平面最近的样本点被称为支持向量。 对于线性可分的情况,SVM的目标是找到一个超平面,使得所有正样本点都位于超平面的一侧,所有负样本点都位于超平面的另一侧,并且使得支持向量到超平面的距离最大化。这可以通过以下优化问题来实现: $$ \begin{align*} \min_{w,b} & \frac{1}{2}||w||^2 \\ \text{s.t.} & y_i(w^Tx_i+b) \geq 1, \forall i \end{align*} $$ 其中,$w$是超平面的法向量,$b$是超平面的截距,$x_i$是样本点的特征向量,$y_i$是样本点的类别标签(1或-1)。优化问题的约束条件保证了所有样本点都被正确分类。 当样本点不是线性可分的时候,我们可以通过引入核函数来将样本点映射到高维特征空间,从而使得样本在高维空间中线性可分。常用的核函数有线性核、多项式核、高斯核等。 对于非线性情况,SVM的优化问题变为: $$ \begin{align*} \min_{w,b} & \frac{1}{2}||w||^2 \\ \text{s.t.} & y_i(w^T\phi(x_i)+b) \geq 1, \forall i \end{align*} $$ 其中,$\phi(\cdot)$是将样本点映射到高维特征空间的函数。通过引入核函数$K(x_i, x_j) = \phi(x_i)^T\phi(x_j)$,我们可以避免直接计算高维特征空间中的内积,从而降低计算复杂度。 常用的核函数有: 1. 线性核:$K(x_i, x_j) = x_i^Tx_j$ 2. 多项式核:$K(x_i, x_j) = (x_i^Tx_j + c)^d$,其中$c$和$d$是超参数 3. 高斯核(径向基函数核):$K(x_i, x_j) = \exp(-\frac{||x_i-x_j||^2}{2\sigma^2})$,其中$\sigma$是超参数 通过引入核函数,我们可以将非线性问题转化为在高维特征空间中的线性问题,从而实现非线性分类。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值