Logistic回归与最大熵模型
文章记录的内容是参加DataWhale的组队学习统计学习方法(第二版)习题解答过程中的笔记与查缺补漏!
参考解答地址:Logistic回归与最大熵模型。
1. 确认Logistic分布属于指数分布族。
解答思路:
- 列出 Logistic 分布的定义
- 列出指数分布族的定义
- 通过指数倾斜,证明Logistic分布的分布函数无法表示成指数分布族的分布函数形式
先看一下什么是 Logistic 分布:
设\(X\)是连续随机变量,\(X\)服从Logistic分布是指\(X\)具有下列分布函数和密度函数:
\[F(x) = P(X \leqslant x) = \frac{1}{1 + \text{e}^{-(x-\mu)/\gamma}} \\ f(x) = F'(x) = \frac{\text{e}^{-(x-\mu)/\gamma}}{\gamma(1+ \text{e}^{-(x-\mu)/\gamma})^2} \]式中,\(\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算法
最大熵模型一直没看太懂,参考这里。
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步