线性模型(三)之线性回归

  在前一篇博客线性模型(二)之多项式拟合中介绍了一维数据的多项式拟合问题。理解多项式拟合后,再来看线性回归,会发现,如出一辙。线性回归和多项式拟合的主要区别在于:

1. 线性回归基础

  1. 线性回归的输入是多维的
  2. 线性回归模型不仅是参数的线性函数,也是输入 x 的线性函数,即不会像多项式拟合中会有 x 2 , x 3 等高次幂出现。

  线性回归的基本形式如下:

输入:数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . , ( x N , y N ) } ,其中 x i = { x i 1 , x i 2 , . . . , x i d } d 表示输入数据的维度是 d 维,并且 x i j R , y i R .
输出: f ( x ) = w x + b = w 1 x 1 + w 2 x 2 + . . . + w d x d + b

从这里可以看出,和多项式拟合是非常相似的,同样选择平方误差作为损失函数。

E ( w , b ) = i = 1 N [ f ( x i ) y i ] 2 = i = 1 N [ w 1 x i 1 + w 2 x i 2 + . . . + w d x i d y i ] 2

  同理,可以用求偏导再联立方程求解。当然是用矩阵形式的最小二乘法则是通用的做法。用矩阵表示误差函数

E ( w ) = X w T y 2

其中, w = [ b , w 1 , w 2 , . . . , w d ] ,将 b 吸收了, y = { y 1 , y 2 , . . . , y N } T

X = [ 1 x 11 x 12 . . . x 1 d 1 x 21 x 22 . . . x 2 d . . . . . . . . . . . . . . . 1 x N 1 x N 2 . . . x N d ]

和多项式拟合中,矩阵求导一样,求解得到

w T = ( X T X ) 1 X T y

  如果只是是用单纯的线性回归,容易导致模型过拟合,因此一般会使用正则化技术。在线性回归的基础上,加上 L 1 正则项,就是lasso回归,而加上 L 2 正则项,就构成了ridge回归。

2. ridge回归(岭回归)

  ridge回归,又称之为岭回归,是在线性回归的损失函数上增加了 L 2 正则项,公式如下:

E ( w ) = X w T y 2 + w 2

同样,对其求导,令导数为0,可以得到参数 w 的值。

w = ( X T w + I ) X T y

可见,ridge回归的求解方式和基础的线性回归时类似的。

3. lasso回归

  lasso回归是在线性回归的损失函数上增加了 L 1 正则化,因为 L 1 正则化可以使得部分参数为0,因此可以起到特征选择的作用。损失函数变成如下的形式:

E ( w ) = X w T y 2 + w 1

在lasso回归中,损失函数不连续可导,因此无解析解,一般采用坐标轴下降法进行迭代求解。

猜你喜欢

转载自blog.csdn.net/b876144622/article/details/80546936
今日推荐