机器学习理论《统计学习方法》学习笔记:第六章 逻辑斯谛回归与最大熵模型

  • 6 逻辑斯谛回归与最大熵模型
    • 6.1 逻辑斯谛回归模型
      • 6.1.1 逻辑斯谛分布
      • 6.1.2 二项逻辑斯蒂回归模型
      • 6.1.3 模型参数估计
      • 6.1.4 多项逻辑斯谛回归
    • 6.2 最大熵模型
      • 6.2.1 最大熵原理
      • 6.2.2 最大熵模型的定义
      • 6.2.3 最大熵模型的学习
      • 6.2.4 极大似然估计
    • 6.3 模型学习的最优化算法
      • 6.3.1 改进的迭代尺度法
      • 6.3.2 拟牛顿法

6 逻辑斯谛回归与最大熵模型

逻辑斯谛回归(logistic regression)是统计学习中的经典分类方法。最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(maximum entropy model)。逻辑斯谛回归模型与最大熵模型都属于对数线性模型。

6.1 逻辑斯谛回归模型

6.1.1 逻辑斯谛分布

逻辑斯谛分布:设XXX是连续随机变量,XXX服从逻辑斯谛分布是指XXX具有下列分布函数和密度函数:
F(x)=p(X≤x)=11+e−(x−μ)/γF(x)=p(X\le x)={{1}\over{1+e^{-(x-\mu)/\gamma}}}F(x)=p(X≤x)=1+e−(x−μ)/γ1​
f(x)=F′(x)=e−(x−μ)/γγ(1+e−(x−μ)/γ)2f(x)=F^{'}(x)={{e^{-(x-\mu)/\gamma}}\over{\gamma({1+e^{-(x-\mu)/\gamma}}})^2}f(x)=F′(x)=γ(1+e−(x−μ)/γ)2e−(x−μ)/γ​
μ\muμ为位置参数,γ>0\gamma \gt 0γ>0为形状参数。
逻辑斯谛分布的密度函数f(x)f(x)f(x)和分布函数F(x)F(x)F(x)的图像如下。

分布函数属于逻辑斯谛函数,其图形是一条S形曲线,以点(μ,12)(\mu,{1\over 2})(μ,21​)为中心对称,即满足
F(−x+μ)−12=−F(x+μ)+12F(-x+\mu)-{1\over2}=-F(x+\mu)+{1\over2}F(−x+μ)−21​=−F(x+μ)+21​
曲线在中心附近增长速度快,在两端增长速度慢。形状参数γ\gammaγ的值越小,曲线在中心附近增长得越快。

6.1.2 二项逻辑斯蒂回归模型

二项逻辑斯谛回归模型是一种分类模型,由条件概率分布P(Y∣X)P(Y|X)P(Y∣X)表示,形式为参数化得逻辑斯谛分布。这里,随机变量XXX取值为实数,随机变量YYY取值为1或0.通过监督学习的方法来估计模型参数。

逻辑斯谛回归模型
二项逻辑斯谛回归模型是如下的条件概率分布:二项逻辑斯谛回归模型是如下的条件概率分布:二项逻辑斯谛回归模型是如下的条件概率分布:
P(Y=1∣x)=exp(w⋅x+b)1+exp(w⋅x+b)P(Y=1|x)={{exp(w\cdot x+b)}\over{1+exp(w\cdot x+b)}}P(Y=1∣x)=1+exp(w⋅x+b)exp(w⋅x+b)​
P(Y=0∣x)=11+exp(w⋅x+b)P(Y=0|x)={{1}\over{1+exp(w\cdot x+b)}}P(Y=0∣x)=1+exp(w⋅x+b)1​
x∈Rn是输入,Y∈{0,1}是输出,w∈Rn和b∈R是参数,w称为权值向量,b称为偏置,w⋅x是w和x的内积。x\in R^n是输入,Y\in\{0,1\}是输出,w\in R^n和b\in R是参数,w称为权值向量,b称为偏置,w\cdot x是w和x的内积。x∈Rn是输入,Y∈{0,1}是输出,w∈Rn和b∈R是参数,w称为权值向量,b称为偏置,w⋅x是w和x的内积。

有时为了方便,将权值向量和输入向量加以扩充,仍记作w和x,即w=(w(1),w(2),⋯,w(n),b)T,x=(x(1),x(2),⋯,x(n),1)T.此时,逻辑斯谛回归模型如下:有时为了方便,将权值向量和输入向量加以扩充,仍记作w和x,即w=(w^{(1)},w^{(2)},\cdots,w^{(n)},b)^T,x=(x^{(1)},x^{(2)},\cdots,x^{(n)},1)^T.此时,逻辑斯谛回归模型如下:有时为了方便,将权值向量和输入向量加以扩充,仍记作w和x,即w=(w(1),w(2),⋯,w(n),b)T,x=(x(1),x(2),⋯,x(n),1)T.此时,逻辑斯谛回归模型如下:
P(Y=1∣x)=exp(w⋅x)1+exp(w⋅x)P(Y=1|x)={{exp(w\cdot x)}\over{1+exp(w\cdot x)}}P(Y=1∣x)=1+exp(w⋅x)exp(w⋅x)​
P(Y=0∣x)=11+exp(w⋅x)P(Y=0|x)={{1}\over{1+exp(w\cdot x)}}P(Y=0∣x)=1+exp(w⋅x)1​

现在考察逻辑斯谛回归模型的特点。一个事件的几率(odds)是指该事件发生的概率与该事件不发生的概率的比值。如果事件发生的概率是p,那么该事件的几率是p1−p{p\over{1-p}}1−pp​,该事件的对数几率(log odds)或logit函数是logit(p)=logp1−plogit(p)=log{p\over{1-p}}logit(p)=log1−pp​,对逻辑斯谛回归而言:logP(Y=1∣x)1−P(Y=1∣x)=w⋅xlog{{P(Y=1|x)}\over{1-P(Y=1|x)}}=w\cdot xlog1−P(Y=1∣x)P(Y=1∣x)​=w⋅x

在逻辑斯谛回归模型中,输出Y=1的对数几率是输入x的线性函数。或者说,输出Y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯谛回归模型。

换一个角度看,考虑对输入x进行分类的线性函数w⋅xw\cdot xw⋅x,其值域为实数域,x∈Rn+1,w∈Rn+1x\in R^{n+1},w\in R^{n+1}x∈Rn+1,w∈Rn+1.通过逻辑斯谛回归模型的定义式,可以将线性函数w⋅xw\cdot xw⋅x转换为概率:P(Y=1∣x)=exp(w⋅x)1+exp(w⋅x)P(Y=1|x)={{exp(w\cdot x)}\over{1+exp(w\cdot x)}}P(Y=1∣x)=1+exp(w⋅x)exp(w⋅x)​这时,线性函数的值越接近正无穷,概率值就越接近1;线性函数的值越接近负无穷,概率值就越接近0.

6.1.3 模型参数估计

逻辑斯谛回归模型学习时,对于给定的训练数据集
T={(x1,y1),(x2,y2),⋯,(xn,yn)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)\}T={(x1​,y1​),(x2​,y2​),⋯,(xn​,yn​)}
其中,xi∈Rn,yi∈{0,1}其中,x_i\in R^n,y_i\in\{0,1\}其中,xi​∈Rn,yi​∈{0,1}
可以应用极大似然估计法估计模型参数,从而得到逻辑斯蒂回归模型。

设:P(Y=1∣x)=π(x),P(Y=0∣x)=1−π(x)P(Y=1|x)=\pi(x),P(Y=0|x)=1-\pi(x)P(Y=1∣x)=π(x),P(Y=0∣x)=1−π(x)
似然函数为:∏i=1N[π(xi)]yi[1−π(xi)]1−yi\prod_{i=1}^N[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}i=1∏N​[π(xi​)]yi​[1−π(xi​)]1−yi​
对数似然函数为:
L(w)=∑i=1N[yilogπ(xi)+(1−yi)log(1−π(xi)]L(w)=\sum_{i=1}^N[y_ilog\pi(x_i)+(1-y_i)log(1-\pi(x_i)]L(w)=i=1∑N​[yi​logπ(xi​)+(1−yi​)log(1−π(xi​)]
=∑i=1N[yilogπ(xi)1−π(xi)+log(1−π(xi))]=\sum_{i=1}^N[y_ilog{{\pi(x_i)}\over{1-\pi(x_i)}}+log(1-\pi(x_i))]=i=1∑N​[yi​log1−π(xi​)π(xi​)​+log(1−π(xi​))]
=∑i=1N[yi(w⋅xi)−log(1+exp(w⋅xi))]=\sum_{i=1}^N[y_i(w\cdot x_i)-log(1+exp(w\cdot x_i))]=i=1∑N​[yi​(w⋅xi​)−log(1+exp(w⋅xi​))]
对L(w)求极大值,得到w的估计值。对L(w)求极大值,得到w的估计值。对L(w)求极大值,得到w的估计值。

6.1.4 多项逻辑斯谛回归

二项逻辑斯谛回归模型是二项分类模型,用于二类分类。可以将其推广为多项逻辑斯谛回归模型,用于多分类。假设离散型随机变量Y的取值集合是{1,2,…,K},那么多项逻辑斯谛回归模型是:
P(Y=k∣x)=exp(wk⋅x)1+∑k=1K−1exp(wk⋅x),k=1,2,⋯,K−1P(Y=k|x)={{exp(w_k\cdot x)}\over{1+\sum_{k=1}^{K-1}exp(w_k\cdot x)}},k=1,2,\cdots,K-1P(Y=k∣x)=1+∑k=1K−1​exp(wk​⋅x)exp(wk​⋅x)​,k=1,2,⋯,K−1
P(Y=K∣x)=11+∑k=1K−1exp(wk⋅x)P(Y=K|x)={{1}\over{1+\sum_{k=1}^{K-1}exp(w_k\cdot x)}}P(Y=K∣x)=1+∑k=1K−1​exp(wk​⋅x)1​
这里,x∈Rn+1,wk∈Rn+1这里,x\in R^{n+1},w_k\in R^{n+1}这里,x∈Rn+1,wk​∈Rn+1

6.2 最大熵模型

6.2.1 最大熵原理

最大熵原理是概率模型学习的一个准则。最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,所以,最大熵原理也可以表述为在满足约束条件的模型集合中,选取熵最大的模型。

假设离散随机变量XXX的概率分布是P(X)P(X)P(X),则其熵是
H(P)=−∑xP(x)logP(x)H(P)=-\sum_xP(x)logP(x)H(P)=−x∑​P(x)logP(x)
熵满足下列不等式:
0≤H(P)≤log∣X∣0\le H(P)\le log|X|0≤H(P)≤log∣X∣
式子中,∣X∣|X|∣X∣是XXX的取值个数,当且仅当XXX的分布是均匀分布时,右边的等号成立。这就是说,当XXX服从均匀分布时,熵最大。

直观地,最大熵原理认为要选择的概率模型首先必须满足已有的事实,即约束条件。在没有更多信息的情况下,那些不确定的部分都是等可能的。最大熵原理通过熵的最大化来表示可能性。等可能不容易操作,而熵则是一个可优化的数值指标。

概率模型集合图提供了用最大熵原理进行概率模型选择的几何解释。

概率模型集合ρ\rhoρ可由欧氏空间中的单纯形(simplex)表示,如左图的三角形。一个点代表一个模型,整个单纯形代表整个集合。右图上的一条直线对应于一个约束条件,直线的交集对应于满足所有约束条件的模型集合。一般地,这样的模型仍有无穷多个,学习的目的是在可能的模型集合中选择最优模型,而最大熵原理给出最优模型选择的一个准则。

6.2.2 最大熵模型的定义

最大熵原理是统计学习的一般原理,将它应用到分类得到最大熵模型。
假设分类模型是一个条件概率分布P(Y∣X)P(Y|X)P(Y∣X).这个模型表示的是对于给定的输入X,以条件概率P(Y∣X)P(Y|X)P(Y∣X)输出Y。
给一个训练集T={(x1,y1),(x1,y1),⋯,(x1,y1)}T=\{(x_1,y_1),(x_1,y_1),\cdots,(x_1,y_1)\}T={(x1​,y1​),(x1​,y1​),⋯,(x1​,y1​)}学习的目标是最大熵原理选择最好的分类模型。
用特征函数f(x,y)f(x,y)f(x,y)描述输入x和输出y之间的某一个事实。其定义是
f(x,y)={1,x与y满足某一事实0,否则f(x,y)= \begin{cases} 1,& \text{x与y满足某一事实}\\ 0,&\text{否则} \end{cases} f(x,y)={1,0,​x与y满足某一事实否则​
它是一个二值函数,当x和y满足这个事实时取值为1,否则取值为0.

最大熵模型
假设满足所有约束条件的模型为假设满足所有约束条件的模型为假设满足所有约束条件的模型为
C≡{P∈P∣Ep~(fi),i=1,2,⋯,n}C\equiv\{P\in\Rho|E_{\tilde{p}}(f_i),i=1,2,\cdots,n\}C≡{P∈P∣Ep~​​(fi​),i=1,2,⋯,n}
定义在条件概率分布P(Y∣X)上的条件熵为定义在条件概率分布P(Y|X)上的条件熵为定义在条件概率分布P(Y∣X)上的条件熵为
H(P)=−∑x,yP~(x)P(y∣x)logP(y∣x)H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)logP(y|x)H(P)=−x,y∑​P~(x)P(y∣x)logP(y∣x)
则模型集合C中条件熵H(P)最大的模型称为最大熵模型,式子中的对数为自然对数。则模型集合C中条件熵H(P)最大的模型称为最大熵模型,式子中的对数为自然对数。则模型集合C中条件熵H(P)最大的模型称为最大熵模型,式子中的对数为自然对数。

6.2.3 最大熵模型的学习

最大熵模型的学习过程就是求解最大熵模型的过程。最大熵模型的学习可以形式化为约束最优化问题。

对于给定的训练数据集T={(x1,y1),(x2,y2),⋯,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\}T={(x1​,y1​),(x2​,y2​),⋯,(xN​,yN​)}
以及特征函数fi(x,y),i=1,2,⋯,nf_i(x,y),i=1,2,\cdots,nfi​(x,y),i=1,2,⋯,n,最大熵模型的学习等价于约束最优化问题:
maxP∈CH(P)=−∑x,yP~(x)P(y∣x)logP(y∣x)max_{P\in C}H(P)=-\sum_{x,y}{\tilde{P}}(x)P(y|x)logP(y|x)maxP∈C​H(P)=−x,y∑​P~(x)P(y∣x)logP(y∣x)
s.t.EP(fi)=EP~(fi),i=1,2,⋯,ns.t.\space\space\space E_P(f_i)= E_{\tilde{P}}(f_i),i=1,2,\cdots,ns.t.   EP​(fi​)=EP~​(fi​),i=1,2,⋯,n
∑yP(y∣x)=1\sum_yP(y|x)=1y∑​P(y∣x)=1

6.2.4 极大似然估计

下面证明对偶函数的极大化等价于最大熵模型的极大似然估计。
最大熵模型与逻辑斯谛回归模型有类似的形式,它们又称为对数线性模型。模型学习就是在给定的训练数据下,对模型进行极大似然估计或正则化的极大似然估计。

6.3 模型学习的最优化算法

逻辑斯谛回归模型、最大熵模型学习归结为以似然函数为目标函数的最优化问题,通常通过迭代算法求解。从最优化的观点看,这时的目标函数具有很好的性质。它是光滑的凸函数,因此多种最优化的方法都适用,保证能找到全局最优解。
常用的方法有改进的迭代尺度法、梯度下降法、牛顿法或拟牛顿法。牛顿法或拟牛顿法一般收敛速度更快。

6.3.1 改进的迭代尺度法

改进的迭代尺度法(improved iterative scaling,IIS)是一种最大熵模型学习的最优化算法。
已知最大熵模型为Pw(y∣x)=1Zw(x)(∑i=1nwifi(x,y))P_w(y|x)={{1}\over{Z_w(x)}}(\sum_{i=1}^nw_if_i(x,y))Pw​(y∣x)=Zw​(x)1​(i=1∑n​wi​fi​(x,y))
其中,Zw(x)=∑yexp(∑i=1nwifi(x,y))Z_w(x)=\sum_yexp(\sum_{i=1}^nw_if_i(x,y))Zw​(x)=y∑​exp(i=1∑n​wi​fi​(x,y))
对数似然函数为L(w)=∑x,yP~(x,y)∑i=1nwifi(x,y)−∑xP~(x)logZw(x)L(w)=\sum_{x,y}\tilde{P}(x,y)\sum_{i=1}^nw_if_i(x,y)-\sum_x\tilde{P}(x)logZ_w(x)L(w)=x,y∑​P~(x,y)i=1∑n​wi​fi​(x,y)−x∑​P~(x)logZw​(x)
目标是通过极大似然估计学习模型参数,即求对数似然函数的极大值w^\hat ww^

IIS的想法是:假设最大熵模型当前的参数向量是w=(w1,w2,⋯,wn)Tw=(w_1,w_2,\cdots,w_n)^Tw=(w1​,w2​,⋯,wn​)T,希望找到一个新的参数向量w+δ=(w1+δ1,w2+δ2,⋯,wn+δn)Tw+\delta=(w_1+\delta_1,w_2+\delta_2,\cdots,w_n+\delta_n)^Tw+δ=(w1​+δ1​,w2​+δ2​,⋯,wn​+δn​)T,使得模型的对数似然函数值增大。如果能有这样一种参数向量更新的方法 τ:w→w+δ\tau:w\rightarrow w+\deltaτ:w→w+δ,那么就可以重复使用这一方法,直至找到对数似然函数的最大值。

6.3.2 拟牛顿法

机器学习理论《统计学习方法》学习笔记:第六章 逻辑斯谛回归与最大熵模型相关推荐

  1. logit模型应用实例_第六章 逻辑斯谛回归与最大熵模型(第1节 逻辑斯谛回归模型)...

    逻辑斯谛回归(logistic regression)是经典的分类方法. 最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(maximum entropy model). 逻辑斯谛回归 ...

  2. Unix原理与应用学习笔记----第六章 文件的基本属性2

    Unix原理与应用学习笔记----第六章 文件的基本属性2 改变文件权限命令:chmod 提示:文件或目录创建后,就被赋予一组默认的权限.所有的用户都有读,只有文件的所有者才有写. 相对权限设置 Ch ...

  3. 《Go语言圣经》学习笔记 第六章 方法

    <Go语言圣经>学习笔记 第六章 方法 目录 方法声明 基于指针对象的方法 通过嵌入结构体来扩展类型 方法值和方法表达式 示例:Bit数组 封装 注:学习<Go语言圣经>笔记, ...

  4. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  5. 统计学习方法读书笔记(六)-逻辑斯蒂回归与最大熵模型(迭代尺度法(IIS))

    全部笔记的汇总贴:统计学习方法读书笔记汇总贴 逻辑斯谛回归 (logistic regression )是统计学习中的经典分类方法.最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(m ...

  6. 最大熵阈值python_李航统计学习方法(六)----逻辑斯谛回归与最大熵模型

    本文希望通过<统计学习方法>第六章的学习,由表及里地系统学习最大熵模型.文中使用Python实现了逻辑斯谛回归模型的3种梯度下降最优化算法,并制作了可视化动画.针对最大熵,提供一份简明的G ...

  7. 统计学习方法 学习笔记(1)统计学习方法及监督学习理论

    统计学习方法及监督学习理论 1.1.统计学习 1.1.1.统计学习的特点 1.1.2.统计学习的对象 1.1.3.统计学习的目的 1.1.4.统计学习的方法 1.1.5.统计学习的研究 1.1.6.统 ...

  8. 逻辑斯蒂回归_逻辑斯蒂回归详细解析 | 统计学习方法学习笔记 | 数据分析 | 机器学习...

    本文包括: 重要概念 逻辑斯蒂回归和线性回归 二项逻辑斯谛回归模型 逻辑斯蒂回顾与几率 模型参数估计 多项逻辑斯谛回归 其它有关数据分析,机器学习的文章及社群 1.重要概念: 在正式介绍逻辑斯蒂回归模 ...

  9. 统计学习方法 学习笔记(十):决策树

    这一个学习笔记将要了解决策树,在研一上机器学习这门课的时候,老师在讲到这一节的时候,举了一个例子我现在还能记得:你们坐在这里上课,就像这个决策树一样,在你人生中的每一个重要结点,你都做出了选择,经过多 ...

最新文章

  1. 使用Hexo和Github搭建博客站
  2. 计算机丢失filter.dll,AxCoFilter.dll
  3. 谈谈对搜索技术Elastic SearchLucene的理解
  4. Linux 线程实现机制分析--转
  5. ALV列、行、单元格颜色设置
  6. Citrix VDI攻略之三:DDC安装及配置
  7. Node.js、Npm、MVVM模式、idea的vue集成
  8. ybtoj洛谷P3268:圆的异或并(扫描线)
  9. SQL Server Audit(审核)配置方法--数据库级别的审核
  10. LeetCode141-环形链表(Linked List Cycle)-Rust语言实现
  11. Android日志系统Logcat源代码简要分析
  12. Altium Designer,打开PCB文件,提示:File type not recognised
  13. 支付:在线支付功能的概述
  14. SAP接口编程之 JCo3.0 系列(03) : 表参数
  15. Swiper 参数说明
  16. 嵌入式系统是不是计算机系统,开发必知:嵌入式系统对比计算机系统
  17. excel表格怎么换行?3个方法,你一定不知道第3个
  18. DCN可形变卷积实现1:Python实现
  19. allow_pickle什么意思_in pickle是什么意思
  20. Typora 插入图片设置

热门文章

  1. spring零碎知识点(二)
  2. 解决requests-SSL: CERTIFICATE_VERIFY_FAILED]问题
  3. Codeforces Round #383 _python作死系列
  4. 使用WampServer搭建本地PHP环境,绑定域名,配置伪静态
  5. java实现Hbase中的查询(一)Filter方式
  6. python解释器可以使用什么命令_python解释器用什么写的
  7. python连接oracle进行监控_使用Python脚本zabbix自定义key监控oracle连接状态
  8. stm32g474教程_STM32-开发入门教程
  9. utf8 bom 去掉 java_utf-8-BOM删除bom
  10. 提取点的dn值_干货在线 | DEM数据如何生成高程点