【机器学习模型-线性模型】线性回归

一元线性回归(Linear Regression)

线性模型:输入属性的线性和(特征的加权和)
f ( x i ) = w x i + b f(x_i)=wx_{i} + b f(xi)=wxi+b
其中 w w w为特征权重, b b b为截距项。
向量形式为:
f ( x i ) = w T x i , w = ( w ; b ) f(x_i)=\pmb{w}^Tx_{i} , \pmb{w}=(w;b) f(xi)=wwwTxi,www=(w;b)

为了使模型预测 f ( x i ) f(x_i) f(xi)和实际值 y i y_i yi尽可能的接近,即误差尽可能小(假设误差服从标准高斯分布),则可以得到:

代价函数(Cost Function)
J ( w , b ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 J(w,b) =\frac{1}{m}\sum_{i=1}^{m}{(f(x_i) - y_i)}^2 J(w,b)=m1i=1m(f(xi)yi)2
上式为均方误差(MSE,Mean Squared Error),一个m个样本。

求解目标
m i n w , , b J ( w , b ) min_{w,,b}J(w,b) minw,,bJ(w,b)

求解 w , b w,b w,b,得到最优 w ∗ , b ∗ w^*,b^* w,b的过程称为最小二乘参数估计(parameter estimate),可以使用正规方程或者梯度下降法

多元线性回归一般形式

f ( X ) = w ^ T X f(\pmb{X})=\hat{\pmb{w}}^{T}\pmb{X} f(XXX)=www^TXXX
一共m个样本,每个样本有d个属性

其中 w ^ = ( w ; b ) \hat{\pmb{w}} = (\pmb{w};b) www^=(www;b),实际值 y = ( y 1 ; y 2 ; . . . ; y m ) \pmb{y}= (y_1;y_2;...;y_m) yyy=(y1;y2;...;ym)

X = ( x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ) = ( x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ) \pmb{X}= \begin{pmatrix} x_{11}&x_{12}&\cdots&x_{1d}&1\\ x_{21}&x_{22}&\cdots&x_{2d}&1\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ x_{m1}&x_{m2}&\cdots&x_{md}&1\\ \end{pmatrix} = \begin{pmatrix} \pmb{x}^T_{1}&1\\ \pmb{x}^T_{2}&1\\ \vdots&\vdots\\ \pmb{x}^T_{m}&1\\ \end{pmatrix} XXX=x11x21xm1x12x22xm2x1dx2dxmd111=xxx1Txxx2TxxxmT111

线性回归的参数估计

正规方程

  • 一元情况推导
    J ( w , b ) J(w, b) J(w,b) w 、 b w、b wb求导得到:
    ∂ J ( w , b ) ∂ w = 2 ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) \frac{\partial{J(w, b)}}{\partial w} =2(w\sum_{i=1}^{m}x_i^2 - \sum_{i=1}^{m}(y_i - b)x_i) wJ(w,b)=2(wi=1mxi2i=1m(yib)xi)

∂ J ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) \frac{\partial{J(w, b)}}{\partial b} = 2(mb - \sum_{i=1}^{m}(y_i - wx_i)) bJ(w,b)=2(mbi=1m(yiwxi))

∂ J ( w , b ) ∂ w 、 ∂ J ( w , b ) ∂ b \frac{\partial{J(w, b)}}{\partial w}、\frac{\partial{J(w, b)}}{\partial b} wJ(w,b)bJ(w,b)等于0,则可以得到最优的 w ∗ = ∑ i = 1 m y i ( x i − x ˉ ) ∑ i = 1 m x i 2 − 1 m ( ∑ i = 1 m x i ) 2 w^*= \frac{\sum_{i=1}^{m}y_i(x_i - \bar{x})}{\sum_{i=1}^{m}x_i^2 - \frac{1}{m}(\sum_{i=1}^{m}x_i)^2} w=i=1mxi2m1(i=1mxi)2i=1myi(xixˉ)
b ∗ = 1 m ∑ i = 1 m ( y i − w x i ) b^*=\frac{1}{m}\sum_{i=1}^{m}(y_i - wx_i) b=m1i=1m(yiwxi)
其中 x ˉ = 1 m ∑ i = 1 m x i \bar{x} = \frac{1}{m}\sum_{i=1}^{m}x_i xˉ=m1i=1mxi x x x的均值。

  • 多元情况推导
    J ( w ^ ) = ( y − X w ^ ) T ( y − X w ^ ) J(\hat{\pmb{w}}) = (\pmb{y} - \pmb{X}\hat{\pmb{w}})^T(\pmb{y} - \pmb{X}\hat{\pmb{w}}) J(www^)=(yyyXXXwww^)T(yyyXXXwww^)
    ∂ J ( w ^ ) ∂ w ^ = 2 X T ( X w ^ − y ) \frac{\partial{J(\hat{\pmb{w}})}}{\partial \hat{\pmb{w}}} = 2\pmb{X}^T(\pmb{X}\hat{\pmb{w}} - \pmb{y}) www^J(www^)=2XXXT(XXXwww^yyy)
    求解上式设计到矩阵的逆运算,当 X T X \pmb{X}^T\pmb{X} XXXTXXX为满秩矩阵或者正定矩阵时可以解得:
    w ^ ∗ = ( X T X ) − 1 X T y \hat{\pmb{w}}^* = (\pmb{X}^T\pmb{X})^{-1}\pmb{X}^T\pmb{y} www^=(XXXTXXX)1XXXTyyy

