Algorithm 专家系统(?)算法
我有一个算法问题,可以简化为这项任务: 假设我们有一个Algorithm 专家系统(?)算法,algorithm,expert-system,Algorithm,Expert System,我有一个算法问题,可以简化为这项任务: 假设我们有一个n疾病和m症状的列表。 对于每种疾病d和症状s,我们有三种选择之一: 症状与疾病呈正相关:s=>d 症状与疾病呈负相关:s=>~d 这种症状与疾病无关 该算法的目标是创建一个关于症状的是/否问题列表(或者更好——一个问题二叉树),它可以根据症状推断出确切的疾病 非常感谢您对特定算法、相关软件工具甚至特定领域术语的任何引用。您可以使用决策树: 基本上,找到最佳树(即在你能够识别疾病之前,它将最小化平均问题数)是NP难的 你可以使用贪婪算法,
n
疾病和m
症状的列表。对于每种疾病
d
和症状s
,我们有三种选择之一:
- 症状与疾病呈正相关:
s=>d
- 症状与疾病呈负相关:
s=>~d
- 这种症状与疾病无关
非常感谢您对特定算法、相关软件工具甚至特定领域术语的任何引用。您可以使用决策树: 基本上,找到最佳树(即在你能够识别疾病之前,它将最小化平均问题数)是NP难的 你可以使用贪婪算法,然后尝试优化它(如果你需要的话) 在每一步中,你都希望尽可能减少仍然“可能”的死亡人数 您位于树的顶端,因此对于给定的
s
,您有三个可能的选项,计算每个选项中的疾病数量:pc
nc
uc
一方面你有pc
,另一方面你有nc
,而uc
你什么都不能说(你可以查看树的两个层次来获得一些信息,但目前我们不这么做)
因此,在最坏情况下,您有pc
/nc+uc
或pc+uc
/nc
,选择使最坏情况最小化的s
(即:一方很多,另一方只有少数)
您需要最小化abs(pc-(nc+uc))+abs((pc+uc)-nc)
您现在有了第一个问题的
s
,您可以迭代地构建您的树。您的域真的是这个“二进制”吗?或者事实上,您更希望使用每个症状/疾病对的相关系数作为数值吗?这将允许强相关性比弱相关性对结果的影响更大
如果是这样的话,那么你可能想看看那本分析数据和识别模式的书。如果你只需要一本参考书,那就看看这本书。我现在手头没有我的副本,但我明天可以用一些章节建议更新这个答案。如果每种疾病只有几个症状,那么你可以使用图形模型来建模概率
但是我不知道你是否可以用一个图形模型来创建一个问题树 这个问题与20世纪80年代更普遍的基于规则的专家系统技术的先驱——霉素的细菌/抗生素问题非常相似。有其他的医疗诊断程序开发与由此产生的工具
我认为这类似于
最小测试集问题
选项中没有足够的信息来排除任何可能性,除非正相关性和负相关性是绝对的。在现实生活中,这种情况从未发生过。