03 线性模型
机器学习三要素
- 模型:根据具体问题,确定假设空间
- 策略:根据评价标准,确定选取最优模型的策略(通常会导出一个损失函数)
- 策略一:最小二乘法
- 策略二:极大似然估计法
- 算法:求解损失函数,确定最优模型
- 闭式解
- 近似最值解
3.1 一元线性回归算法原理
考虑这样一个问题🐶:我们拥有程序员的发际线高度 X = x 1 , x 2 , . . . x i , . . . x m X={x_1,x_2,...x_i,...x_m} X=x1,x2,...xi,...xm,和她们的计算机水平 Y = y 1 , y 2 , . . . , y i , . . . , y m Y={y_1,y_2,...,y_i,...,y_m} Y=y1,y2,...,yi,...,ym的一批数据,现在来研究这两者之间的关系。根据数据散点图,我们可以直观地画出一条直线 f ( x ) = w x + b f(x)=wx+b f(x)=wx+b,令这些数据点 ( x i , y i ) (x_i,y_i) (xi,yi)到直线的距离最短,那么这条直线就是所求的线性回归模型。其中,观察点到直线的距离,可以是垂直距离(绿色线段),也可以是欧式距离 y − f ( x ) y-f(x) y−f(x)(红色线段)。我们把依赖于前者的方法叫作正交回归,依赖于后者的方法叫作线性回归。
上述问题是简单的一元回归问题,从发际线高度这一特征,来预测其计算机水平。当然还有很多其他的案例,比如信用卡额度预测问题,特征是用户的信息(如年龄,性别,年薪……),我们来预测给用户多大的信用额度,这样类似的问题都是回归问题,目标值 y y y 隶属于实数空间 R R R 。
根据输入特征的数目和特征值之间的“序”关系,我们可以对特征取值进行转化。
-
仅通过 发际线高度 预测 计算机水平:
f ( x ) = w 1 x 1 + b f(x)=w_1x_1+b f(x)=w1x1+b
-
+二值离散特征 颜值 (好看:1,不好看:0)
f ( x ) = w 1 x 1 + w 2 x 2 + b f(x)=w_1x_1+w_2x_2+b f(x)=w1x1+w2x2+b
-
+有序的多值离散特征 饭量 (小:1,中:2,大:3)
f ( x ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + b f(x)=w_1x_1+w_2x_2+w_3x_3+b f(x)=w1x1+w2x2+w3x3+b
-
+无序的多值离散特征 肤色 (黄:[1,0,0],黑:[0,1,0],白:[0,0,1])
f ( x ) = w 1 x 1 + w 2 x 2 + w 3 x 3 + w 4 x 4 + w 5 x 5 + w 6 x 6 + b f(x)=w_1x_1+w_2x_2+w_3x_3+w_4x_4+w_5x_5+w_6x_6+b f(x)=w1x1+w2x2+w3x3+w4x4+w5x5+w6x6+b
3.1.1最小二乘法
本书中讨论的是线性回归问题,线性回归假设 f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b。我们用均方误差作为回归问题中的性能度量,得到损失函数 E ( w , b ) E_{(w,b)} E(w,b)。
E ( w , b ) = Σ i = 1 m ( y i − f ( x i ) ) 2 = Σ i = 1 m ( y i − w x i − b ) 2 E_{(w,b)}=\Sigma_{i=1}^m(y_i-f(x_i))^2=\Sigma_{i=1}^m(y_i-wx_i-b)^2 E(w,b)=Σi=1m(yi−f(xi))2=Σi=1m(yi−wxi−b)2
基于均方误差最小化对模型求解的方法称为 最小二乘法(Least Square Method),表达式为 arg min ( w , b ) Σ i = 1 m ( y i − w x i − b ) 2 \arg\min_{(w,b)}\Sigma_{i=1}^m(y_i-wx_i-b)^2 argmin(w,b)Σi=1m(yi−wxi−b)2,这里的 arg min ( w , b ) \arg\min_{(w,b)} argmin(w,b)表示求解使得式子达到最小值的 w w w和 b b b。
3.1.2极大似然估计法
根据一元线性回归公式推导,我们发现使用极大似然估计(Maximum Likelihood Estimation)可以得到同样的损失函数。
目的:估计概率分布的参数值,如正态分布的参数均值和方差 μ , σ 2 \mu,\sigma^2 μ,σ2
方法:对于离散随机变量 X = { x 1 , x 2 , . . . , x n } X=\{x_1,x_2,...,x_n\} X={ x1,x2,...,xn}, x i x_i xi是已知的独立同分布(i.i.d)随机变量,假设概率质量函数 P ( x ; θ ) P(x;\theta) P(x;θ), θ \theta θ为待估计的参数(可以是多个参数),那么 似然函数 为 L ( θ ) = ∏ i = 1 n P ( x i ; θ ) L(\theta)=\prod_{i=1}^nP(x_i;\theta) L(θ)=∏i=1nP(xi;θ)。我们考虑使得观测样本出现概率最大的分布,就是所求的分布。
根据线性回归假设,再考虑随机误差 ϵ ∼ N ( 0 , σ 2 ) \epsilon \sim N(0,\sigma^2) ϵ∼N(0,σ2),我们可以得到线性模型 y = w x + b + ϵ y=wx+b+\epsilon y=wx+b+ϵ。
根据正态分布概率密度函数公式, p ( ϵ ) = 1 2 π σ exp ( − ϵ 2 2 σ 2 ) p(\epsilon)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{\epsilon^2}{2\sigma^2}) p(ϵ)=2πσ1exp(−2σ2ϵ2),
把 ϵ = y − w x − b \epsilon=y-wx-b ϵ=y−wx−b代入上述公式,得到 y y y的概率密度函数: p ( y ) = 1 2 π σ exp ( − ( y − ( w x + b ) ) 2 2 σ 2 ) p(y)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y-(wx+b))^2}{2\sigma^2}) p(y)=2πσ1exp(−2σ2(y−(wx+b))2),
即 y ∼ N ( w x + b , σ 2 ) y \sim N(wx+b,\sigma^2) y∼N(wx+b,σ2)。
计算似然函数 L ( w , b ) = ∏ i = 1 m p ( y i ) = ∏ i = 1 m 1 2 π σ exp ( − ( y i − ( w x i + b ) ) 2 2 σ 2 ) L(w,b)=\prod_{i=1}^mp(y_i)=\prod_{i=1}^m\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(y_i-(wx_i+b))^2}{2\sigma^2}) L(w,b)=∏i=1mp(yi)=∏i=1m2πσ1exp(−2σ2(yi−(wxi+b))2),
为了便于计算,对似然函数取对数,变乘为加, ln L ( w , b ) = Σ i = 1 m ln 1 2 π σ + Σ i = 1 m ln exp ( − ( y i − ( w x i + b ) ) 2 2 σ 2 ) = m ln 1 2 π σ + − 1 2 σ 2 Σ i = 1 m ( y i − ( w x i + b ) ) 2 \ln L(w,b)=\Sigma_{i=1}^m\ln\frac{1}{\sqrt{2\pi}\sigma}+\Sigma_{i=1}^m\ln\exp(-\frac{(y_i-(wx_i+b))^2}{2\sigma^2})=m\ln\frac{1}{\sqrt{2\pi}\sigma}+-\frac{1}{2\sigma^2}\Sigma_{i=1}^m(y_i-(wx_i+b))^2 lnL(w,b)=Σi=1mln2πσ1+Σi=1mlnexp(−2σ2(yi−(wxi+b))2)=mln2πσ1+−2σ21Σi=1m(yi−(wxi+b))2
对 ln L ( w , b ) \ln L(w,b) lnL(w,b)取最大值,可等价于对 Σ i = 1 m ( y i − ( w x