然而现实任务中很难满足满秩的要求(比如:特征数量大于样本数量时)此时有多个最优解,最终选择哪一个有学习算法的归纳偏好决定,常见的做法是引入正则化 -> LASSO。

梯度下降

对参数沿下降程度最大的方向(梯度方向)进行迭代,需要设定学习率 α \alpha α,即每次下降的步长。
更新的公式为:
w = w − α ∂ J ( w , b ) ∂ w w = w - \alpha\frac{\partial J(w, b)}{\partial w} w=wαwJ(w,b)
b = b − α ∂ J ( w , b ) ∂ b b = b - \alpha\frac{\partial J(w, b)}{\partial b} b=bαbJ(w,b)
两者同步更新,直到收敛。

学习率 α \alpha α的选择:

  • 每次迭代后J的值应该减小,并且在特定次数后算法趋于收敛
  • 若过小,会导致收敛速度很慢
  • 若过大,会导致结果震荡,最终不收敛
  • 尝试方法:选定一个范围,然后以同样的倍数(0.001、0.003、0.01、0.03…)增大学习率,绘出J的变化图像,选择合适的 α \alpha α中最小的值

两者对比

正规方程梯度下降
不需要选择 α \alpha α选择合适的 α \alpha α
只需一次计算得到结果需要多次迭代
需要计算 ( X T X ) − 1 (\pmb{X}^T\pmb{X})^-1 (XXXTXXX)1,当m很大时运算代价大(时间复杂度 O ( m 3 ) O(m^3) O(m3),一般m<10000可接受)当特征数n很大时也适用
只适用于线性模型适用于各种模型

可解释性

求解的特征系数即为特征的重要性,易于理解和解释。

优点和缺点

优点:

  • 模型透明易于使用和理解
  • 使用广泛,有丰富的前人经验
  • 才能从数学上,在满足所有假设的情况下可以保证找到最优的权重
  • 是许多模型的基础,通过引入映射函数可以获得更强大的模型

缺点:

  • 只能表征线性关系,非线性和特征交互需要人工引入 -> 扩展线性模型
  • 预测性能不高

稀疏线性模型(LASSO)

LASSO代表“最小绝对收缩和选择算子”,当应用于线性回归模型时,执行特征选择和所选特征权重的正则化。
LASSO优化的目标函数为:
J ( w ) = 1 m ∑ i = 1 m ( w T x i − y i ) 2 + λ ∣ ∣ w ∣ ∣ 1 J(\pmb{w}) =\frac{1}{m}\sum_{i=1}^{m}{(\pmb{w}^Tx_{i} - y_i)}^2 + \lambda||\pmb{w}||_1 J(www)=m1i=1m(wwwTxiyi)2+λwww1

  • 在线性回归的基础上添加了权重的L1范数,对大权重进行惩罚,使得很多权重为0,而其他的权重也会缩小;
  • 参数 λ \lambda λ控制正则化强度,通常通过交叉验证进行调整, λ \lambda λ越大,为0的权重越多

广义线性模型(GLM)

线性回归假设输出的结果服从高斯分布,但是实际情况有时很难满足,通过拓展线性模型解决这一问题,可以对所有类型的结果进行建模。
GLM的基本思想:通过一个连接函数 g ( ⋅ ) g(·) g()将特征加权和与假定分布的期望连接,连接函数可以根据预测结果自由选择:
g ( E Y ( y ∣ x ) ) = w x i + b g(E_{Y}(y|\pmb{x}))=wx_{i} + b g(EY(yxxx))=wxi+b
其中g为连接函数,可以自由选择;右式为加权和;E为指数族的概率分布;

逻辑回归是一种假定伯努利分布和Logit函数作为连接函数的GLM

广义加性模型(GAM)

线性回归只能拟合线性关系,针对非线性关系可使用GAM进行建模:
g ( E Y ( y ∣ x ) ) = f ( x i ) + b g(E_{Y}(y|\pmb{x}))=f(x_{i}) + b g(EY(yxxx))=f(xi)+b
GAM认为关系必须是一个简单的加权和,但可以使用特征的任意函数进行建模。

如何学习一个非线性函数呢?-> 使用样条函数(样条函数可以通过组合来近似任意函数)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值