小白学机器学习西瓜书-第三章线性回归
前段时间学习了机器学习这本书,这本书把我们比较熟悉的算法的本质和公式推导都进行了阐述,当中也有一些学习曲线比较陡峭的内容,自己学习了之后也一直有总结的想法,所以趁这段时间进行一下回顾。
这个小白系列都会力求不跳步,简单易懂,对于各种数学知识点也会进行穿插。
参考来自周志华老师的机器学习西瓜书以及互联网上的各种视频、文本讲解。
讲述的脉络也是跟着该书的逻辑,提取重点,当然,公式推导部分会详细描述。
3.1 基本形式
简单的线性模型:(x有d个属性,所以里面的都是x的属性)
f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w d x d + b (1) f(x)=w_1x_1+w_2x_2+...+w_dx_d+b \tag{1} f(x)=w1x1+w2x2+...+wdxd+b(1)
设 w = ( w 1 ; w 2 ; . . . ; w d ) w=(w_1;w_2;...;w_d) w=(w1;w2;...;wd),而 x = ( x 1 ; x 2 ; . . . ; x d ) x = (x_1;x_2;...;x_d) x=(x1;x2;...;xd)
所以可以用向量形式写为:
f ( x ) = w T x + b (2) f(x)=w^Tx+b \tag{2} f(x)=wTx+b(2)
3.2 线性回归
3.2.1 二元线性回归
让我们先从最简单的情形开始
假设我们有一个数据集里面有变量X和Y:
X X X | Y Y Y |
---|---|
x 1 x_1 x1 | y 1 y_1 y1 |
x 2 x_2 x2 | y 2 y_2 y2 |
… | … |
x m x_m xm | y m y_m ym |
线性回归算法试图学得下式
f ( x i ) = w x i + b , 使 得 f ( x i ) 的 值 无 限 接 近 于 y i (3) f(x_i)=wx_i+b,使得f(x_i)的值无限接近于y_i \tag{3} f(xi)=wxi+b,使得f(xi)的值无限接近于yi(3)
所以我们需要确定上面式子中的w和b,即可学习到式(3)
因此我们一般使得均方误差最小化,即找出使 ∑ i = 1 m ( f ( x i ) − y i ) 2 ) \sum^m_{i=1}(f(x_i)-y_i)^2) ∑i=1m(f(xi)−yi)2)这个式子最小的w和b
( w ∗ , b ∗ ) = arg min ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = arg min ( w , b ) ∑ i = 1 m ( w x i + b − y i ) 2 = arg min ( w , b ) ∑ i = 1 m ( y i − w x i − b ) 2 (4) \begin{aligned} (w^*,b^*)&= \argmin_{(w,b)}\sum^m_{i=1}(f(x_i)-y_i)^2\\ &=\argmin_{(w,b)}\sum^m_{i=1}(wx_i+b-y_i)^2\\ &=\argmin_{(w,b)}\sum^m_{i=1}(y_i-wx_i-b)^2 \tag{4} \end{aligned} (w∗,b∗)=(w,b)argmini=1∑m(f(xi)−yi)2=(w,b)argmini=1∑m(wxi+b−yi)2=(w,b)argmini=1∑m(yi−wxi−b)2(4)
上面的这个过程称之为最小二乘的参数估计,为了求上面的w和b,我们需要对这个式子分别对w和b求偏导。
(可以用偏导的方法求最小值是因为式(4)无论对于w或是b而言都是二次函数,二次函数为凸函数)
记 E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E(w,b)=\sum^m_{i=1}(y_i-wx_i-b)^2 E(w,b)=∑i=1m(yi−wxi−b)2,先对b求偏导 (即把其他非b字母看作常数)
∂ E ( w , b ) ∂ b = ∂ ∑ i = 1 m ( y i − w x i − b ) 2 ∂ b = ∂ ∑ i = 1 m ( y i 2 + w 2 x i 2 + b 2 + 2 w x i b − 2 y i w x i − 2 y i b ) ∂ b = ∑ i = 1 m 2 b + 2 w x i − 2 y i = 2 m b − 2 ∑ i = 1 m ( y i − w x i ) = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) (5) \begin{aligned} \frac{\partial E(w,b)}{\partial b}&=\frac{\partial \sum^m_{i=1}(y_i-wx_i-b)^2}{\partial b} \\ &=\frac{\partial \sum^m_{i=1}(y_i^2+w^2x_i^2+b^2+2wx_ib-2y_iwx_i-2y_ib)}{\partial b}\\ &=\sum^m_{i=1} 2b+2wx_i-2y_i\\ &=2mb-2\sum^m_{i=1}(y_i-wx_i)\\ &=2(mb-\sum^m_{i=1}(y_i-wx_i)) \tag{5} \end{aligned} ∂b∂E(w,b)=∂b∂∑i=1m(yi−wxi−b)2=∂b∂∑i=1m(yi2+w2xi2+b2+2wxib−2yiwxi−2yib)=i=1∑m2b+2wxi−2yi=2mb−2i=1∑m(yi−wxi)=2(