【发布时间】:2011-01-02 19:42:50
【问题描述】:
有人知道如何使用神经网络模拟专家系统吗? 20q.net 网站就是一个例子。
我对网络的设计方式更加好奇;即有多少输入,输入代表什么,网络输出什么,这些输出如何指向答案。非常有趣的东西。
【问题讨论】:
-
一个广泛的话题,但确实很酷
标签: architecture neural-network expert-system
有人知道如何使用神经网络模拟专家系统吗? 20q.net 网站就是一个例子。
我对网络的设计方式更加好奇;即有多少输入,输入代表什么,网络输出什么,这些输出如何指向答案。非常有趣的东西。
【问题讨论】:
标签: architecture neural-network expert-system
这些系统在很多方面都不同,无论是在架构上还是在使用上。
专家系统(至少在对这个词的传统理解中)由 [通常] 高级规则驱动,引擎使用这些高级规则以及一些输入来推断有关输入的一些结论。规则通常是明确输入的,本质上是将特定领域专家的一些陈述翻译成专家系统中实现的任何谓词表示。
另一方面,神经网络 (NN) 可以手动/显式设置其拓扑结构,但通常能够自动学习如何将某些输入或输入序列与特定的输出。
上面的描述肯定是对这两个概念的简化,尤其是神经网络,它有许多不同的形式和风格(有许多不同的用法,远远超出了模式识别),但是,我希望能帮助你理解有多么不同这些系统是。
一个显着的区别可能是关于“透明度”,专家系统通常可以为他们的推论输出一些“解释”(“输入 1 和规则 #3 表示结论 A,概率为 81%”),而NNs 往往是黑盒子。这并不是说 NN 不能非常精确地“理解”他们的世界(这种理解被封装在网络拓扑和与各种输入和/或神经元相关的相对权重中),只是这种专业知识关于他们的世界并不是那么容易翻译成简单的英语。关于透明度,以及 在非常宽泛的术语中,NN 有点类似于数学公式,因此专家系统更像是一本食谱。
如上所述,另一个显着的区别是专家系统需要翻译和加载明确的规则(“如果温度超过 200 度,安全阀开始打开”),神经网络借此发现这些“规则”基于提供给它的训练集(例如标记的输入集)。
【讨论】:
我不知道 Q20 神经网络是如何工作的,但您可以使用神经网络来训练信念网络中的连接。本质上,每个问题都有一个“被问到的愿望”,它是根据先前提出的问题的输出进行修改的。换句话说,最初“欲望”最高的 3 个问题可能是“它是动物吗?” “是蔬菜吗?”或“它是矿物吗?”假设您将领带分开并选择“它是动物吗?”如果这个人回答“是”,你就会增加提出诸如“它有头发吗?”之类的问题的可能性/欲望。并减少诸如“它是豆类吗?”之类的问题的概率。
在这个方案中,可以使用神经网络来完成 delta 概率函数的参数。换句话说,关于增加或减少下一次询问“它有头发吗?”的概率的决定。可以根据“它是动物吗?”-> TRUE、“它有头发->”...[结果] 在大量游戏中的成功或失败来完成。请注意,虽然这可能与 NN 相关,但 NN 是否有效并不直观——统计方法一直追溯到贝叶斯和“支持向量机”是修改问题之间联系以更好地学习的替代方法。
根据我在 AI 方面的经验,我怀疑您将所有问题都扔进一个锅中并完全交叉连接它们不会成功,而是必须拥有一系列实现目标的子网.不过我不确定。 Q20 算法引人注目的一件事是它似乎没有离散的子目标——我认为你可以随时看到任何问题。非常令人印象深刻。
【讨论】:
这在某种程度上是一个开放式问题,或者至少在这里很难回答。退房 http://www.cs.waikato.ac.nz/ml/weka/ 和 http://marsyas.sness.net/ 获取一些有趣的文档以及数据挖掘和机器学习算法的实现。
【讨论】:
这些是完全不相容的话题。
专家系统依赖于一组规则和推理引擎;这组规则由知识工程师给出。规则是“if-then”语句,易于阅读/更正/维护等。
另一方面,神经网络被认为是一个黑盒子。权重和神经元根据输入/输出模式进行调整,但这些权重不表示为规则。没有推理引擎,因为输入用于各种计算以提供输出。
在少数情况下,您可以从 NN 中提取一些规则(参见例如 rule extraction for Fuzzy ARTMAP);但是,据我所知,这种方法在实践中很少遇到。它即将对嵌入神经网络的知识进行逆向工程,这一过程高度依赖于网络的具体架构。
另一个很大的区别:NN 可以专门用于数字输入(非数字输入必须转换为数字,但这有时是一个非自然过程),而专家系统接受标称值。
【讨论】:
您可以做的是用神经网络替换特定规则甚至规则集,然后将对这些神经网络的调用构建在树中(类似于通常开始简单的问答系统)或在列表中您将依次通过或在某种图形网络中工作。你失去的是一个内置的 RETE 网络实现,除非你构建你在专家系统中使用的函数中使用的神经网络。实际上,您也可以只在代表 N 条规则的一组输入上训练神经网络——在这种情况下,神经网络只是记住输入和输出模式,而不是对模式进行泛化。
【讨论】: