机器学习笔记4:Logistic 回归模型
- Logistic回归的基本原理
- logistic回归的优化算法
前言:
在分类任务中,我们是通过从输入xxx到输出yyy的映射fff的模型得出来的:
y^=f(x)=argmaxp(y=c∣x,D)\hat{y}=f(x)=arg maxp(y=c|\mathbf{x},D)y^=f(x)=argmaxp(y=c∣x,D)
其中,我们定义yyy为离散值,其取值范围称之为标签空间:y={1,2,..,C}y=\left \{ 1,2,..,C \right \}y={1,2,..,C}; 当C=2C=2C=2为二分类问题,这时候的分布为bernoulli分布,该分布的概率表示:
p(y∣x)=Ber(y∣μ(x))p(y|\mathbf{x})=Ber(y|\mu (\textbf{x}))p(y∣x)=Ber(y∣μ(x))
其中μ(x)=E(y∣x)=p(y=1∣x)\mu(\mathbf{x})=E(y|\mathbf{x})=p(y=1|\mathbf{x})μ(x)=E(y∣x)=p(y=1∣x)
我们复习下Bernoulli分布的概念:
Bernoulli分布又称两点分布或0-1分布。若是Bernoulli试验成功,则Bernoulli随机变量XXX取值为1,否则为0。记试验成功的概率为θ\thetaθ,我们称XXX服从参数为θ\thetaθ的Bernoulli分布,记为X Ber(θ)X~Ber(\theta)X Ber(θ),概率函数(pmf)为:
p(x)=θx(1−θ)(1−x)={θifx=11−θifx=0}p(x)=\theta^{x}(1-\theta)^{(1-x)}=\begin{Bmatrix}
\theta & if x=1 \\
1-\theta& ifx=0
\end{Bmatrix}p(x)=θx(1−θ)(1−x)={θ1−θifx=1ifx=0}
其中 Bernoulli分布的均值:μ=θ\mu=\thetaμ=θ,方差:σ2=θ∗(1−θ)\sigma ^{2}=\theta \ast (1-\theta)σ2=θ∗(1−θ)
1、logistic的基本原理
Logistic回归模型跟线性回归模型一样,也是线性模型,只是其条件概率p(y∣x)p(y|\mathbf{x})p(y∣x)的形式不同:
p(y∣x)=Ber(y∣μ(x))p(y|\textbf{x})=Ber(y|\mu (\textbf{x}))p(y∣x)=Ber(y∣μ(x))
μ(x)=σ(wTx)\mu (\textbf{x})=\sigma (\textbf{w}^{T}\textbf{x})μ(x)=σ(wTx)
其中sigmoid函数(S函数,图如下)定义为
σ(a)=11+exp(−a)\sigma (a)=\frac{1}{1+exp(-a)}σ(a)=1+exp(−a)1

