Artificial intelligence 专家系统中的剪枝演绎

Artificial intelligence 专家系统中的剪枝演绎,artificial-intelligence,machine-learning,expert-system,semantic-analysis,Artificial Intelligence,Machine Learning,Expert System,Semantic Analysis,在一个规则系统或任何通过前向链接推理规则推断事实的推理系统中,您将如何删减“不必要”的分支?我不确定正式术语是什么,但我只是想了解人们在对问题进行推理时是如何限制自己的思路的,而我见过的所有语义推理者似乎都无法做到这一点 例如,在约翰·麦卡锡(John McCarthy)的论文中,他描述了让一个程序智能地回答有关《纽约时报》一篇新闻文章的问题可能存在的问题。在第4节“非单调推理的必要性”中,他讨论了在推理故事时使用奥卡姆剃须刀来限制事实的包含。他使用的例子故事是一个关于抢劫犯伤害家具店老板的故事

在一个规则系统或任何通过前向链接推理规则推断事实的推理系统中,您将如何删减“不必要”的分支?我不确定正式术语是什么,但我只是想了解人们在对问题进行推理时是如何限制自己的思路的,而我见过的所有语义推理者似乎都无法做到这一点

例如,在约翰·麦卡锡(John McCarthy)的论文中,他描述了让一个程序智能地回答有关《纽约时报》一篇新闻文章的问题可能存在的问题。在第4节“非单调推理的必要性”中,他讨论了在推理故事时使用奥卡姆剃须刀来限制事实的包含。他使用的例子故事是一个关于抢劫犯伤害家具店老板的故事

如果一个程序被要求在谓词演算中形成故事的“最小完成”,它可能需要包含原始故事中没有直接提到的事实。然而,它还需要知道什么时候限制它的演绎链,以便不包括不相关的细节。例如,它可能想包括涉案警察的确切人数,但文章没有提到,但它不想包括每个警察都有母亲的事实。

问得好

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

另一方面,隔离或限制可用于模型构建的输入——这是我认为您可能想到的——确实是一个关键的机器学习主题;很明显,这是导致许多最近的ML算法性能优越的一个因素——例如,支持向量机(支持向量机的基础是从数据的一小部分,即“支持向量”)和多元自适应回归样条构造最大裕度超平面)(一种回归技术,其中没有试图通过“绘制一条连续曲线”来拟合数据,而是使用每个部分的有界线性方程(即“样条曲线”)逐个拟合数据的离散部分,因此数据最佳分割的谓词步骤显然是该算法的关键)

修剪可以解决什么问题?

至少我实际编码和使用过的w/r/t特定ML算法——决策树、MARS和神经网络——在最初的过拟合模型上执行修剪(该模型与训练数据拟合得非常紧密,无法概括(准确预测新实例)。在每种情况下,修剪都涉及逐个删除边缘节点(DT,NN)或回归方程(MARS)中的项

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


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

机器能够立即考虑所有问题,而不是专注于狭隘的“相关”问题事情,是未来的机器能够毫不费力地推翻人类霸主的原因之一。我认为他们永远也救不了我们。我只是希望,当机器人解放的伟大日子到来时,人类痛苦这一小事实不会被机器的需求淹没。我不愿意被“修剪”成“一个不相关的细节”对不起,你刚才说什么?我是说,抵抗是徒劳的。我很难过没有人回答这个问题。前几天我在思考斑马难题时也在想同样的事情。