线性模型
Lei_ZM
2019-09-10
1. 一元线性回归
求解偏置b和权重w推导思路
-
由最小二乘法导出损失函数E(w,b)
-
证明损失函数
-
分别对损失函数E(w,b)关于b和w求一阶偏导数
-
令各自的一阶偏导数等于0解出b和w
1.1. 由最小二乘法导出损失函数E(w,b)
E(w,b)=i=1∑m(yi−f(xi))2=i=1∑m(yi−(wxi+b))2=i=1∑m(yi−wxi−b)2(西瓜书式3.4)
1.2. 证明损失函数
1.2.1. 二元函数判断凹凸性:
设f(x,y)在区域D上具有二阶连续偏导数,记A=fxx′′(x,y),B=fxy′′(x,y),C=fyy′′(x,y)。则:
- 在D上恒有A>0,且AC−B2≥0时,f(x,y)在区域D上是凸函数
- 在D上恒有A<0,且AC−B2≥0时,f(x,y)在区域D上是凹函数
1.2.2. 二元凹凸函数求最值:
设f(x,y)是在开区域D内具有连续偏导数的凸(或者凹)函数,(x0,y0)∈D,且fx′(x0,y0)=0,fy′(x0,y0)=0,则f(x0,y0)必为f(x,y)在D内的最小值(或最大值)。
1.2.3. 证明
证明损失函数E(w,b)是关于w和b的凸函数——求A=fxx′′(x,y):
∂w∂E(w,b)=∂w∂[i=1∑m(yi−(wxi+b))2]=i=1∑m∂w∂(yi−wxi−b)2=i=1∑m2⋅(yi−wxi−b)⋅(−xi)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)(西瓜书式3.5)
故有:
∂w2∂2E(w,b)=∂w∂(∂w∂E(w,b))=∂w∂[2(wi=1∑mxi2−i=1∑m(yi−b)xi)]=∂w∂[2wi=1∑mxi2]=2i=1∑mxi2
此式即为A=fxx′′(x,y)。
证明损失函数E(w,b)是关于w和b的凸函数——求B=fxy′′(x,y):
∂w∂b∂2E(w,b)=∂b∂(∂w∂E(w,b))=∂b∂[2(wi=1∑mxi2−i=1∑m(yi−b)xi)]=∂b∂[−2i=1∑m(yi−b)xi]=∂b∂(−2i=1∑myixi+2i=1∑mbxi)=∂b∂(2i=1∑mbxi)=2i=1∑mxi
此式即为B=fxy′′(x,y)。
证明损失函数E(w,b)是关于w和b的凸函数——求C=fyy′′(x,y):
∂b∂E(w,b)=∂b∂[i=1∑m(yi−(wxi+b))2]=i=1∑m∂b∂(yi−wxi−b)2=i=1∑m2⋅(yi−wxi−b)⋅(−1)=2(mb−i=1∑m(yi−wxi))(西瓜书式3.6)
故有:
∂b2∂2E(w,b)=∂b∂(∂b∂E(w,b))=∂b∂[2(mb−i=1∑m(yi−wxi))]=∂b∂(2mb)=2m
此式即为C=fyy′′(x,y)。
综上所述,有:
⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧A=fxx′′(x,y)=2i=1∑mxi2B=fxy′′(x,y)=2i=1∑mxiC=fyy′′(x,y)=2m
所以:
AC−B2=2m⋅2i=1∑mxi2−(2i=1∑mxi)2=4mi=1∑mxi2−4(i=1∑mxi)2=4mi=1∑mxi2−4⋅m⋅m1⋅(i=1∑mxi)2=4mi=1∑mxi2−4m⋅xˉ⋅i=1∑mxi=4m(i=1∑mxi2−i=1∑mxixˉ)=4mi=1∑m(xi2−xixˉ)=4mi=1∑m(xi2−xixˉ−xixˉ+xixˉ)i=1∑mxixˉ=xˉi=1∑mxi=xˉ⋅m⋅m1⋅i=1∑mxi=mxˉ2=i=1∑mxˉ2=4mi=1∑m(xi2−xixˉ−xixˉ+xˉ2)=4mi=1∑m(xi−xˉ)2
故有:
AC−B2=4mi=1∑m(xi−xˉ)2≥0
也即损失函数E(w,b)是关于w和b的凸函数,得证!
1.3. 分别对损失函数E(w,b)关于b和w求一阶偏导数
损失函数E(w,b)关于b求一阶偏导数:
∂b∂E(w,b)=∂b∂[i=1∑m(yi−(wxi+b))2]=i=1∑m∂b∂(yi−wxi−b)2=i=1∑m2⋅(yi−wxi−b)⋅(−1)=2(mb−i=1∑m(yi−wxi))(西瓜书式3.6)
损失函数E(w,b)关于w求一阶偏导数:
∂w∂E(w,b)=∂w∂[i=1∑m(yi−(wxi+b))2]=i=1∑m∂w∂(yi−wxi−b)2=i=1∑m2⋅(yi−wxi−b)⋅(−xi)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)(西瓜书式3.5)
1.4. 令各自的一阶偏导数等于0解出b和w
令损失函数E(w,b)关于b的一阶偏导数等于0解出b:
∂b∂E(w,b)=2(mb−i=1∑m(yi−wxi))=0⇒mb−i=1∑m(yi−wxi)=0⇒b=m1i=1∑m(yi−wxi)=m1i=1∑myi−wm1i=1∑mxi=yˉ−wxˉ(西瓜书式3.8)
令损失函数E(w,b)关于w的一阶偏导数等于0解出w:
∂w∂E(w,b)=2(wi=1∑mxi2−i=1∑m(yi−b)xi)=0⇒wi=1∑mxi2−i=1∑m(yi−b)xi=0⇒wi=1∑mxi2=i=1∑myixi−i=1∑mbxib=yˉ−wxˉ⇒wi=1∑mxi2=i=1∑myixi−i=1∑m(yˉ−wxˉ)xi⇒wi=1∑mxi2=i=1∑myixi−yˉi=1∑mxi+wxˉi=1∑mxi⇒wi=1∑mxi2−wxˉi=1∑mxi=i=1∑myixi−yˉi=1∑mxi⇒w(i=1∑mxi2−xˉi=1∑mxi)=i=1∑myixi−yˉi=1∑mxi⇒w=∑i=1mxi2−xˉ∑i=1mxi∑i=1myixi−yˉ∑i=1mxiyˉi=1∑mxi=m1i=1∑myii=1∑mxi=xˉi=1∑myixˉi=1∑mxi=m1i=1∑mxii=1∑mxi=m1(i=1∑mxi)2=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myixi−xˉ∑i=1myi=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)(西瓜书式3.7)
将w向量化,有:
w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)m1(i=1∑mxi)2=(m1i=1∑mxi)i=1∑mxi=xˉi=1∑mxi=i=1∑mxixˉ=∑i=1m(xi2−xixˉ)∑i=1m(yixi−yixˉ)=∑i=1m(xi2−xixˉ−xixˉ−xixˉ)∑i=1m(yixi−yixˉ−yixˉ−yixˉ)i=1∑myixˉ=xˉi=1∑myi=m1i=1∑mxii=1∑myi=i=1∑mxi⋅m1⋅i=1∑myi=i=1∑mxiyˉi=1∑myixˉ=xˉi=1∑myi=xˉ⋅m⋅m1⋅i=1∑myi=mxˉyˉ=i=1∑mxˉyˉi=1∑mxixˉ=xˉi=1∑mxi=xˉ⋅m⋅m1⋅i=1∑mxi=mxˉ2=i=1∑mxˉ2=∑i=1m(xi2−xixˉ−xixˉ−xˉ2)∑i=1m(yixi−yixˉ−xiyˉ−xˉyˉ)=∑i=1m(xi−xˉ)2∑i=1m(xi−xˉ)(yi−yˉ)x=(x1,x2,⋯,xm)Ty=(y1,y2,⋯,ym)Txd=(x1−xˉ,x2−xˉ,⋯,xm−xˉ)Tyd=(y1−yˉ,y2−yˉ,⋯,ym−yˉ)T=xdTxdxdTyd
2. 二元线性回归
求解权重w^的公式推导推导思路:
-
由最小二乘法导出损失函数Ew^
-
证明损失函数Ew^是关于w^的凸函数
-
对损失函数Ew^关于w^求一阶偏导数
-
令各自的一阶偏导数等于0解出w^∗
2.1. 将w和b组合成w^
f(xi)=wTxi+b=(w1w2…wd)⎝⎜⎜⎜⎛xi1xi2⋮xid⎠⎟⎟⎟⎞+b=w1xi1+w2xi2+…+wdxid+bwd+1=b=w1xi1+w2xi2+…+wdxid+wd+1⋅1=(w1w2…wdwd+1)⎝⎜⎜⎜⎜⎜⎛xi1xi2⋮xid1⎠⎟⎟⎟⎟⎟⎞=w^Tx^i
2.2. 由最小二乘法导出损失函数Ew^
Ew^=i=1∑m(yi−f(x^i))2=∑m(yi−w^Tx^i)2X=⎝⎜⎜⎜⎛x11x21⋮xm1x12x22⋮xm2……⋱…x1dx2d⋮xmd11⋮1⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛x1Tx2T⋮xmT11⋮1⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛x^1Tx^2T⋮x^mT⎠⎟⎟⎟⎞y=(y1,y2,⋯,ym)T=(y1−w^Tx^1)2+(y2−w^Tx^2)2+⋯+(ym−w^Tx^m)2=(y1−w^Tx^1y2−w^Tx^2⋯ym−w^Tx^m)⎝⎜⎜⎜⎛y1−w^Tx^1y2−w^Tx^2⋮ym−w^Tx^m⎠⎟⎟⎟⎞⎝⎜⎜⎜⎛y1−w^Tx^1y2−w^Tx^2⋮ym−w^Tx^m⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛y1y2⋮ym⎠⎟⎟⎟⎞−⎝⎜⎜⎜⎛w^Tx^1w^Tx^2⋮w^Tx^m⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛y1y2⋮ym⎠⎟⎟⎟⎞−⎝⎜⎜⎜⎛x^1Tw^x^2Tw^⋮x^mTw^⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎛y1y2⋮ym⎠⎟⎟⎟⎞−⎝⎜⎜⎜⎛x^1Tx^2T⋮x^mT⎠⎟⎟⎟⎞w^=y−Xw^(y1−w^Tx^1y2−w^Tx^2⋯ym−w^Tx^m)=⎝⎜⎜⎜⎛y1−w^Tx^1y2−w^Tx^2⋮ym−w^Tx^m⎠⎟⎟⎟⎞T=(y−Xw^)T=(y−Xw^)T(y−Xw^)
2.3. 证明损失函数Ew^是关于w^的凸函数
凸集定义:
设集合D∈Rn,如果对任意的x,y∈D与任意的a∈[0,1],有ax+(1−a)y∈D,则称集合D是凸集。
凸集的几何意义:
若两个点属于此集合,则这两点连线上的任意一点均属于此集合。
梯度定义:
设n元函数f(x)对自变量x=(x1,x2,⋯,xn)T的各分量xi的偏导数∂xi∂f(x)(i=1,2,⋯,n)都存在,则称函数f(x)在x处一阶可导,并称向量
∇f(x)=⎝⎜⎜⎜⎜⎛∂x1∂f(x)∂x2∂f(x)⋮∂xn∂f(x)⎠⎟⎟⎟⎟⎞
为函数f(x)在x处的一阶导数或梯度,记为∇f(x)(列向量)。
Hessian(海塞)矩阵定义:设n元函数f(x)对自变量x=(x1,x2,⋯,xn)T的各分量xi的二阶偏导数∂xi∂xj∂2f(x)(i=1,2,⋯,n;j=1,2,⋯,n)都存在,则称函数f(x)在x处二阶可导,并称矩阵
∇2f(x)=⎣⎢⎢⎢⎢⎢⎡∂x12∂2f(x)∂x2∂x1∂2f(x)⋮∂xn∂x1∂2f(x)∂x1∂x2∂2f(x)∂x22∂2f(x)⋮∂xn∂x2∂2f(x)⋯⋯⋱⋯∂x1∂xn∂2f(x)∂x2∂xn∂2f(x)⋮∂xn2∂2f(x)⎦⎥⎥⎥⎥⎥⎤
为函数f(x)在x处的二阶导数或Hessian(海塞)矩阵,记为∇2f(x)。若f(x)在x各变元的所有二阶偏导数都连续,则∂xi∂xj∂2f(x)=∂xj∂xi∂2f(x),此时∇2f(x)为对称矩阵。
多元实值函数凹凸性判定定理:
设D⊂Rn是非空开凸集,f:D⊂Rn→R,且f(x)在D上二阶连续可微,如果f(x)的Hessian矩阵∇2f(x)在D上是正定的,则f(x)是D上的严格凸函数。
凸充分性定理:
若f:Rn→R是凸函数,且f(x)一阶连续可微,则x∗是全局解的充分必要条件是∇f(x∗)=0,其中∇f(x)为f(x)关于x的一阶导数(也称梯度)。
2.4. 对损失函数Ew^关于w^求一阶偏导数
∂w^∂Ew^=∂w^∂[(y−Xw^)T(y−Xw^)]=∂w^∂[(yT−w^TXT)(y−Xw^)]=∂w^∂[yTy−yTXw^−w^TXTy+w^TXTXw^]=∂w^∂[−yTXw^−w^TXTy+w^TXTXw^]=−∂w^∂yTXw^−∂w^∂w^TXTy+∂w^∂w^TXTXw^∂x∂xTa=∂x∂aTx=a∂x∂xTBx=(B+BT)x=−XTy−XTy+(XTX+XTX)w^=2XT(Xw^−y)(西瓜书式3.10)
所以有:
∂w^∂w^T∂2Ew^=∂w^∂(∂w^∂Ew^)=∂w^∂[2XT(Xw^−y)]=∂w^∂(2XTXw^−2XTy)=2XTXw^(Hessian矩阵)
2.5. 令一阶偏导数等于0解出w^∗
∂w^∂Ew^=2XT(Xw^−y)=0⇒2XTXw^−2XTy=0⇒2XTXw^=2XTy⇒w^=(XTX)−1XTy(西瓜书式3.11)
3. 广义线性模型
3.1. 指数族分布
指数族(Exponential family)分布是一类分布的总称,该类分布的分布律(或者概率密度函数)的一般形式如下:
p(y;η)=b(y)exp(ηTT(y)−a(η))
其中,η称为该分布的自然参数;T(y)为充分统计量,视具体的分布而定,通常是等于随机变量y本身;a(η)为配分函数;b(y)为关于随机变量y的函数,常见的伯努利分布和正态分布均属于指数族分布。
证明伯努利分布属于指数族分布:
已知伯努利分布的分布律为:
p(y)=ϕy(1−ϕ)1−y
其中y∈{0,1},ϕ为y=1的概率,即p(y=1)=ϕ,对上式恒等变形可得:
p(y)=ϕy(1−ϕ)1−y=exp(ln(ϕy(1−ϕ)1−y))=exp(lnϕy+ln(1−ϕ)1−y)=exp(ylnϕ+(1−y)ln(1−ϕ))=exp(ylnϕ+ln(1−ϕ)−yln(1−ϕ))=exp(y(lnϕ−ln(1−ϕ))+ln(1−ϕ))=exp(yln(1−ϕϕ)+ln(1−ϕ))
对比指数分布的一般形式p(y;η)=b(y)exp(η(T)T(y)−a(η)),可知:
所以,伯努利分布的指数族分布对应参数为:
b(y)ηT(y)a(η)=1=ln(fracϕ1−ϕ)=y=−ln(1−ϕ)=ln(1+expη)
3.2. 广义线性模型的三条假设
-
在给定x的条件下,假设随机变量y服从某个指数族分布
-
在给定x的条件下,我们的目标是得到一个模型h(x)能预测出T(y)的期望值
-
假设该指数族分布中的自然参数η和x呈线性关系,即η=wTx
4. 对数几率回归
对数几率回归是在对一个二分类问题进行建模,并且假设被建模的随机变量y取值为0或1,因此我们可以很自然地假设y服从伯努利分布。此时,如果我们想要构建一个线性模型来预测在给定x的条件下y的取值的话,可以考虑使用广义线性模型来进行建模。
4.1. 对数几率回归的广义线性模型推导
已知y是服从伯努利分布,而伯努利分布属于指数在发布,所以满足广义线性模型的第一条假设,接着根据广义线性模型的第二条假设我们可以推得模型h(x)的表达式为:
h(x)=E[T(y∣x)]
由于伯努利分布的T(y∣x)=y∣x,所以:
h(x)=E[y∣x]
又因为E[y∣x]=1×p(y=1∣x)+0×p(y=0∣x)=p(y=1∣x)=ϕ,所以:
h(x)=ϕ
在前面证明伯努利分布属于指数族分布时我们知道:
η=ln(1−ϕϕ)eη=1−ϕϕe−η=ϕ1−ϕe−η=ϕ1−11+e−η=ϕ11+e−η1=ϕ
将ϕ=1+e−η1代入h(x)的表达式可得:
h(x)=ϕ=1+e−η1
根据广义模型的第三条假设:η=wTx,h(x)最终可化为:
h(x)=ϕ=1+e−wTx1=p(y=1∣x)(西瓜书式3.23)
此即为对数几率回归模型。
4.2. 极大似然估计法
设总体的概率密度函数(或分布律)为f(y,w1,w2,⋯,wk),y1,y2,…,ym,为从该总体中抽出的样本。因为y1,y2,…,ym相互独立且同分布,于是,它们的联合概率密度函数(或联合概率)为:
L(y1,y2,…,ym;w1,w2,…,wk)=i=1∏mf(yi,w1,w2,…,wk)
其中,w1,w2,…,wm被看作固定但是未知的参数。当我们已经观测到一组样本观测值y1,y2,…,ym时,要去估计未知参数,一种直观的想法就是,哪一组参数使得现在的样本观测值出现的概率最大,哪一组参数可能就是真正的参数,我们就用它作为参数的估计值,这就是所谓的极大似然估计。
极大似然估计的具体方法:
通常记L(y1,y2,…,ym;w1,w2,…,wk)=L(w),并称为其似然函数。于是求w的极大似然估计就归结为L(w)的最大值点。由于对数函数是单调递增函数,所以:
lnL(w)=ln(i=1∏mf(yi,w1,w2,…,wk))=i=1∑mlnf(yi,w1,w2,…,wk)
与L(w)有相同的最大值点,而在许多情况下,求lnL(w)的最大值点比较简单,于是,我们就将求L(w)的最大值点转化为了求lnL(w)的最大值点,通常称lnL(w)为对数似然函数。
对数几率回归的极大似然估计:
已知随机变量y取1和0的概率分别为:
p(y=1∣x)=1+ewTx+bewTx+bp(y=0∣x)=1+ewTx+b1
令β=(w;b),x^=(x;1),则wTx+b可简化为βTx^,于是上式可化简为:
p(y=1∣x)=1+eβTx^eβTx^p(y=0∣x)=1+eβTx^1
记:
p(y=1∣x)=1+eβTx^eβTx^=p1(x^;β)p(y=0∣x)=1+eβTx^1=p0(x^;β)
于是,使用一个小技巧即可得到随机变量y的分布律表达式:
p(y∣x;w,b)=y⋅p1(x^;β)+(1−y)⋅p0(x^;β)(西瓜书式3.26)
或者:
p(y∣x;w,b)=[p1(x^;β)]y[p0(x^;β)]1−y
4.3. 对数几率回归的参数估计
根据对数似然函数的定义可知:
lnL(w)=i=1∑mlnf(yi,w1,w2,…,wk)
由于此时的y为离散型,所以将对数似然函数中的概率密度函数换成分布律即可,既有:
ℓ(w,b):=lnL(w,b)=i=1∑mlnf(yi∣xi;w,b)(西瓜书式3.25)
将p(y∣x;w,b)=y⋅p1(x^;β)+(1−y)⋅p0(x^;β)代入对数似然函数可得:
ℓ(β)=i=1∑mln(yip1(x^i;β)+(1−yi)p0(x^i;β))p1(x^;β)=1+eβTx^eβTx^p0(x^;β)=1+eβTx^1=i=1∑mln(1+eβTx^iyieβTx^i+1+eβTx^i1−yi)=i=1∑mln(1+eβTx^iyieβTx^i+1−yi)=i=1∑m(ln(yieβTx^i+1−yi)−ln(1+eβTx^i))yi∈{0,1}yi=0ℓ(β)=i=1∑m(ln(0⋅eβTx^i+1−0)−ln(1+eβTx^i))=i=1∑m(ln1−ln(1+eβTx^i))=i=1∑m(−ln(1+eβTx^i))yi=1ℓ(β)=i=1∑m(ln(1⋅eβTx^i+1−1)−ln(1+eβTx^i))=i=1∑m(lneriT−ln(1+eβTzi))=i=1∑m(βTx^i−ln(1+eβTx^i))=i=1∑m(yiβTx^i−ln(1+eβTx^i))(西瓜书式3.27)
若p(y∣x;w,b)=[p1(x^;β)]y[p0(x^;β)]1−y,将其代入对数似然函数可得:
ℓ(β)=i=1∑mln([p1(x^i;β)]yi[p0(x^i;β)]1−yi)=i=1∑m[ln([p1(x^i;β)]yi)+ln([p0(x^i;β)]1−yi)]=i=1∑m[yiln(p1(x^i;β))+(1−yi)ln(p0(x^i;β))]=i=1∑m{yi[ln(p1(x^i;β))−ln(p0(x^i;β))]+ln(p0(x^i;β))}=i=1∑m[yilnp0(x^i;β)p1(x^i;β)+ln(p0(x^i;β))]p1(x^;β)=1+eβTx^eβTx^p0(x^;β)=1+eβTx^1=i=1∑m[yiln(eβTx^)+ln(p0(x^i;β))]=i=1∑m(yiβTx^i−ln(1+eβTx^i))