通用形式

简介

​ 广义线性模型(Generalized Linear Model),将线性模型通过联结函数(link function)联结线性预测值(linear prediction)(即线性模型的直接输出)和期望输出值(expected value)[1].[2];通过寻找因变量(dependent variables)所属的指数族分布(exponential family distribution),建立合适联结函数,将线性模型的输出映射到期望输出,损失函数通常是指数族分布的似然函数(likelihood function)[1].[2].[3];即采用极大似然函数求取损失函数。
LM:  y^=WX+ϵGLM:  y^=g(WX+ϵ) \begin{aligned} LM:\; &{\hat{y}}=W^\top X+\epsilon\\ GLM:\; &{\hat{y}}=g(W^\top X+\epsilon)\\ \end{aligned}
​ 可采用一对一(One Versus One)、一对多(One Versus Rest)、归一化指数函数(softmax function)等策略转变为多分类问题[1].[4]。
softmax:  Si=expzij=1nexpzj softmax:\;S_i=\frac{\exp{z_i}}{\sum_{j=1}^n\exp{z_j}}
​ 广义线性模型由于使用了联结函数,所以对数据分布有假设(指数族分布);所以可进行一定的预处理使数据分布更符合指数族分布,有助于提高模型得分(model score)[4]。

​ 对比极大似然估计(Maximum Likelihood Estimate, MLE)本质,可知广义线性模型和极大似然估计都有假设,且进行逐点估计(point-wise estimate),因此[10];
posterior=likelihoodprior/evidenceMLE:P(αy)=P(yα)P(α)/P(y)=L(αy)P(α)/P(y)L(αy)=maxαilnp(yiα) \begin{aligned} {\color{gray}{posterior}} &= {\color{red}{likelihood}} * {\color{blue}{prior}} / {\color{green}{evidence}}\\ MLE: {\color{gray}{P(\alpha∣y)}} &= {\color{red}{P(y∣\alpha)}} * {\color{blue}{P(\alpha)}} / {\color{green}{P(y)}}\\ &={\color{red}{L(\alpha∣y)}} * {\color{blue}{P(\alpha)}} / {\color{green}{P(y)}}\\ {\color{red}{L(\alpha∣y)}} &=\max_\alpha{\sum_i\ln{p(y_i|\alpha)}} \end{aligned}


重要概念

属性:参数模型(parametric models)、监督学习(supervised learning)、判别模型(discriminant model)、支持核方法(kernel methods)、面试常考。

求解:使用指数族分布的似然损失函数计算经验风险(empirical risk),可加入正则化项(normalization term)计算结构风险(structural risk):凸函数证明后1.进行凸优化(convex optimization),2.使用梯度下降方法,包括随机梯度下降(Stochastic Gradient Descent)、牛顿法(Newton method)。

扩展:广义线性模型无法解决非线性模型问题,可引入核方法;线性回归正则化的三种形式;对数几率回归扩展到多元回归(softmax regression)。


指数族分布

指数族分布是指概率密度函数(probability density function)满足下面分布公式[2].[3].[5]:
f(y;θ,ϕ)=A(ϕ)exp[yθB(θ)ϕC(y,ϕ)]Xβ=g(μ)define:θ:;ϕ:A:;B:;C:g: \begin{aligned} &f(y;\theta,\phi)=A(\phi)\exp[\frac{y\cdot\theta-B(\theta)}{\phi}−C(y,\phi)] \\ &X\beta=g(\mu)\\ define: &\theta:自然实参;\phi:离散实参\\ &A:单参实函;B:单参实函;C:双参实函\\ &g:联结函数\\ \end{aligned}
举例:高斯分布(xN(μ,σ2)x\sim N(\mu,\sigma^2)),也是线性回归中ϵ\epsilon的假设分布(假设数据沿真实回归线左右呈高斯分布),故可知:设分布方差σ\sigma对线性回归参数不干扰[2].[3].[5]
:fg(x;μ,σ2)=1σ2πexp((xμ)22σ2)f(y;θ,ϕ)=A(ϕ)exp[yθB(θ)ϕC(y,ϕ)]fg(x;μ,σ2)=1σ2πexp[2xμ12μ2σ2x2σ2]g(μ)=Xβ=μ \begin{aligned} 概率密度函数: f_{g}(x;\mu,\sigma^2) &=\frac{1}{\sigma\sqrt{2\pi}}\exp(-\frac{(x-\mu)^2}{2\sigma^2})\\ 指数族分布: f(y;{\color{blue}{\theta}},{\color{orange}{\phi}}) &={\color{red}{A(\phi)}} \exp[\frac{y\cdot {\color{blue}{\theta}}-{\color{green}{B(\theta)}}} {{\color{orange}{\phi}}}−{\color{brown}{C(y,\phi)}}]\\ f_{g}(x;{\color{blue}{\mu}},{\color{orange}{\sigma^2}}) &={\color{red}{\frac{1}{\sigma\sqrt{2\pi}}}} \exp[{\color{gray}{-2}}\frac{x\cdot {\color{blue}{\mu}}-{\color{green}{\frac{1}{2}\mu^2}}} {{\color{orange}{\sigma^2}}}-{\color{brown}{x^2\sigma^2}}] \\ 联结函数:g(\mu) &=X\beta=\mu \\ \end{aligned}\\


