多元线性模型(含公式推导)-回归-监督学习-机器学习

  假设某个体 x x d个特征,即 x=(x1,x2,...,xd) x = ( x 1 , x 2 , . . . , x d ) xi x i 是第i个特征,线性模型(linear model)试图通过特征的线性组合得到预测值,即

f(x)=wTx+b=w1x1+w2x2+...+wdxd+b f ( x ) = w T x + b = w 1 x 1 + w 2 x 2 + . . . + w d x d + b
其中当 wi w i 是第i个特征的权重,既能调节特征的量纲,也能显示该特征对预测值的重要程度; wT w T = w1w2...wd ( w 1 , w 2 , . . . , w d ) xT x T = x1x2...xd ( x 1 , x 2 , . . . , x d ) b b 代表预测值中非x所能影响的那部分;当 d=1 d = 1 时,便是最简单的线性模型 f(x)=wx+b f ( x ) = w x + b

//是否能有个好的例子

只要能求出 w w b,便能得到线性模型,该如何求得 w w b呢?

  假设训练数据集有n个个体,即 D={(x1,y1),(x2,y2),...,(xn,yn)} D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) } xi x i 代表第 i i 个个体,yi代表第 i i 个个体所对应的真实值。

一.f(x)=wx+b

天下难事必作于易,天下大事必作于细 —— 老子
  让我们从最简单的线性模型 f(x)=wx+b f ( x ) = w x + b 入手,即假设每个个体只有一个特征。我们希望预测值 f(xi) f ( x i ) 和真实值 yi y i 尽可能接近,该如何衡量它们的差异呢?
  直观来说,我们可以有两种方案:
1)|f(xi)yi| 1 ) | f ( x i ) − y i |
2)(f(xi)yi)2 2 ) ( f ( x i ) − y i ) 2
  方案2便是高斯的 最小二乘法(least square method)。我们把所有个体的预测值和真实值之间的差异加总:
g(w,b)=i=1n(f(xi)yi)2=i=1n(wxi+byi)2 g ( w , b ) = ∑ i = 1 n ( f ( x i ) − y i ) 2 = ∑ i = 1 n ( w x i + b − y i ) 2
  我们的目标是求出 w w b,让 g(w,b) g ( w , b ) 取得最小值。因此我们可以用偏导数求解:
g(w,b)w=0g(w,b)b=0 { ∂ g ( w , b ) ∂ w = 0 ∂ g ( w , b ) ∂ b = 0

  解出:
w=ni=1yi(xix¯)ni=1x2inx¯2b=y¯wx¯x¯=1nni=1xiy¯=1nni=1yi { w = ∑ i = 1 n y i ( x i − x ¯ ) ∑ i = 1 n x i 2 − n x ¯ 2 b = y ¯ − w x ¯ x ¯ = 1 n ∑ i = 1 n x i y ¯ = 1 n ∑ i = 1 n y i

二、 f(x)=wTx+b f ( x ) = w T x + b
  接着我们由浅入深,对于多元回归模型 f(x)=wTx+b f ( x ) = w T x + b ,我们仍是希望让预测值和真实值的差异最小。同样,我们仍然选取最小二乘法来衡量预测值和真实值之间的差异:
g(w,b)=(wTx1+by1)2+(wTx2+by2)2+...+(wTxn+byn)2 g ( w , b ) = ( w T x 1 + b − y 1 ) 2 + ( w T x 2 + b − y 2 ) 2 + . . . + ( w T x n + b − y n ) 2

g(w,b)=[(wTx1+by1),(wTx2+by2),...,(wTxn+byn)](wTx1+by1)(wTx2+by2)...(wTxn+byn) g ( w , b ) = [ ( w T x 1 + b − y 1 ) , ( w T x 2 + b − y 2 ) , . . . , ( w T x n + b − y n ) ] [ ( w T x 1 + b − y 1 ) ( w T x 2 + b − y 2 ) . . . ( w T x n + b − y n ) ]

  推导:
(wTx1+by1)(wTx2+by2)...(wTxn+byn)=(wTx1+b)(wTx2+b)...(wTxn+b)y1y2...yn=(xT1,1)(w,b)T(xT2,1)(w,b)T...(xTn,1)(w,b)Ty1y2...yn=xT1,1xT2,1...xTn,1(wT,b)y1y2...yn=X(wT,b)y1y2...yn=X(wT,b)Y=Xw~Y [ ( w T x 1 + b − y 1 ) ( w T x 2 + b − y 2 ) . . . ( w T x n + b − y n ) ] = [ ( w T x 1 + b ) ( w T x 2 + b ) . . . ( w T x n + b ) ] − [ y 1 y 2 . . . y n ] = [ ( x 1 T , 1 ) ( w , b ) T ( x 2 T , 1 ) ( w , b ) T . . . ( x n T , 1 ) ( w , b ) T ] − [ y 1 y 2 . . . y n ] = [ x 1 T , 1 x 2 T , 1 . . . x n T , 1 ] ( w T , b ) − [ y 1 y 2 . . . y n ] = X ( w T , b ) − [ y 1 y 2 . . . y n ] = X ( w T , b ) − Y = X w ~ − Y
wTxi+b=(xTi,1)[wb]=(xTi,1)(w,b)TX=xT1,1xT2,1...xTn,1,Y=y1y2...yn,w~=(wT,b) 注 : w T x i + b = ( x i T , 1 ) [ w b ] = ( x i T , 1 ) ( w , b ) T ; 令 X = [ x 1 T , 1 x 2 T , 1 . . . x n T , 1 ] , Y = [ y 1 y 2 . . . y n ] , w ~ = ( w T , b )
  所以 g(w~)=(Xw~Y)T(Xw~Y) g ( w ~ ) = ( X w ~ − Y ) T ( X w ~ − Y ) ,同样我们希望 g(w~) g ( w ~ ) 求得最小值,因此我们继续采用偏导数求解:

g(w~)w~=0 ∂ g ( w ~ ) ∂ w ~ = 0

推导:
g(w~)=(Xw~Y)T(Xw~Y)=((Xw~)TYT)(Xw~Y)=(Xw~)TXw~YTXw~(Xw~)TY+YTY=w~TXTXw~YTXw~w~TXTY+YTY g ( w ~ ) = ( X w ~ − Y ) T ( X w ~ − Y ) = ( ( X w ~ ) T − Y T ) ( X w ~ − Y ) = ( X w ~ ) T X w ~ − Y T X w ~ − ( X w ~ ) T Y + Y T Y = w ~ T X T X w ~ − Y T X w ~ − w ~ T X T Y + Y T Y
因为 dw~w~Tdw~=2w~,dw~Tdw~=I d w ~ w ~ T d w ~ = 2 w ~ , d w ~ T d w ~ = I
所以 g(w~)w~=2XTXw~2XTY=0XTXw~=XTY ∂ g ( w ~ ) ∂ w ~ = 2 X T X w ~ − 2 X T Y = 0 , X T X w ~ = X T Y
最后的结果是 w~=(XTX)1XTY w ~ = ( X T X ) − 1 X T Y

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值