在规则系统或任何通过前向链接推理规则推断事实的推理系统中,你将如何修剪“不必要的”分支?我不确定正式的术语是什么,但我只是想了解人们在推理问题时如何能够限制他们的思路,而我所见过的所有语义推理者都无法做到这一点。
例如,在约翰麦卡锡的论文An Example for Natural Language Understanding and the AI Problems It Raises中,他描述了使计划能够智能地回答有关纽约时报新闻文章的问题的潜在问题。在第4节“非单调推理的需要”中,他讨论了使用奥卡姆的Razer在推理故事时限制事实的包含。他使用的样本故事是关于劫持家具店老板的劫匪。
如果程序被要求在谓词演算中形成故事的“最小完成”,则可能需要包括原始故事中未直接提及的事实。但是,它还需要某种方式知道何时限制其扣除链,以便不包括不相关的细节。例如,它可能希望包括该案件所涉及的警方的确切人数,但该条款不会包括每个警官都有母亲的事实。
答案 0 :(得分:2)
好问题。
从您的问题中我认为您所谓的“修剪”是一个模型构建步骤事前 - 即限制算法可用的输入来构建模型。机器学习中使用的术语“修剪”指的是不同的东西 - 事后步骤, 模型构建后,对模型本身进行操作并且不关于可用输入。 (ML域中可能有第二个含义,对于“修剪”这个术语,但是我并不知道它。)换句话说,修剪确实是一种“限制其演绎链”的技术。你把它,但它通过切除一个完整的(工作)模型的组件,而不是通过限制用于创建该模型的输入来实现 ex post 。
另一方面,隔离或限制可用于模型构建的输入 - 这是我认为您可能已经想到的 - 确实是一个关键的机器学习主题;它显然是许多最新ML算法的优越性能的一个因素 - 例如,支持向量机(SVM的基础是只从一小部分数据构建最大边际超平面,即, '支持向量')和多自适应回归样条(一种回归技术,其中没有尝试通过“绘制单个连续曲线穿过它”来拟合数据,相反,数据的离散部分是合适的,一个通过一,对每个部分使用有界线性方程,即'样条',因此数据最优分割的谓词步骤显然是该算法的关键。)
通过修剪解决了什么问题?
至少w / r / t我实际编码和使用的特定ML算法 - 决策树,MARS和神经网络 - 修剪是在最初的过度拟合模型上进行的(a模型非常接近训练数据,无法推广(准确预测新实例)。在每种情况下,修剪都需要逐个删除回归方程(MARS)中的边际节点(DT,NN)或术语。
其次,为什么修剪是必要/可取的?
准确设置收敛/分裂标准不是更好吗?这并不总是有帮助的。修剪工作从“自下而上”;模型是从上到下构建的,因此调整模型(以实现与修剪相同的好处)不仅消除了一个或多个决策节点,而且还消除了子节点(如修剪靠近树干的树)。因此,消除边缘节点也可能会消除从属于该边缘节点的一个或多个强节点 - 但建模者永远不会知道这一点,因为他/她的调整消除了该边缘节点处的进一步节点创建。修剪从另一个方向起作用 - 从最下级(最低级别)子节点向上朝向根节点。