线性回归

线性回归作为最简单的广义线性模型,本身拥有以下假设:为什么线性回归中 要将自变量设定为非随机变量?伍德里奇的导论好像是设为非随机变量的

  • y^,ϵ{\hat{y}},\epsilon 服从指数族分布(高斯分布)
  • W,XW,X 有非随机性(确定性变量,分布确定)
  • g(μ)=μg(\mu)=\mu是联结函数(恒等式)
浅析广义线性模型(举例线性回归和对数几率回归)

简介

用回归分析拟合确定多个变量间的线性定量关系的方法,由于线性回归求解较为简单,使用解析解即可(面试可能需要最小二乘法(Least Squares Method)推导):
LM:  y^=WX+ϵLinR:  y^=g(WX+ϵ)    =WX+ϵclosedform:  W^=(XX)1XY \begin{aligned} LM:\; &{\hat{y}}=W^\top X+\epsilon\\ LinR:\; &{\hat{y}}=g(W^\top X+\epsilon)\\ &\;\;=W^\top X+\epsilon\\ closed\,form:\;&\hat{W}=\left( X^\top X \right)^{\color{red}{-1}}X^\top Y\\ \end{aligned}
​ 根据以上解析解(closed form/analytical solution)公式,可知(暂不推导),解析解有两大约束:1.XXX^\top X可逆,2.XX自身不应存在线性相关(此时等于共线性);解决办法可有:1.伪逆矩阵代替不可逆矩阵(numpy.linalg.pinv()),2.去除线性相关时,线性不相关可以粗略视为:columns\leqrows

​ 线性回归存在2个假设:1.线性假设,即自变量和因变量成线性关系,但自变量自身互不成线性关系(共线性,collinearity);2.分布假设,即自变量围绕最优回归拟合线两侧成高斯分布,也就是ϵ\epsilon应尽可能符合高斯分布假设;[7]

