周志华 机器学习 Day28

本文介绍了一阶规则学习的基本概念及FOIL算法的工作原理,重点讨论了归纳逻辑程序设计(ILP)如何增强机器学习系统的表达能力,并介绍了ILP中的关键概念如最小一般泛化和逆归结。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一阶规则学习

一阶规则学习能容易引入领域知识,一般有两种做法:在现有属性的基础上基于领域知识构造出新属性,或基于领域知识设计某种函数机制(例如正则化)来对假设空间加以约束。然而,现实任务中并非所有的领域知识都能容易地通过属性重构和函数约束来表达。

FOIL是著名的一阶规则学习算法,它遵循序贯覆盖框架切采用自顶向下的规则归纳策略。由于逻辑变量的存在,FOIL在规则生成时需考虑不同的变量组合。 

其中,分别为增加候选文字后新规则所覆盖的正、反例数;为原规则覆盖的正、反例数。FOIL增益与决策树使用的信息增益不同,它仅考虑正例的信息量,并且用新规则覆盖的正例数作为权重。这是由于关系数据中正例数往往少于反例数,因此通常对正例应赋予更多的关注。

归纳逻辑程序设计

归纳逻辑程序设计(简称ILP)在一阶规则学习中引入了函数和逻辑表达式嵌套。一方面,这使得机器学习系统具备了更为强大的表达能力;另一方面,ILP可看作用机器学习技术来解决基于背景知识的逻辑程序归纳,其学得的“规则”可被PROLOG等逻辑程序设计语言直接使用。

1、最小一般泛化

归纳逻辑程序设计采用自底向上的规则生成策略,直接将一个或多个正例所对应的具体事实作为初始规则,再对规则逐步进行泛化以增加其对样例的覆盖率。泛化操作可以是将规则中的常量替换为逻辑变量,也可以是删除规则体中的某个文字。

2、逆归结

在逻辑学中,“演绎”与“归纳”是人类认识世界的两种基本方式。大致来说,演绎是从一般性规律出发来探讨具体事物,而归纳则是从个别事物出发概括出一般性规律。一般数学定理证明是演绎实践的代表,而机器学习显然是属于归纳的范畴。

基于归结原理,我们可将貌似复杂的逻辑规则与背景知识联系起来化繁为简;而基于逆归结,我们可基于背景知识来发明新的概念和关系。

具体公式推导请查阅书籍。

### 关于周志华机器学习》中的公式推导 为了更好地理解周志华机器学习》中的公式推导,可以从几个方面入手: #### 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、付费专栏及课程。

余额充值