通用形式
简介
广义线性模型(Generalized Linear Model),将线性模型通过联结函数(link function)联结线性预测值(linear prediction)(即线性模型的直接输出)和期望输出值(expected value)[1].[2];通过寻找因变量(dependent variables)所属的指数族分布(exponential family distribution),建立合适联结函数,将线性模型的输出映射到期望输出,损失函数通常是指数族分布的似然函数(likelihood function)[1].[2].[3];即采用极大似然函数求取损失函数。
LM:GLM:y^=W⊤X+ϵy^=g(W⊤X+ϵ)
可采用一对一(One Versus One)、一对多(One Versus Rest)、归一化指数函数(softmax function)等策略转变为多分类问题[1].[4]。
softmax:Si=∑j=1nexpzjexpzi
广义线性模型由于使用了联结函数,所以对数据分布有假设(指数族分布);所以可进行一定的预处理使数据分布更符合指数族分布,有助于提高模型得分(model score)[4]。
对比极大似然估计(Maximum Likelihood Estimate, MLE)本质,可知广义线性模型和极大似然估计都有假设,且进行逐点估计(point-wise estimate),因此[10];
posteriorMLE:P(α∣y)L(α∣y)=likelihood∗prior/evidence=P(y∣α)∗P(α)/P(y)=L(α∣y)∗P(α)/P(y)=αmaxi∑lnp(yi∣α)
重要概念
属性:参数模型(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]:
define:f(y;θ,ϕ)=A(ϕ)exp[ϕy⋅θ−B(θ)−C(y,ϕ)]Xβ=g(μ)θ:自然实参;ϕ:离散实参A:单参实函;B:单参实函;C:双参实函g:联结函数
举例:高斯分布(x∼N(μ,σ2)),也是线性回归中ϵ的假设分布(假设数据沿真实回归线左右呈高斯分布),故可知:设分布方差σ对线性回归参数不干扰[2].[3].[5]
概率密度函数:fg(x;μ,σ2)指数族分布:f(y;θ,ϕ)fg(x;μ,σ2)联结函数:g(μ)=σ2π1exp(−2σ2(x−μ)2)=A(ϕ)exp[ϕy⋅θ−B(θ)−C(y,ϕ)]=σ2π1exp[−2σ2x⋅μ−21μ2−x2σ2]=Xβ=μ
线性回归
线性回归作为最简单的广义线性模型,本身拥有以下假设:为什么线性回归中 要将自变量设定为非随机变量?伍德里奇的导论好像是设为非随机变量的,
-
y^,ϵ 服从指数族分布(高斯分布)
-
W,X 有非随机性(确定性变量,分布确定)
-
g(μ)=μ是联结函数(恒等式)

