Logistic回归与最大熵模型
文章记录的内容是参加DataWhale的组队学习统计学习方法(第二版)习题解答过程中的笔记与查缺补漏!
参考解答地址:Logistic回归与最大熵模型。
1. 确认Logistic分布属于指数分布族。
解答思路:
- 列出 Logistic 分布的定义
- 列出指数分布族的定义
- 通过指数倾斜,证明Logistic分布的分布函数无法表示成指数分布族的分布函数形式
先看一下什么是 Logistic 分布:
设X是连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数:
F(x)=P(X⩽式中,\mu为位置参数,\gamma > 0为形状参数。
再了解与以下指数分布族(注意不是指数分布!):
对于随机变量x,在给定参数\theta下,其概率分别满足如下形式:
f(x|\theta)=h(x)g(\theta)\exp(\eta(\theta)\cdot T(x))称之为指数分布族。
其中:g(\theta)表示归一化系数,h(x)>0
后续的证明没有看懂,可以参考:
2. 写出 Logistic 回归模型学习的梯度下降算法。
解答思路:
- 写出 Logistic 回归模型
- 根据书中附录A梯度下降法,写出 Logistic 回归模型学习的梯度下降法
- 自编程实现 Logistic 回归模型学习的梯度下降法
回顾一下 Logistic 模型:
P(Y = 1 \mid X) = \frac{ e^{ w \cdot x + b } }{ 1 + e^{ w \cdot x + b }}P(Y = 0 \mid X) = \frac{ 1 }{ 1 + e^{ w \cdot x + b }}
既然要求梯度,那么肯定是要目标函数的。在求解逻辑回归模型的参数时,可以通过极大似然法估计参数,也可以用交叉熵损失函数。当然,这二者是等价的。
从极大似然的角度出发。随机变量 Y 的概率分布为:P(Y \mid X) = (\frac{ e^{ w \cdot x + b } }{ 1 + e^{ w \cdot x + b }}\: )^{I(Y=1)} \cdot \: (\frac{ 1 }{ 1 + e^{ w \cdot x + b }}\: )^{I(Y=0)}。那么似然函数为:
L = \prod_{i=1}^N P(y_i \mid x_i)
取对数后的似然函数为:
\begin{align}
\log L &= \log \prod_{i=1}^N P(y_i \mid x_i) \\
&= \sum_{i=1}^N \log (\frac{ e^{ w \cdot x_i + b } }{ 1 + e^{ w \cdot x_i + b }}\: )^{I(y_i=1)} \cdot \: (\frac{ 1 }{ 1 + e^{ w \cdot x_i + b }}\: )^{I(y_i=0)} \\
&= \sum_{i=1}^N I(y_i = 1) \log \frac{ e^{ w \cdot x_i + b } }{ 1 + e^{ w \cdot x_i + b }} + I(y_i = 0) \log \frac{ 1 }{ 1 + e^{ w \cdot x_i + b }} \\
&= \sum_{i=1}^N y_i \log \frac{ e^{ w \cdot x_i + b } }{ 1 + e^{ w \cdot x_i + b }} + (1 - y_i) \log \frac{ 1 }{ 1 + e^{ w \cdot x_i + b }} \\
&= \sum_{i=1}^N y_i (w \cdot x_i + b) - \log (1 + e^{w \cdot x_i + b})
\end{align}
对 \log L 求偏导后可得:
\begin{cases}\frac{ \partial \log L }{ \partial w } = \sum_{i=1}^N (y_i - \frac{ e^{w \cdot x_i + b} }{ 1 + e^{w \cdot x_i + b} }\: ) x_i, & \\
\frac{ \partial \log L }{ \partial w } = \sum_{i=1}^N y_i - \frac{ e^{w \cdot x_i + b} }{ 1 + e^{w \cdot x_i + b} } & \end{cases}
3. 写出最大熵模型学习的DFP算法。
解答思路:
- 写出最大熵模型
- 根据附录B的DFP算法,写出最大熵模型学习的DFP算法
- 自编程实现最大熵模型学习的DFP算法
最大熵模型一直没看太懂,参考这里。
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 35+程序员的转型之路:经济寒冬中的希望与策略
· JavaScript中如何遍历对象?
· 领域模型应用
· 记一次 ADL 导致的 C++ 代码编译错误
· MySQL查询执行顺序:一张图看懂SQL是如何工作的
· 35+程序员的转型之路:经济寒冬中的希望与策略
· 全球首位 AI 程序员 Devin 诞生了,对于程序员的影响到底多大?
· 使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
· 做这么个免费在线拼图工具,如何赚钱呢
· 我在厂里搞wine的日子