3.1线性回归
引言
在生活中经常会遇到的一些问题,比如犯罪现场留下的鞋码大概估计嫌疑人的身高;又比如通过一个程序员的发际线高度来判断这个程序员的计算机水平;再比如买西瓜的时候,通过某个西瓜色泽、根蒂、敲声等来判断西瓜是好瓜还是坏瓜等等。一个吃过或者见过很多不同类型西瓜的吃瓜人,往往可以根据鉴瓜经验去判断西瓜的好坏。
把上面过程抽象出来就是:
利用一个已经训练好的带参(θ)模型M(有经验的吃瓜人)
根据样本的特征(西瓜色泽、根蒂、敲声等)预测样本的目标值(好瓜/坏瓜)。
那么要怎么成为一个有经验的吃瓜人呢?(也就是如何获得一个能解决目标问题的模型?)
可以通过品鉴不同的西瓜总结好瓜/坏瓜和西瓜特征之间的关系(模型通过观察大量与问题相关的样本,利用某种方式学习预测目标和特征之间的映射关系,或者说利用某种方式确定模型中的参数
θ
θ
θ)。
机器学习三要素
根据上面的逻辑,可以梳理出利用机器学习方法解决实际需求的三个问题,并对应总结三要素:
- 应该选择什么模型去解决问题?
- 应该用什么策略引导该模型利用观测样本去学习模型中的参数?
- 应该用什么算法去求解模型参数?
- 模型:根据具体问题,确定假设空间(选择模型)。
- 策略:根据评价标准,确定选取最优模型的策略(通常会产出一个“损失函数”)。
- 算法:求解损失函数,确定最优模型。
笔记部分
线性回归模型
模型
原理
线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数:
- f ( x ) = w 1 x 1 + w 2 x 2 + … + w d x d + b = w T x + b f(\mathbf x)=w_1x_1+w_2x_2+…+w_dx_d+b=\mathbf w^T\mathbf x+b f(x)=w1x1+w2x2+…+wdxd+b=wTx+b。
其目标就是通过观测样本利用某一种策略(常见的如最小二乘法、最大似然法)学习 w \mathbf w w和 b b b。从而根据未知标签或预测量的新样本对应的特征,带入 w \mathbf w w和 b b b,得预测结果。
对应到机器学习三要素中分别为:
- 模型:线性回归模型, f ( x ) = w T x + b f(\mathbf x)=\mathbf w^T\mathbf x+b f(x)=wTx+b。
- 策略:常见如利用最小二乘法或最大似然法构建的loss function
E
(
w
,
b
)
E_{(w,b)}
E(w,b)求解
w
\mathbf w
w和
b
b
b。
算法:求偏导 ∂ E ( w , b ) ∂ w = 0 \frac{\partial E_{(w,b)}}{\partial w}=0 ∂w∂E(w,b)=0, ∂ E ( w , b ) ∂ b = 0 \frac{\partial E_{(w,b)}}{\partial b}=0 ∂b∂E(w,b)=0,求解 w \mathbf w w和 b b b的最优闭式解。 - 线性模型的优势 :由于 w \mathbf w w直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性(comprehensibility),权重可以代表某类特征的重要性。
策略——构建loss function
我们先考虑输入属性的数目只有1个,即一元线性回归。
最小二乘法
基于最小化均方误差来进行模型求解的方法称为最小二乘法。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。
均方误差的定义:
E ( w , b ) = ∑ i = 1 n ( y i − f ( x i ) ) 2 E_{(w,b)}=\sum\limits_{i=1}^n(y_i-f(x_i))^2 E(w,b)=i=1∑n(yi−f(xi))2
以均方误差作为loss function,argmin表示
E
(
w
,
b
)
E_{(w,b)}
E(w,b)取最小值时参数
(
w
,
b
)
(w,b)
(w,b)的取值(
(
w
,
b
)
(w^,b^)
(w,b))。
策略就是让找到的直线的均方误差最小:
(
w
,
b
)
=
a
r
g
m
i
n
(
w
,
b
)
E
(
w
,
b
)
=
a
r
g
m
i
n
(
w
,
b
)
∑
i
=
1
n
(
y
i
−
w
x
i
−
b
)
2
(w^,b^)=\mathop{arg min}\limits_{(w,b)}E_{(w,b)}=\mathop{arg min}\limits_{(w,b)}\sum\limits_{i=1}^n(y_i-wx_i-b)^2
(w,b)=(w,b)argminE(w,b)=(w,b)argmini=1∑n(yi−wxi−b)2
极大似然估计(主要摘自视频PPT)
使得观测样本出现概率最大的分布就是待求分布。
以一个案例展示利用极大似然法估计概率分布的参数:
在线性回归模型中,可以作进一步假设:
算法——求解参数
求解
w
w
w和
b
b
b其本质上是一个多元函数求最值(点)的问题,更具体点是凸函数求最值的问题。
推导思路:
证明
E
(
w
,
b
)
=
∑
i
=
1
n
(
y
i
−
w
x
i
−
b
)
2
E_{(w,b)}=\sum\limits_{i=1}^n(y_i-wx_i-b)^2
E(w,b)=i=1∑n(yi−wxi−b)2时关于
w
w
w和
b
b
b的凸函数;
用凸函数求最值的思路(求导)求解
w
w
w和
b
b
b。
注意:数分与高数的凹凸函数定义相反。凸函数的开口朝上。
证明 E ( w , b ) E_{(w,b)} E(w,b)为凸函数
定理
梯度
海塞矩阵Hessian matrix
怎么证明矩阵半正定?
半正定矩阵的判定定理之一:
若实对称矩阵的所有顺序主子式均为非负,则该矩阵为半正定矩阵。
顺序主子式
凸函数求最值
- 凸充分性定理
求偏导
∂
E
(
w
,
b
)
∂
w
=
0
\frac{\partial E_{(w,b)}}{\partial w}=0
∂w∂E(w,b)=0,
∂
E
(
w
,
b
)
∂
b
=
0
\frac{\partial E_{(w,b)}}{\partial b}=0
∂b∂E(w,b)=0,求解
w
w
w和
b
b
b的最优闭式解。
多元线性回归
模型
- 多元线性回归考虑了样本有超过1维属性的特征,即某个样本 x i x_i xi的属性向量为 ( x i 1 ; x i 2 ; … ; x i d ) (x_{i1};x_{i2};…;x_{id}) (xi1;xi2;…;xid)。
- 把
w
w
w和
b
b
b吸收入向量形式
w
^
=
(
ω
;
b
)
\hat w=(ω;b)
w^=(ω;b),相应的,把数据集
D
D
D表示为一个
m
×
(
d
+
1
)
m×(d+1)
m×(d+1)大小的矩阵
X
X
X,其中每行对应于一个示例,该行前
d
d
d个元素对应于示例的
d
d
d个属性值,最后一个元素恒置为1,即:
策略——构建loss function
最小二乘法
算法—求解参数
证明
E
w
^
E_{\mathbf {\hat w}}
Ew^为凸函数
矩阵微分证明可参考:
- https://www.cnblogs.com/picassooo/p/12925575.html
凸函数求最值
同样利用求导的方法求解最值。
广义线性模型(generalized linear model)
考虑单调可微函数 g ( ⋅ ) g(·) g(⋅),称为”联系函数”(link funtin),令:
其形式上仍是线性回归,但实质上已是在求取输入空间到输出空间的非线性函数映射。
对数线性回归
当 g ( ⋅ ) = ln ( ⋅ ) g(·)=\ln(·) g(⋅)=ln(⋅)时,为对数线性模型。
假设样本所对应的输出标记是在指数尺度上变化,那就可将输出标记的对数作为线性模型逼近的目标,即:
Tips
线性回归和正交回归的区别
蓝色线段为线性回归计算loss的方式,而橙色线段为正交回归计算loss的方式。
离散、连续特征拼接方法
当有不同类型的特征时,如何拼接/融合不同的特征到模型中:
将离散和连续特征拼接在一起:
后续会有线性回归的代码复现以及其他模型