​ 因此实际应用中,可以使用3种方法提高拟合准确度:

  • 样本、标签转换为线性关系: 指数关系的对数转换;

  • 删除共线性:去除(remove),组合(combine),新算法(如PCA和PLSR) [7];

  • 样本规范化:使用变换是输入输出都近似高斯(boxcox)[8] 并减小值大小(距离相关)影响;
    boxcox:y^={(y+c)λ1λλ0log(y+c)λ=0 boxcox:{\hat{y}}=\begin{cases}\frac{(y+c)^\lambda-1}{\lambda} & \lambda\neq 0\\\log(y+c) & \lambda=0\end{cases}


正则化

线性回归属于“古老模型”,当时正则化较少见,因此每个正则化模型都会赋予新名字(但本质是不变的),此处介绍一下三种正则化算法的名称和损失函数:

  • Ridge(add L2 Norm)

  • LASSO(add L1 Norm)

  • Elastic Net (add L1+L2 Norm)
    Lridge(β^)=i=1n(yixiβ^)2+λj=1mβj^2=yXβ^2+λβ^2β^ridge=(XX+λI)1(XY)LLASSO=i=1n(yixiβ^)2+λj=1mβj^=yXβ^2+λβ^{coordinate  descentLeast  Angle  RegressionLenet(β^)=i=1n(yixiβ^)22n+λ(1α2j=1mβj^2+αj=1mβj^),  {ridgeα=0LASSOα=1 \begin{aligned}&L_{ridge}(\hat{\beta})=\sum^n_{i=1}(y_i-x'_i\hat{\beta})^2\,+\,\lambda\sum^m_{j=1}{\hat{\beta_j}^2}=\left\|y-X\hat{\beta}\right\|^2+\lambda\left\|\hat{\beta}\right\|^2\rightarrow\hat\beta_{ridge}=(X'X+\lambda I)^{-1}(X'Y) \\&L_{LASSO}=\sum^n_{i=1}(y_i-x'_i\hat{\beta})^2\,+\,\lambda\sum^m_{j=1}{\left|\hat{\beta_j}\right|}=\left\|y-X\hat{\beta}\right\|^2+\lambda\left|\hat{\beta}\right|\rightarrow\begin{cases} coordinate\;descent\\ Least\;Angle\;Regression\\\end{cases}\\&L_{enet}(\hat\beta)=\frac{\sum^n_{i=1}{(y_i-x'_i\hat{\beta})^2}}{2n}+\lambda\left(\frac{1-\alpha}{2}\sum^m_{j=1}{\hat{\beta_j}^2}\,+\,\alpha\sum^m_{j=1}{\left|\hat{\beta_j}\right|}\right),\;\begin{cases}ridge & \alpha=0\\LASSO & \alpha=1\end{cases}\end{aligned}


基扩展和核函数

由于需要扩展非线性线性回归,这里把上面不进行特殊处理的线性回归,称为简单线性回归

简单线性回归需要自变量和因变量成线性关系,约束了可解决问题范畴,针对此局限,可以采用基扩展(basis expansion)和核函数(kernel function),将特征$X$转为更高次特征(基扩展)和映射到高维空间(核函数),而引入非线性特征

(此处可阅读:首尔国际大学-addm_ppt-Basis expansions and Kernel methods

基扩展(basis expansion)
Y=Wϕ(x)+ϵnomal:ϕ(x)=[x]polyno:ϕ(x)=[1,x,x2] \begin{aligned} &\qquad&Y=W^\top\phi(x)+\epsilon\\ &nomal:&\phi(x)={\color{gray}{[x]}}\\ &polyno:&\phi(x)={\color{red}{[1,x,x^2]}}\\ \end{aligned}

  • 引入特征交叉(feature crossing),将特征转为更高次特征(非线性特征),直观理解就是提高假设空间的导数,获取更复杂模型,因此也容易过拟合,而正则化仍起作用(较小,因为导数公式常数项并未改变)[4]
  • 生成多项式回归(polynomial regression),即用通过高次特征,生成多项式表达式(导数更高阶),而生成复杂模型[9]

核函数(kernel function)
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ primal:{\hat{y…
(此处使用带正则罚项的原问题形式)

​ 由上式(RBF kernel)可看出,在此时(linear regression),核函数和基扩展有相似之处:公式(Wϕ(x)+ϵW^\top\phi(x)+\epsilon)和效果(升维),但本质(线性变换和核函数条件)不一样


对数几率回归

对数几率回归(Logistics Regression,又称逻辑回归)本身拥有以下假设:

  • y^,ϵ{\hat{y}},\epsilon 服从指数族分布(二项分布,伯努利分布)

  • W,XW,X 有非随机性(确定性变量,分布确定)

  • g(μ)=11+exp(μ)g(\mu)=\frac{1}{1+\exp(-\mu)}是联结函数(Sigmoid函数)

    浅析广义线性模型(举例线性回归和对数几率回归)

简介

​ 用回归分析拟合确定多个变量间的线性定量关系后,通过联结函数(link function)讲输出映射成二项分布:
LM:  y^=WX+ϵLR:  y^=g(WX+ϵ)    =11+exp([WX+ϵ]) \begin{aligned} LM:\; &{\hat{y}}=W^\top X+\epsilon\\ LR:\; &{\hat{y}}=g(W^\top X+\epsilon)\\ &\;\;=\frac{1}{1+exp(-[W^\top X+\epsilon])}\\ \end{aligned}

​ (目前没有对数几率回归的解析解)根据通用形式-简介中最大似然估计的本质,可以简略推导损失函数(ϵ\epsilon 假设服从高斯分布(均值为0),书写可以忽略 )
LR:  y^=g(WX+ϵ)=11+exp([WX+ϵ])MLE:  L(αy)=maxαilnp(yiα)=maxαilnyilnp+(1yi)ln1ploss:  J(Wy^)=L(W,by^)=minW,b[iy^ilnp+(1y^i)ln1p] \begin{aligned} LR:\;{\hat{y}} &=g(W^\top X+\epsilon)\\ &=\frac{1}{1+exp(-[W^\top X+\epsilon])}\\ MLE:\;L(\alpha|y) &=\max_\alpha{\sum_i\ln{p(y_i|\alpha)}}\\ &=\max_\alpha{\sum_i\ln{y^i\ln{p}+(1-y^i)\ln{1-p}}}\\ loss:\;J(W|{\hat{y}}) &=L(W,b|{\hat{y}})\\ &=-\min_{W,b}[{\sum_i{{\hat{y}}^i\ln{p}+ (1-{\hat{y}}^i)\ln{1-p}}}]\\ \end{aligned}
​ 对数几率回归中的“几率”(odds),应用于可解释性,即解释模型参数和特征的关系,特征每变化一,新旧“对数几率”(log odds or logits)也对应变化[4]:
odds:  p1p=y^1y^=1+exp(fw,b(x))1+exp(fw,b(x))=exp(fw,b(x))=exp(WX)logodds:logp1p=WXX=logoddsWXa+1Xa=XbXa=logoddsbWb/logoddsaWalogaddsratio:logoddsblogoddsa=WbWaXbXadefine:  y^=11+exp(fw,b(x))  1y^=11+exp(fw,b(x)) \begin{aligned} odds:\;\frac{p}{1-p} &=\frac{\hat{y}}{1-\hat{y}}\\ &=\frac{1+exp(-f_{w,b}(x))}{1+exp(f_{w,b}(x))}\\ &=\exp(f_{w,b}(x))=\exp(W^\top X)\\ \log odds: &\log\frac{p}{1-p}=W^\top X \rightarrow X=\frac{\log odds}{W}\\ &\frac{X_a+1}{X_a}=\frac{X_b}{X_a}= \frac{\log odds_b}{W_b}/\frac{\log odds_a}{W_a}\\ \log adds\,ratio: &\frac{\log odds_b}{\log odds_a}= {\color{red}{\frac{W_b}{W_a}}}\cdot\frac{X_b}{X_a}\\ {\color{gray}{define:\;{\hat{y}}}} &{\color{gray}{=\frac{1}{1+exp(f_{w,b}(x))}}}\\ {\color{gray}{\;1-{\hat{y}}}} &{\color{gray}{=\frac{1}{1+exp(-f_{w,b}(x))}}}\\ \end{aligned}


多分类策略[4]

  • softmax logistic regression: multi-calss, single label of sample
  • multi-label logistic regression: multi-calss, multi-label of sample (Ck2>k,  when  k>3C_k^2>k,\;when\;k>3
    • OVR(one versus rest):k元分类问题,训练kk个模型,每个模型二分类为某个类和非该类,预测时选择maxiwiTx  max_i\,w_i^{\rm{T}}x\;xx的类别
    • OVO(one versus one):k元分类问题,训练Ck2C_k^2个模型,每个模型二分类为k元中二元组合,预测时选择计票次数最多的iixx的类别

softmax:  J(w)=i=1nk=1K1{y(i)=k}logexp(w(k)Tx(i))j=1Kexp(w(j)Tx(i)) \begin{aligned} softmax:\;&J(w)={\sum_{i=1}^n}{\sum_{k=1}^K}{1\{y^{(i)}=k\}{log\,\frac{exp(w^{(k)\rm{T}}x^{(i)})}{\sum_{j=1}^{K}exp(w^{(j)\rm{T}}x^{(i)})}}} \end{aligned} \\


凸函数求解

​ 由上面可知损失函数,可证明了该损失函数是凸函数(后续会推出凸优化博客,届时会详细推导~),即通过梯度下降等方法可寻找全局最优解(global optimal solution):常用的求解方法如下(此处不做详细推导):

  • 梯度下降(SGD)
    argmin[f(x+δ)f(x)]argminf(x)δ=argminθf(x)δcosθWjnew=Wj+Wjcosπ=1:=WjηJ(W,b)Wj \begin{aligned} 梯度:\arg\min [f(x+\delta)-f(x)] &\approx \arg\min f\,'(x)\cdot \delta\\ &=\arg\min_\theta \| f\,'(x)\|\cdot \|\delta\|\cdot cos\theta \\ 梯度下降:W_j^{new} &= W_j + \nabla W_j\\ {\color{gray}{\cos\pi=-1}}:\qquad &=W_j-\eta\frac{\partial J(W,b)}{\partial W_j}\\ \end{aligned}

  • 牛顿法(泰勒展开二阶式子)[4]
    ϕ(x)=f(xk)+f(xk)(xxk)+122f(xk)(xxk)(xxk)Tϕ(x)=0+f(xk)+[2f(x)(xxk)1]=0x=xkf(xk)2f(xk)if  2f(xk)  not  Singular=xkHhessian1GgradientGgradient<ϵ \begin{aligned} 牛顿法:\phi (x) &=f(x_k)+\nabla f(x_k)(x-x_k)\\ &\qquad\qquad +\frac{1}{2}\cdot \nabla^2f(x_k)(x-x_k)(x-x_k)^{\rm{T}}\\ \nabla \phi(x) &=0+\nabla f(x_k)+[\nabla^2f(x)(x-x_k)\cdot 1]=0\\ 牛顿法下降:x &=x_k-\frac{\nabla f(x_k)}{\nabla^2f(x_k)}\qquad {\color{gray}{if\;\nabla^2f(x_k)\;not\;Singular}}\\ &=x_k-H_{hessian}^{-1}\cdot G_{gradient}\qquad {\color{gray}{G_{gradient}<\epsilon}}\\ \end{aligned}

  • 拟牛顿法(BFGS)[11](直接逼近海森矩阵BkHhessianB_{k}\approx H_{hessian}
    ΔBk=ykykykskBkskskBkskBksk \begin{aligned} \Delta B_k=\frac{y_ky_k^\top}{y_k^\top s_k}- \frac{B_ks_ks_k^\top B_k}{s_k^\top B_ks_k}\\ \end{aligned}


一些问题

为什么(多元)线性回归损失函数使用最小二乘法而不是似然函数?线性回归的损失函数为什么用最小二乘不用似然函数

最小二乘法以估计值与观测值的平方和作为损失函数,在误差服从正态分布的前提下,与极大似然估计的思想在本质上是相同。我们通常认为ε服从正态分布,通过对极大似然公式推导,就是最小二乘

为什么要使用sigmoid函数作为假设?LR为什么使用sigmoid函数

因为线性回归模型的预测值为实数,而样本的类标记为(0,1),我们需要将分类任务的真实标记yy与线性回归模型的预测值y^\hat{y}联系起来。如果选择单位阶跃函数的话,它是不连续的不可微;如果选择sigmoid函数,它是连续的,而且能够将z转化为一个接近0或1的值,同时其导数特性也方便进行极大似然估计;sigmoid是伯努利分布的指数族形式

为什么LR损失函数使用交叉熵不用均方差 ?为什么LR模型损失函数使用交叉熵不用均方差

均方误差通用公式为(yy^)22\frac{(y-\hat{y})^2}{2},其导数为(yy^)σ(x;θ)x{(y-\hat{y})}\sigma\,'(x\,;\theta)x,由于σ\sigma函数导数值在两端都极小,不利于参数θ,  b\theta,\;b利用梯度下降更新; 而交叉熵通用公式为极大似然推导,其导数为[yσ(x;θ)]x-[y-\sigma(x\,;\theta)]x,导数值没有值极小点,同时该导数也反映出,预测差距大 时参数更新更快

LR通用流程是什么?逻辑回归求解

数据预处理(连续型离散化,异常值,缺失值,标准化)\rightarrow选择求解算法(多种梯度下降、牛顿法)\rightarrow选择训练停止机制(STOP_ITER、STOP_COST、STOP_GRAD)

LR优缺点是什么?4.逻辑回归优缺点

判别模型(对数据少场景也可用),形式简单但可解释性强,可获得预测概率,改进后可进行多分类任务; 但准确率不高,无法筛选特征


# 参考链接

序号 平台 作者链接 内容链接 使用范畴
[1] 西瓜书 周志华 第三章 提供GLM框架,并介绍了算法实现方法和实现时注意问题
[2] 统计学简便手册 PRACTICALLY CHEATING STATISTICS HANDBOOK Generalized Linear Model (GLZ): An Overview (英文)关注GLM简介,并介绍了英文名词和部分指数族分布的公式
[3] 统计之都 张缔香 从线性模型到广义线性模型(1)——模型假设篇-简介部分 (有后续)精简地介绍了GLM的模型假设问题
[4] 贪心科技 自然语言处理训练营 review-线性回归、review-逻辑回归 目前(2020年)国内最好的NLP训练营
[5] 简书 secondplayer 机器学习笔记3: 广义线性模型 (有后续)详细解释了GLM,并推导高斯分布和伯努利分布作为例子
[6] 百度百科 尚轶伦(同济大学也) 线性回归 线性回归知识框架
[7] 个人网站 Jim Forst Multicollinearity in Regression Analysis: P D and S 参考了共线性的定义和在回归中的检测方法、解决方法
[8] ncss unkonwn Box-Cox Transformation for Sim Lin Reg 参考了boxcox公式以及在简单线性回归怎么使用(how to run)
[9] TDS Animesh Agarwal Polynomial Regression (1.7k likes)参考了多项式回归的应用,复习了偏差方差均衡
[10] TDS Jonathan Balaban A Gentle Introduction to M L E (2.4k likes)参考了最大似然估计的本质和线性回归中的应用
[11] S 皮果提 牛顿法与拟牛顿法学习笔记(四)BFGS (260点赞)基本采纳了BFGS的定义和方程组
[12] purdue unknown BFGS method (ppt)公式推导较详尽

相关文章: