《统计学习方法》——第六章 逻辑斯谛回归与最大熵模型

devtools/2024/11/15 4:25:55/

文章目录

  • 前言
  • 一、逻辑斯谛回归模型
    • 1.1逻辑斯谛分布
    • 1.2二项逻辑斯谛回归模型
    • 1.3 模型的参数估计
    • 1.4 多项逻辑斯谛回归
  • 二、最大熵模型
    • 2.1 最大熵原理
    • 2.2定义
    • 2.3最大熵模型的学习
    • 2.4极大似然估计
    • 2.5模型学习的最优化算法
      • 1.改进的迭代尺度法IIS
  • 总结


前言

本文只要记录一些书中的一些小知识点,挑一些本人认为重要的地方进行总结。

各位道友!道长(zhǎng) 道长(chǎng)


一、逻辑斯谛回归模型

1.1逻辑斯谛分布

设X是连续随机变量,X服从逻辑斯谛分布指X具有下列分布函数和密度函数:
F ( x ) = P ( X ≤ x ) = 1 1 + e − ( x − μ ) / γ F(x)=P(X\le x)=\frac{1}{1+e^{-(x-\mu)/ \gamma}} F(x)=P(Xx)=1+e(xμ)/γ1
f ( x ) = F ′ ( x ) = e − ( x − μ ) / γ γ ( 1 + e − ( x − μ ) / γ ) 2 f(x)=F'(x)=\frac {e^{-(x-\mu)/ \gamma}}{\gamma (1+e^{-(x-\mu)/ \gamma})^2} f(x)=F(x)=γ(1+e(xμ)/γ)2e(xμ)/γ
其中, μ \mu μ为位置参数, γ > 0 \gamma>0 γ>0为形状参数。
1.它的分布函数以 ( μ , 1 2 ) (\mu,\frac12) (μ,21)中心对称。
2.曲线在中心附近增长速度较快,两端速度较慢。
3.形状参数 γ \gamma γ越小,曲线在中心增长的越快。
图形如下:

1.2二项逻辑斯谛回归模型

这是一种分类模型,他是如下的条件概率分布:
P ( Y = 1 ∣ x ) = exp ⁡ ( w ⋅ x + b ) 1 + exp ⁡ ( w ⋅ x + b ) P(Y=1|x)=\frac{\exp(w·x+b)}{1+\exp (w·x+b)} P(Y=1∣x)=1+exp(wx+b)exp(wx+b)
P ( Y = 0 ∣ x ) = 1 1 + exp ⁡ ( w ⋅ x + b ) P(Y=0|x)=\frac{1}{1+\exp (w·x+b)} P(Y=0∣x)=1+exp(wx+b)1

  • Y ∈ { 0 , 1 } Y\in\{0,1\} Y{0,1}是输出, ω ∈ R n \omega\in R^n ωRn b ∈ R b \in R bR是参数
  • ω \omega ω称为权值向量,b为偏置
  • ω ⋅ x \omega·x ωx为内积

对于给定的输入实例x,按照如上式子可以去的相应的条件概率。逻辑斯谛回归比较两个条件概率值的大小,将实例x分到概率值大的那一类。
为了方便,将权值向量和输入向量扩充。 ω = ( ω ( 1 ) , ω ( 2 ) . . . ω ( n ) , b ) T \omega=( \omega^{(1)} , \omega^{(2)} ...\omega^{(n)},b)^T ω=(ω(1),ω(2)...ω(n),b)T, x = ( x ( 1 ) , x ( 2 ) , . . . , x ( n ) , 1 ) T x={(x^{(1)},x^{(2)},...,x^{(n)},1)^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)=\frac{\exp(w·x)}{1+\exp (w·x)} P(Y=1∣x)=1+exp(wx)exp(wx)
P ( Y = 0 ∣ x ) = 1 1 + exp ⁡ ( w ⋅ x ) P(Y=0|x)=\frac{1}{1+\exp (w·x)} P(Y=0∣x)=1+exp(wx)1

现在考察逻辑斯谛回归模型的特点:
一个事件的几率是该事件发生的概率与不发生概率的比值。若发生概率是p,则它的几率是 p 1 − p \frac{p}{1-p} 1pp,那么它的对数几率或logit函数是
l o g i t ( p ) = p 1 − p logit(p)=\frac{p}{1-p} logit(p)=1pp
对于逻辑斯谛回归而言,得(将 P ( Y = 1 ∣ x ) P(Y=1|x) P(Y=1∣x)带入即可得,注意这里的log其实是ln)
log ⁡ P ( Y = 1 ∣ x ) 1 − P ( Y = 1 ∣ x ) = ω ⋅ x \log \frac{P(Y=1|x)}{1-P(Y=1|x)}=\omega \cdot x log1P(Y=1∣x)P(Y=1∣x)=ωx
也就是说,输出Y=1的对数几率是x的线性函数。或者说输出Y=1的对数几率是由输入x的线性函数表示的模型,积逻辑斯蒂回归模型。
换一个角度,考虑对输入x进行分类的的线性函数 ω ⋅ x \omega \cdot x ωx,其值域是实数域。通过逻辑斯蒂定义式 P ( Y = 1 ∣ x ) P(Y=1|x) P(Y=1∣x)可以将线性函数 ω ⋅ x \omega \cdot x ωx转换成概率
( Y = 1 ∣ x ) = exp ⁡ ( w ⋅ x ) 1 + exp ⁡ ( w ⋅ x ) (Y=1|x)=\frac{\exp(w·x)}{1+\exp (w·x)} (Y=1∣x)=1+exp(wx)exp(wx)
这时,

  • 线性函数的值越接近正无穷,概率值越接近1。
  • 线性函数越接近负无穷,概率值越接近0。

即之前的图像所示。

1.3 模型的参数估计

对于给定的训练集合 T = { ( x 1 , y 1 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),...,(x_N,y_N) \} T={(x1,y1),...,(xN,yN)}, y i ∈ { 0 , 1 } y_i \in \{0,1\} yi{0,1}
可以应用极大似然估计法估计模型参数,得到逻辑斯谛模型。

首先设两个概率:
在这里插入图片描述
故他们的似然函数为:
在这里插入图片描述
对数似然函数为
在这里插入图片描述
L ( ω ) L(\omega) L(ω)求极大值,得到 ω \omega ω的估计值。
这样问题就变成了以对数似然函数为目标函数的最优化问题。通常采用梯度下降法和拟牛顿法进行目标函数的最优化。
假设 ω \omega ω的极大似然估计值是 ω ^ \hat\omega ω^,那么逻辑斯蒂回归模型为

P ( Y = 1 ∣ x ) = exp ⁡ ( w ^ ⋅ x ) 1 + exp ⁡ ( w ^ ⋅ x ) P(Y=1|x)=\frac{\exp(\hat w·x)}{1+\exp (\hat w·x)} P(Y=1∣x)=1+exp(w^x)exp(w^x)
P ( Y = 0 ∣ x ) = 1 1 + exp ⁡ ( w ^ ⋅ x ) P(Y=0|x)=\frac{1}{1+\exp (\hat w·x)} P(Y=0∣x)=1+exp(w^x)1

1.4 多项逻辑斯谛回归

P ( Y = k ∣ x ) = exp ⁡ ( w k ⋅ x ) 1 + ∑ k = 1 K − 1 exp ⁡ ( w k ⋅ x ) P(Y=k|x)=\frac{\exp( w_k·x)}{1+\sum_{k=1}^{K-1}\exp ( w_k·x)} P(Y=kx)=1+k=1K1exp(wkx)exp(wkx)
P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K − 1 exp ⁡ ( w ⋅ x ) P(Y=K|x)=\frac{1}{1+\sum_{k=1}^{K-1}\exp ( w·x)} P(Y=Kx)=1+k=1K1exp(wx)1

二、最大熵模型

2.1 最大熵原理

最大熵原理认为,所有可能的概率模型中,熵最大的模型是最好的模型。最大熵原理认为要选择的概率模型首先必须满足已有的事实(约束条件)。没有更多信息的情况下,那些不确定的部分都是“等可能的
在这里插入图片描述

2.2定义

假设满足所有约束条件的模型集合为
C = { P ∈ P 1 ∣ E P ( f i ) = E P ~ ( f i ) } C=\{P \in P1|E_P(f_i)=E_{\tilde{P}}(f_i) \} C={PP1∣EP(fi)=EP~(fi)}

定义在条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)上的条件熵为(如无说明,一般log都是ln)
H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) H(P)=-\sum_{x,y}\tilde{P}(x)P(y|x)\log P(y|x) H(P)=x,yP~(x)P(yx)logP(yx)

2.3最大熵模型的学习

对于给定数据集 T = { ( x 1 , y 1 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),...,(x_N,y_N)\} T={(x1,y1),...,(xN,yN)}和特征函数 f i ( x , y ) , i = 1 , 2... , n f_i(x,y),i=1,2...,n fi(x,y)i=1,2...,n,最大熵模型的学习等价于约束最优化问题
max ⁡ P ∈ C H ( P ) = − ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) \max_{P\in C}H(P)=-\sum_{x,y} \tilde{P}(x) P(y|x) \log P(y|x) PCmaxH(P)=x,yP~(x)P(yx)logP(yx)
s . t . E P ( f i ) − E P ~ ( f i ) = 0 , i = 1 , 2 , . . . , n s.t.\quad E_P(f_i)-E_{\tilde{P}}(f_i)=0 ,\quad i=1,2,...,n s.t.EP(fi)EP~(fi)=0,i=1,2,...,n
∑ y P ( y ∣ x ) = 1 \sum_{y}P(y|x)=1 yP(yx)=1

  • 这里n为特征函数f的个数

按照习惯,将问题改写为等价的最小值问题

max ⁡ P ∈ C − H ( P ) = ∑ x , y P ~ ( x ) P ( y ∣ x ) log ⁡ P ( y ∣ x ) \max_{P\in C} -H(P)=\sum_{x,y} \tilde{P}(x) P(y|x) \log P(y|x) PCmaxH(P)=x,yP~(x)P(yx)logP(yx)
s . t . E P ( f i ) − E P ~ ( f i ) = 0 , i = 1 , 2 , . . . , n s.t.\quad E_P(f_i)-E_{\tilde{P}}(f_i)=0 ,\quad i=1,2,...,n s.t.EP(fi)EP~(fi)=0,i=1,2,...,n
∑ y P ( y ∣ x ) = 1 \sum_{y}P(y|x)=1 yP(yx)=1

这里将约束最优化问题转换为无约束最优化问题的对偶问题。

首先引入拉格朗日乘子 w 0 , . . . , w n w_0,...,w_n w0,...,wn,定义拉格朗日函数
在这里插入图片描述
这里,对于两个期望的值
在这里插入图片描述

原始问题为

在这里插入图片描述
对偶问题是

在这里插入图片描述

由于该拉格朗日函数是关于P的凸函数,所以原始问题与对偶问题的解是等价的。

继续。

首先 min ⁡ p ∈ C L ( P , w ) \min_{p\in C}L(P,w) minpCL(P,w)是关于 w w w的函数(因为P是通过arg最小优化得到,然后w变成了可以移动的变量),记作:
在这里插入图片描述

将P的解记作
在这里插入图片描述

用拉格朗日法对P(y|x)求偏导数
令这个偏导数为0,也就是绿色部分等于0
在这里插入图片描述
得P(y|x)
在这里插入图片描述

然后,
由条件概率的特性

在这里插入图片描述


在这里插入图片描述
因为分母不受y的影响,所以分母都相等,把求和符号放上面
在这里插入图片描述
然后令 Z w Z_w Zw等于
在这里插入图片描述

最终有最大熵模型 P w = P w ( y ∣ x ) P_w=P_w(y|x) Pw=Pw(yx):
在这里插入图片描述

最后对对偶问题极大化,并记它的解为 w ∗ w^* w:在这里插入图片描述

2.4极大似然估计

上面讲的对偶函数的极大化等驾驭最大熵模型的极大似然估计。
证明在书上。

在这里插入图片描述
在这里插入图片描述

2.5模型学习的最优化算法

1.改进的迭代尺度法IIS

想法:
假设最大熵模型的参数向量是 w = ( w 1 , w 2 , . . . , w n ) T w=(w_1,w_2,...,w_n)^T w=(w1,w2,...,wn)T,我们希望找到一个新的参数向量 w + δ w+\delta w+δ使得模型的对数似然估计增大。然后一直重复 w → w + δ w \rightarrow w+\delta ww+δ,直到找到对数似然函数的最大值。
算法如下:
在这里插入图片描述

  • 注意:这里关键是(a)步。
  • 如果 f # = M f^{\#}=M f#=M, δ i = 1 M log ⁡ E P ~ ( f i ) E p ( f i ) \delta_i=\frac{1}{M}\log \frac{E_{\tilde{P}(f_i)}}{E_p(f_i)} δi=M1logEp(fi)EP~(fi)
  • 如果 f # f^{\#} f#不是常数,需要牛顿法计算 δ i \delta_i δi,迭代公式为
    在这里插入图片描述

总结

今天的内容是统计学习方法的第六章节,逻辑斯蒂回归和最大熵模型大多是用于多类分类,是判别模型。机器学习中有一个典型的s型激活函数中就有一个逻辑斯谛函数。


最近在读汪曾祺的《人间草木》,写的东西可太美了。
汪先生在短篇《夏天》中写道:“夏天的早晨很舒服。空气很凉爽,草上还挂着露水,写大字一张,读古文一篇。夏天的早晨真舒服。”
夏天到了,希望大家也要享受这个夏天呀!


http://www.ppmy.cn/devtools/23807.html

相关文章

SqlSessionFactory

在Java中,SqlSessionFactory是MyBatis框架中的一个重要类,它用于创建SqlSession对象。SqlSession是MyBatis框架中用于执行SQL语句的主要对象,它提供了对数据库操作的各种方法。 SqlSessionFactory的主要作用是创建SqlSession对象&#xff0c…

mmdetection3.1.0 bug(已解决)

mmdetection版本3.1.0 想这训练rpn网络,但是训练后val的时候出现了问题,根据Traceback,找到bug。 报错信息:ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dim…

Spring Boot | Spring Security、Spring Security中的 “自定义用户认证“

目录 : Spring Boot 安全管理 :一、Spring Security 介绍二、Spring Security 快速入门2.1 基础环境搭建 :① 创建Spring Boot 项目② 创建 html资源文件③ 编写Web控制层 2.2 开启安全管理效果测试 :④ 添加 spring-boot-starter-security 启动器⑤ 项目启动测试 三…

C#如何动态解析条件表达式字符串并计算结果

在C#中,如果条件表达式是一个字符串,你可以使用C#的编译器服务提供的功能来动态解析该字符串并计算结果。你可以使用CSharpCodeProvider类来编译和执行C#代码字符串。 以下是一个简单的示例,演示了如何将字符串作为条件表达式,然…

美国站群服务器如何解决跨国运营中的网络延迟问题?

美国站群服务器如何解决跨国运营中的网络延迟问题? 在当今全球化的商业环境中,跨国企业面临的一个重要挑战是网络延迟问题。网络延迟不仅影响用户体验,还可能导致交易失败或数据传输错误,对企业造成不利影响。然而,利用美国站群…

监听el-table滚动

mounted() {// 监听el-table滚动window.addEventListener("scroll", this.loadMore, true);}, 后端接口没有分页,一次性返回全部数据,前端监听滚动条加载数据。 this.tableList当前表格展示的数据 this.allTableData接口获取的全部数据 load…

【笔记目录】

目录 001、流程 - - 入金申请 002、流程 - - 出金申请 003、流程 - - 用户注册 004、关系 - - 客服业绩统计报表 005、单词 - - 业务单词

FFmpeg常用结构体、关键函数、ffplay.c分析

一、常用结构体: 1、AVFormatContext结构体: AVFormatContext是一个贯穿全局的数据结构,很多函数都要用它作为参数。FFmpeg代码中对这个数据结构的注释是format I/O context,此结构包含了一个视频流的格式内容。其中存有AVIputFor…