👾 Day 4: EM 算法

1️⃣【技术债与演进动机】The Technical Debt & Evolution
监督学习需要完整标注数据,但现实中很多数据缺失或隐变量未知。EM 算法通过迭代估计隐变量和参数。
2️⃣【直觉建立】Visual Intuition
想象混合高斯模型:E 步猜测每个点属于哪个高斯,M 步根据猜测更新高斯参数,循环迭代直到收敛。
🎬 B 站搜索:EM 算法 直观解释
3️⃣【符号解码字典】The Symbol Decoder
$\theta$self.params (模型参数)
$z$latent_vars (隐变量)
$Q(\theta | \theta^{(t)})$Q_function (期望下界)
$\mathcal{L}(\theta)$log_likelihood (对数似然)
4️⃣【核心推导】The Math
### 对数似然函数 $$\mathcal{L}(\theta) = \log P(X | \theta) = \log \sum_{Z} P(X, Z | \theta)$$ ### E 步:构造下界 $$\mathcal{L}(\theta) \geq Q(\theta | \theta^{(t)}) = \sum_{Z} P(Z | X, \theta^{(t)}) \log \frac{P(X, Z | \theta)}{P(Z | X, \theta^{(t)})}$$ ### M 步:最大化下界 $$\theta^{(t+1)} = \text{argmax}_{\theta} Q(\theta | \theta^{(t)})$$ ### 迭代收敛 $$\mathcal{L}(\theta^{(t+1)}) \geq \mathcal{L}(\theta^{(t)})$$
5️⃣【工程优化点】The Optimization Bottleneck
每次迭代需要遍历所有样本计算期望,复杂度 $O(N \cdot K \cdot I)$,K 为隐变量数,I 为迭代次数。
6️⃣【今日靶机】The OJ Mission
🎯 任务:cd exercises/ && python3 day4_task.py
实现 EM 算法拟合混合高斯分布,在双峰数据上验证参数收敛过程。