周志华 机器学习 Day26

学习与推断

基于概率图模型定义的联合概率分布,我们能对目标变量的边际分布或以某些可观测变量为条件的条件分布进行推断。边际分布是指对无关变量求和或积分后得到的结果,例如在马尔可夫网中,变量的联合分布呗表示成极大团的势函数乘积,于是,给定参数θ求解某个变量x的分布,就编程对联合分布中其他无关变量进行积分的过程,这称为“边际化”。

对概率图模型,还需确定具体分布的参数,这称为参数估计或参数学习问题,通常使用极大似然估计或最大后验概率估计求解。但若将参数视为待推测的变量,则参数估计过程和推断十分相似,可以“吸收”到推断问题中。

概率图模型的推断方法大致可分为两类:(1)精确推断法,希望能计算出目标变量的边际分布或条件分布的精确值;遗憾的是,一般情形下,此类算法的计算复杂度随着极大团规模的增长呈指数增长,使用范围有限。(2)近似推断方法,希望在较低的时间复杂度夏获得原问题的近似解,此类方法在现实任务中更常用。

1、变量消去法

精确推断的实值是一类动态规划算法,它利用图模型所描述的条件独立性来消减计算目标概率值所需的计算量。变量消去法是最直观的精确推断算法,也是构建其他精确推断算法的基础。

假定推断目标是计算边际概率P(x5)。显然,为了完成此目标,只需通过加法消去变量{x1,x2,x3,x4},即

显然,通过利用乘法对加法的分配律,变量消去法把多个变量的积的求和问题,转化为对部分变量交替进行求积和求和的问题。这种转化使得每次的求和和求积运算限制在局部,仅与部分变量有关,从而简化了计算。但还是有一个明显的缺点:如若需计算多个边际分布,重复使用变量消去法将会造成大量的冗余计算。

2、信念传播

信念传播算法将变量消去法中的求和操作看做一个消息传递过程,较好地解决了求解多个边际分布时的重复计算问题。

在信念传播算法中,一个结点仅在接收到来自其他所有结点的消息后才能向另外一个结点发送信息,且结点的边际分布正比于它所接收的信息的乘积,即

近似推断

精确推断方法通常需要很大的计算开销,因此在现实应用中近似推断方法更为常用。近似推断方法大致可分为两大类:第一类是采样,通过使用随机化方法完成近似;第二类是使用确定性近似完成近似推断,典型代表为变分推断。

1、MCMC采样

在很多任务中,我们关心某些概率分布并非因为对这些概率分布本身感兴趣,而是要基于它们计算某些期望,并且还可能进一步基于这些期望做出决策。采样法正是基于这个思路。

2、变分推断

变分推断通过使用已知简单分布来逼近需推断的复杂分布,并通过限制近似分布的类型,从而得到一种局部最优、但具有确定解的近似后验分布。

话题模型

话题模型是一族生成式有向图模型,主要用于处理离散型的数据(如文本集合),在信息检索、自然语言处理等领域有广泛应用。隐狄利克雷分配模型(简称LDA)是话题模型的典型代表。

 

### 关于周志华机器学习》中的公式推导 为了更好地理解周志华机器学习》中的公式推导,可以从几个方面入手: #### 1. 掌握基础知识 确保具备足够的数学背景知识对于理解和掌握书中涉及的各种公式至关重要。这包括但不限于线性代数、概率论与统计学的基础概念[^3]。 #### 2. 阅读相关章节并跟随逻辑推理 每章开头通常会给出该部分的核心思想和目标,在阅读过程中应当注意作者是如何逐步引入新的知识点,并通过具体的例子或应用场景加深理解。当遇到复杂的定理证明时,建议先尝试自己思考其背后的原理再对照原文验证自己的想法是否正确[^4]。 #### 3. 参考其他资源辅助学习 如果觉得某些地方难以理解,则可以寻找额外的学习材料作为补充说明。例如,《机器学习》这本书在系列原创机器学习30讲的基础上进行了扩展,提供了详细的公式推导和代码实现案例,有助于更深入地了解各个算法的工作机制及其数学依据[^1]。 #### 4. 实践练习巩固所学内容 理论联系实际是提高编程能力和解决具体问题的有效途径之一。可以通过编写简单的程序来重现书中的实验结果或是参与开源项目贡献等方式积累经验。此外,“南瓜书”也是一份非常有价值的参考资料,它记录了许多人在自学过程中遇到的问题及解决方案,可以帮助读者克服难关成为更加优秀的开发者。 ```python import numpy as np def calculate_gradient(X, y, w): """ 计算梯度下降法中的梯度 参数: X (numpy.ndarray): 输入特征矩阵 y (numpy.array): 输出标签向量 w (numpy.array): 权重参数 返回: grad_w (numpy.array): 对w求偏导后的梯度值 """ N = len(y) predictions = 1 / (1 + np.exp(-X.dot(w))) error = predictions - y grad_w = (1/N) * X.T.dot(error) return grad_w ``` 此函数展示了如何基于给定的数据集计算逻辑回归模型中权重更新所需的梯度,这是许多机器学习教材都会讨论的一个典型实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值