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

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

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

//是否能有个好的例子

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

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

一. f ( x ) = w x + b

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

  解出:
{ 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 ) = w T x + b
  接着我们由浅入深,对于多元回归模型 f ( x ) = w T x + b ,我们仍是希望让预测值和真实值的差异最小。同样,我们仍然选取最小二乘法来衡量预测值和真实值之间的差异:
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 ) = [ ( 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 ) ]

  推导:
[ ( 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
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 ~ ) = ( X w ~ Y ) T ( X w ~ Y ) ,同样我们希望 g ( w ~ ) 求得最小值,因此我们继续采用偏导数求解:

g ( w ~ ) w ~ = 0

推导:
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
因为 d w ~ w ~ T d w ~ = 2 w ~ , d w ~ T d w ~ = I
所以 g ( w ~ ) w ~ = 2 X T X w ~ 2 X T Y = 0 X T X w ~ = X T Y
最后的结果是 w ~ = ( X T X ) 1 X T Y

猜你喜欢

转载自blog.csdn.net/yeziand01/article/details/80720037