简介
用回归分析拟合确定多个变量间的线性定量关系的方法,由于线性回归求解较为简单,使用解析解即可(面试可能需要最小二乘法(Least Squares Method)推导):
LM:LinR:closedform:y^=W⊤X+ϵy^=g(W⊤X+ϵ)=W⊤X+ϵW^=(X⊤X)−1X⊤Y
根据以上解析解(closed form/analytical solution)公式,可知(暂不推导),解析解有两大约束:1.X⊤X可逆,2.X自身不应存在线性相关(此时等于共线性);解决办法可有:1.伪逆矩阵代替不可逆矩阵(numpy.linalg.pinv()),2.去除线性相关时,线性不相关可以粗略视为:columns≤rows;
线性回归存在2个假设:1.线性假设,即自变量和因变量成线性关系,但自变量自身互不成线性关系(共线性,collinearity);2.分布假设,即自变量围绕最优回归拟合线两侧成高斯分布,也就是ϵ应尽可能符合高斯分布假设;[7]
因此实际应用中,可以使用3种方法提高拟合准确度:
-
样本、标签转换为线性关系: 指数关系的对数转换;
-
删除共线性:去除(remove),组合(combine),新算法(如PCA和PLSR) [7];
-
样本规范化:使用变换是输入输出都近似高斯(boxcox)[8] 并减小值大小(距离相关)影响;
boxcox:y^={λ(y+c)λ−1log(y+c)λ=0λ=0
正则化
线性回归属于“古老模型”,当时正则化较少见,因此每个正则化模型都会赋予新名字(但本质是不变的),此处介绍一下三种正则化算法的名称和损失函数:
-
Ridge(add L2 Norm)
-
LASSO(add L1 Norm)
-
Elastic Net (add L1+L2 Norm)
Lridge(β^)=i=1∑n(yi−xi′β^)2+λj=1∑mβj^2=∥∥∥y−Xβ^∥∥∥2+λ∥∥∥β^∥∥∥2→β^ridge=(X′X+λI)−1(X′Y)LLASSO=i=1∑n(yi−xi′β^)2+λj=1∑m∣∣∣βj^∣∣∣=∥∥∥y−Xβ^∥∥∥2+λ∣∣∣β^∣∣∣→{coordinatedescentLeastAngleRegressionLenet(β^)=2n∑i=1n(yi−xi′β^)2+λ(21−αj=1∑mβj^2+αj=1∑m∣∣∣βj^∣∣∣),{ridgeLASSOα=0α=1
基扩展和核函数
由于需要扩展非线性线性回归,这里把上面不进行特殊处理的线性回归,称为简单线性回归
简单线性回归需要自变量和因变量成线性关系,约束了可解决问题范畴,针对此局限,可以采用基扩展(basis expansion)和核函数(kernel function),将特征$X$转为更高次特征(基扩展)和映射到高维空间(核函数),而引入非线性特征
(此处可阅读:首尔国际大学-addm_ppt-Basis expansions and Kernel methods)
基扩展(basis expansion)
nomal:polyno:Y=W⊤ϕ(x)+ϵϕ(x)=[x]ϕ(x)=[1,x,x2]
- 引入特征交叉(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)+ϵ)和效果(升维),但本质(线性变换和核函数条件)不一样
对数几率回归
对数几率回归(Logistics Regression,又称逻辑回归)本身拥有以下假设:
-
y^,ϵ 服从指数族分布(二项分布,伯努利分布)
-
W,X 有非随机性(确定性变量,分布确定)
-
g(μ)=1+exp(−μ)1是联结函数(Sigmoid函数)
简介
用回归分析拟合确定多个变量间的线性定量关系后,通过联结函数(link function)讲输出映射成二项分布:
LM:LR:y^=W⊤X+ϵy^=g(W⊤X+ϵ)=1+exp(−[W⊤X+ϵ])1
(目前没有对数几率回归的解析解)根据通用形式-简介中最大似然估计的本质,可以简略推导损失函数(ϵ 假设服从高斯分布(均值为0),书写可以忽略 )
LR:y^MLE:L(α∣y)loss:J(W∣y^)=g(W⊤X+ϵ)=1+exp(−[W⊤X+ϵ])1=αmaxi∑lnp(yi∣α)=αmaxi∑lnyilnp+(1−yi)ln1−p=L(W,b∣y^)=−W,bmin[i∑y^ilnp+(1−y^i)ln1−p]
对数几率回归中的“几率”(odds),应用于可解释性,即解释模型参数和特征的关系,特征每变化一,新旧“对数几率”(log odds or logits)也对应变化[4]:
odds:1−pplogodds:logaddsratio:define:y^1−y^=1−y^y^=1+exp(fw,b(x))1+exp(−fw,b(x))=exp(fw,b(x))=exp(W⊤X)log1−pp=W⊤X→X=WlogoddsXaXa+1=XaXb=Wblogoddsb/Walogoddsalogoddsalogoddsb=WaWb⋅XaXb=1+exp(fw,b(x))1=1+exp(−fw,b(x))1
多分类策略[4]
- softmax logistic regression: multi-calss, single label of sample
- multi-label logistic regression: multi-calss, multi-label of sample (Ck2>k,whenk>3)
- OVR(one versus rest):k元分类问题,训练k个模型,每个模型二分类为某个类和非该类,预测时选择maxiwiTx为x的类别
- OVO(one versus one):k元分类问题,训练Ck2个模型,每个模型二分类为k元中二元组合,预测时选择计票次数最多的i为x的类别
softmax:J(w)=i=1∑nk=1∑K1{y(i)=k}log∑j=1Kexp(w(j)Tx(i))exp(w(k)Tx(i))
凸函数求解
由上面可知损失函数,可证明了该损失函数是凸函数(后续会推出凸优化博客,届时会详细推导~),即通过梯度下降等方法可寻找全局最优解(global optimal solution):常用的求解方法如下(此处不做详细推导):
-
梯度下降(SGD)
梯度:argmin[f(x+δ)−f(x)]梯度下降:Wjnewcosπ=−1:≈argminf′(x)⋅δ=argθmin∥f′(x)∥⋅∥δ∥⋅cosθ=Wj+∇Wj=Wj−η∂Wj∂J(W,b)
-
牛顿法(泰勒展开二阶式子)[4]
牛顿法:ϕ(x)∇ϕ(x)牛顿法下降:x=f(xk)+∇f(xk)(x−xk)+21⋅∇2f(xk)(x−xk)(x−xk)T=0+∇f(xk)+[∇2f(x)(x−xk)⋅1]=0=xk−∇2f(xk)∇f(xk)if∇2f(xk)notSingular=xk−Hhessian−1⋅GgradientGgradient<ϵ
-
拟牛顿法(BFGS)[11](直接逼近海森矩阵Bk≈Hhessian)
ΔBk=yk⊤skykyk⊤−sk⊤BkskBksksk⊤Bk
一些问题
为什么(多元)线性回归损失函数使用最小二乘法而不是似然函数?线性回归的损失函数为什么用最小二乘不用似然函数
最小二乘法以估计值与观测值的平方和作为损失函数,在误差服从正态分布的前提下,与极大似然估计的思想在本质上是相同。我们通常认为ε服从正态分布,通过对极大似然公式推导,就是最小二乘
为什么要使用sigmoid函数作为假设?LR为什么使用sigmoid函数
因为线性回归模型的预测值为实数,而样本的类标记为(0,1),我们需要将分类任务的真实标记y与线性回归模型的预测值y^联系起来。如果选择单位阶跃函数的话,它是不连续的不可微;如果选择sigmoid函数,它是连续的,而且能够将z转化为一个接近0或1的值,同时其导数特性也方便进行极大似然估计;sigmoid是伯努利分布的指数族形式
为什么LR损失函数使用交叉熵不用均方差 ?为什么LR模型损失函数使用交叉熵不用均方差
均方误差通用公式为2(y−y^)2,其导数为(y−y^)σ′(x;θ)x,由于σ函数导数值在两端都极小,不利于参数θ,b利用梯度下降更新; 而交叉熵通用公式为极大似然推导,其导数为−[y−σ(x;θ)]x,导数值没有值极小点,同时该导数也反映出,预测差距大 时参数更新更快
LR通用流程是什么?逻辑回归求解
数据预处理(连续型离散化,异常值,缺失值,标准化)→选择求解算法(多种梯度下降、牛顿法)→选择训练停止机制(STOP_ITER、STOP_COST、STOP_GRAD)
LR优缺点是什么?4.逻辑回归优缺点
判别模型(对数据少场景也可用),形式简单但可解释性强,可获得预测概率,改进后可进行多分类任务; 但准确率不高,无法筛选特征
# 参考链接