上述函数我们亦可以称为logistic函数或者logit函数,将实数aaa变切换到[0,1]区间。而且有因为该函数取值在[0,1]区间,所以logistic回归又被称为logit回归。
为什么使用logistic函数呢,因为在神经科学中,神经元的对其输入进行加权和:f(x)=wTxf(x)=\textbf{w}^{T}\textbf{x}f(x)=wTx,如果该和大于某个阈值(即:f(x)>τf(x)>\tauf(x)>τ)的话,则神经元发放脉冲。而且,在logistic回归中,我们定义Log Odds Radio:
LOR(x)=logp(1∣x,w)p(0∣x,w)=log[11+exp(−wTx)1+exp(−wTx)exp(−wTx)]LOR(\textbf{x})=\log\frac{p(1|\textbf{x},\textbf{w})}{p(0|\textbf{x},\textbf{w})}=\log[\frac{1}{1+exp(-\textbf{w}^{T}\textbf{x})}\frac{1+exp(-\textbf{w}^{T}\textbf{x})}{exp(-\textbf{w}^{T}\textbf{x})}]LOR(x)=logp(0∣x,w)p(1∣x,w)=log[1+exp(−wTx)1exp(−wTx)1+exp(−wTx)]
=log(exp(wTx)=wTx=\log(exp(\textbf{w}^{T}\textbf{x})=\textbf{w}^{T}\textbf{x}=log(exp(wTx)=wTx
因此,如果LOR(x)=wTx>0LOR(\textbf{x})=\textbf{w}^{T}\textbf{x}>0LOR(x)=wTx>0,则神经元发放脉冲,即p(1∣x,w)>p(0∣x,w)p(1|\textbf{x},\textbf{w})>p(0|\textbf{x},\textbf{w})p(1∣x,w)>p(0∣x,w)
那么在logistic回归中,当:
LOR(x)=wTx>0LOR(\textbf{x})=\textbf{w}^{T}\textbf{x}>0LOR(x)=wTx>0 时,y^=1\hat{y}=1y^=1
LOR(x)=wTx<0LOR(\textbf{x})=\textbf{w}^{T}\textbf{x}<0LOR(x)=wTx<0 时,y^=0\hat{y}=0y^=0
wTx=0\textbf{w}^{T}\textbf{x}=0wTx=0时为决策面。因此a(x)=wTxa(\textbf{x})=\textbf{w}^{T}\textbf{x}a(x)=wTx为分类决策面,故logistic回归是一个线性分类器。
2、logistic回归的优化算法
我们知道logistic回归的概率函数为:p(y∣x)=Ber(y∣μ(x))p(y|\textbf{x})=Ber(y|\mu (\textbf{x}))p(y∣x)=Ber(y∣μ(x)),则令μi=μ(xi)\mu_{i}=\mu(\textbf{x}_{i})μi=μ(xi),则负log似然为:
J(w)=NLL(w)=−∑i=1Nlog[(μi)yi∗(1−μi)(1−yi)]J(\textbf{w})=NLL(\textbf{w})=-\sum_{i=1}^{N}\log[(\mu_{i})^{y_{i}}\ast(1-\mu_{i})^{(1-y_{i})} ]J(w)=NLL(w)=−∑i=1Nlog[(μi)yi∗(1−μi)(1−yi)]
=∑i=1N−[yilog(μi)+(1−yi)log(1−μi)]=\sum_{i=1}^{N}-[y_{i}\log(\mu_{i})+(1-y_{i})\log(1-\mu_{i})]=∑i=1N−[yilog(μi)+(1−yi)log(1−μi)]
极大似然估计 等价于 最小logistic损失。那么J(w)J(\textbf{w})J(w)的优化求解可以使用梯度下降法或者牛顿法。
(1)梯度下降法

求解
其中:
算法与线性回归g(w)=∑i=1N(f(xi)−yi)xig(\textbf{w})=\sum_{i=1}^{N}(f(\textbf{x}_{i})-y_{i})\textbf{x}_{i}g(w)=∑i=1N(f(xi)−yi)xi看起来一样,只是f(x)f(x)f(x)不一样,事实上所有的线性回归模型的梯度都是如此。

(2)牛顿法
牛顿法,其原则是使用函数f(x)f(x)f(x)的泰勒级数的前几项来寻找方程f(x)=0f(x)=0f(x)=0的根。
我们知道一阶泰勒展开式:f(x)=f(xt)+f′(xt)(x−xt)f(x)=f(x^{t})+{f}'(x^{t})(x-x^{t})f(x)=f(xt)+f′(xt)(x−xt)
所以,我们将导数g(w)g(\textbf{w})g(w)在wt\textbf{w}^{t}wt处进行泰勒展开:

去掉高阶无穷小Op(w^−wt)Op(\hat{\textbf{w}}-\textbf{w}^{t})Op(w^−wt),得到:

因此得到的迭代机制:

所以牛顿法又可以称为二阶梯度下降法,移动方向为:d=−(H(wt))−1g(wt)d=-(H(\textbf{w}^{t}))^{-1}g(\textbf{w}^{t})d=−(H(wt))−1g(wt);对比我们一阶梯度下降法,移动方向:d=−g(wt)d=-g(\textbf{w}^{t})d=−g(wt)
损失函数的求解过程,我们还需要了解迭代在加权最小二乘(iterative reweighted least squares,IRLS)原则,何谓IRLS,上述我们以得出:

根据牛顿法的结果: 
所以IRLS:权重矩阵S\textbf{S}S不是常数,而且依赖参数向量w\textbf{w}w,我们必须使用标准方程来迭代计算,每次使用新的权重向量w\textbf{w}w来修正权重矩阵S\textbf{S}S。因此该算法称之为迭代再加权最小二乘,IRLS。
如下便是具体的公式迭代过程:

当然,上述是logistic回归没有正则化的过程,正则化logistic就是在J(w)J(\textbf{w})J(w)加上λ∣∣w∣∣2\lambda ||\textbf{w}||^{2}λ∣∣w∣∣2(l2正则)或者λ∣w∣\lambda |\textbf{w}|λ∣w∣(l1正则),同理求解过程结合线性回归模型的求解和上述不带正则的logistic回归的求解即可。
更多推荐
所有评论(0)