修剪专家系统的扣减

Cer*_*rin 5 artificial-intelligence machine-learning expert-system semantic-analysis

在规则系统或任何通过前向链推理规则推断事实的推理系统中,你将如何修剪"不必要的"分支?我不确定正式的术语是什么,但我只是想了解人们在推理问题时如何能够限制他们的思路,而我所见过的所有语义推理者都无法做到这一点.

例如,在约翰麦卡锡的论文"自然语言理解的例子"和"人工智能问题提出的问题"中,他描述了使计划能够智能地回答有关纽约时报新闻文章问题的潜在问题.在第4节"非单调推理的需要"中,他讨论了使用奥卡姆的Razer在推理故事时限制事实的包含.他使用的样本故事是关于劫持家具店老板的劫匪.

如果要求程序在谓词演算中形成故事的"最小完成",则可能需要包括原始故事中未直接提及的事实.但是,它还需要某种方式知道何时限制其扣除链,以便不包括不相关的细节.例如,它可能希望包括该案件所涉及的警方的确切人数,但该文章没有提及,但它不想包括每个警官都有母亲的事实.

dou*_*oug 2

好问题。

从你的问题来看,我认为你所说的“修剪”是事前执行的模型构建步骤,即限制算法可用的输入来构建模型。机器学习中使用的术语“修剪”指的是不同的东西——模型构建之后的事后步骤,并且对模型本身而不是可用的输入进行操作。(在 ML 领域,术语“剪枝”可能有第二个含义,但我不知道。)换句话说,剪枝确实是一种“限制其推导链”的技术,如下所示:您放置它,但它是事后通过删除完整(工作)模型的组件来实现的,而不是通过限制用于创建该模型的输入。

另一方面,隔离或限制可用于模型构建的输入(我认为您可能已经想到了这一点)确实是机器学习的一个关键主题;显然,它是许多最新 ML 算法(例如支持向量机)卓越性能的一个因素(SVM 的基本原理是仅从一小部分数据构建最大裕度超平面,即“支持向量”)和多自适应回归样条(一种回归技术,其中不尝试通过“通过它绘制一条连续曲线”来拟合数据,而是拟合数据的离散部分,其中一个是一,对每个部分(即“样条线”)使用有界线性方程,因此数据最优划分的谓词步骤显然是该算法的关键)。

修剪能解决什么问题?

至少在我实际编码和使用的特定机器学习算法(决策树、MARS 和神经网络)上,剪枝是在最初的过拟合模型上执行的(该模型与训练数据非常接近,以至于它无法泛化(准确预测新实例)。在每种实例中,剪枝都涉及一一删除边缘节点(DT、NN)或回归方程(MARS)中的项。

其次,为什么修剪是必要的/可取的?

准确地设置收敛/分裂标准不是更好吗?这并不总是有帮助。修剪工作是“自下而上”进行的;该模型是从上到下构建的,因此调整模型(以实现与修剪相同的好处)不仅消除了一个或多个决策节点,还消除了子节点(例如修剪一棵更靠近树干的树)。因此,消除边缘节点也可能消除从属于该边缘节点的一个或多个强节点,但建模者永远不会知道这一点,因为他/她的调整消除了在该边缘节点处的进一步节点创建。修剪是从另一个方向进行的——从最下级(最低级别)的子节点向根节点的方向向上。