1.1线性回归--线性基函数模型

目录

  • 目录
  • 线性回归
    • 线性基函数模型
      • 模型定义
      • 最大似然与最小二乘
      • 在线学习(Sequential learning)
      • 正则化

线性回归

线性基函数模型

最简单的线性回归模型形式如下:

y(x,w)=w0+w1x1+...wDxD(1) (1) y ( x , w ) = w 0 + w 1 x 1 + . . . w D x D

其中 x=(x1,...xD)T x = ( x 1 , . . . x D ) T , y y 是输入变量 xi x i 的线性组合,这种模型具有很大局限性。

模型定义

由于上述模型表示能力的局限性,我们可以将其扩展为输入变量通过有限个非线性函数转换后的线性组合,如下式所示:

y(x,w)=w0+j=1M1wjϕj(x)(2) (2) y ( x , w ) = w 0 + ∑ j = 1 M − 1 w j ϕ j ( x )

这里 ϕ(x) ϕ ( x ) 就是 基函数
我们可以添加一个基函数 ϕ0 ϕ 0 ϕ0=1 ϕ 0 = 1 ,则上式可以改写为:
y(x,w)=j=0M1wjϕj(x)=wTϕ(x)(3) (3) y ( x , w ) = ∑ j = 0 M − 1 w j ϕ j ( x ) = w T ϕ ( x )

这里 w=(w0,...wM1)T w = ( w 0 , . . . w M − 1 ) T ϕ=(ϕ0,...,ϕM1)T ϕ = ( ϕ 0 , . . . , ϕ M − 1 ) T
基函数 ϕj(x) ϕ j ( x ) 可以有多种不同类型,常见的基函数有

  • 多项式基函数:
    ϕj(x)=xj(4) (4) ϕ j ( x ) = x j
  • 高斯基函数
    ϕj(x)=exp{(xuj)22s2}(5) (5) ϕ j ( x ) = e x p { − ( x − u j ) 2 2 s 2 }

    这里 u u 控制位置, s s 控制跨度
  • sigmoidal基函数
    ϕj(x)=σ(xujs)(6) (6) ϕ j ( x ) = σ ( x − u j s )

    σ(a)=11+exp(a)(7) (7) σ ( a ) = 1 1 + e x p ( − a )

最大似然与最小二乘

最大似然估计可以求解式(3)所示的线性模型,下面我们来定义一下问题,假设目标值 t t 是由函数 y(x,w) y ( x , w ) 加上一个白噪声构成,形式如下:

t=y(x,w)+ϵ(8) (8) t = y ( x , w ) + ϵ

这里 ϵ ϵ 是均值为0,精度(precision)为 β β 的白噪声,可以改写为如下形式:
p(t|x,w,β)=N(t|y(x,w),β1)(9) (9) p ( t | x , w , β ) = N ( t | y ( x , w ) , β − 1 )

当存在一组训练集 X={x1,...xN} X = { x 1 , . . . x N } 以及和他们相对应的目标值 t={t1,...tN} t = { t 1 , . . . t N } ,这组数据的似然函数为以下形式:
p(t|X,w,β)=N(tn|wTϕ(xn),β1)(10) (10) p ( t | X , w , β ) = N ( t n | w T ϕ ( x n ) , β − 1 )

需要求上式最大值,等式两边取对数,单调性不变得到:
lnp(t|w,β)=N2lnβN2ln(2π)β2n=1N{tnwTϕ(xn)}2(11) (11) l n p ( t | w , β ) = N 2 l n β − N 2 l n ( 2 π ) − β 2 ∑ n = 1 N { t n − w T ϕ ( x n ) } 2

上式有 β,w β , w 两个变量,由于是突函数,导数为0时取得极值,分别求导得到:
wML=(ΦTΦ)1ΦTt(12) (12) w M L = ( Φ T Φ ) − 1 Φ T t

这里 Φ Φ 是n*m设计矩阵(design matrix),n为训练数据的数量,m为基函数的数量。
βML β M L 可以按照以下方式求得
1βML=1Nn=1N{tnwTMLϕ(xn)}2(13) (13) 1 β M L = 1 N ∑ n = 1 N { t n − w M L T ϕ ( x n ) } 2

在线学习(Sequential learning)

最大似然估计是一种批处理技术,模型在训练得时候需要获取全部数据,当数据量比较大得时候,训练需要消耗很多计算资源,现在学习技术可以客服上述问题,随机梯度(stochastic gradient descent)下降是一种在线学习技术,随机梯度下降工作方式如下,当每获得一个观测值,算法向误差梯度的反方向更新参数:

wτ+1=wτ+η(tnwTϕn)ϕn(14) (14) w τ + 1 = w τ + η ( t n − w T ϕ n ) ϕ n

这里 τ τ 是迭代次数, η η 是学习率,学习率一般取一个相对小的值,如果取太大 w w 值左右摇摆,不收敛,如果取太小,收敛速度会比较慢。

正则化

最大似然估计容易遇到过度拟合(over fitting)的问题,正则化(regularization)可以帮助克服过度拟合,在误差函数中加入正则项:

ED(w)+λEW(w)(15) (15) E D ( w ) + λ E W ( w )

当正则项定义为
EW(w)=12wTw(16) (16) E W ( w ) = 1 2 w T w

这时误差函数变为
EW(w)=12n=1N{tnwTϕ(xn)}2+λ2wTw(17) (17) E W ( w ) = 1 2 ∑ n = 1 N { t n − w T ϕ ( x n ) } 2 + λ 2 w T w

这时候我们得到
w=(λI+ΦTΦ)1ΦTt(18) (18) w = ( λ I + Φ T Φ ) − 1 Φ T t

误差函数还有更通用的形式:
EW(w)=12n=1N{tnwTϕ(xn)}2+λ2j=1M|wj|q(19) (19) E W ( w ) = 1 2 ∑ n = 1 N { t n − w T ϕ ( x n ) } 2 + λ 2 ∑ j = 1 M | w j | q

q还被称为范数当 q=1 q = 1 时叫 L1 L 1 范数(Lasso), q=2 q = 2 时,叫 L2 L 2 范数(Ridge),Ridge会倾向于选择较多较小的 wn w n 值,Lasso会趋向于产生少量的特征,而其他的特征都是0,所以 L1 L 1 可以被用于特征选择。

你可能感兴趣的:(机器学习)