分类:基于Bayesian网络的诊断性检测算法

来自Big Physics
Jinshanw讨论 | 贡献2022年9月28日 (三) 23:09的版本


在这个分类下面,我们总结梳理基于Bayesian网络的诊断性检测算法的概念和论文,建立研究用概念-论文知识库。每篇论文要包含:提出了或者回答了什么问题,答案是什么,怎么回答的,我觉得怎么样,对我有什么意义或者启发,对学科或者现实有什么意义,还要包含概念地图。

研究问题

这里有两个研究问题,我们更关注第二个:

第一、就是给定一个概念网络,学生回答了一堆问题,问题和概念之间的联系通常已知,概念间的联系(包含上下不同层次知识之间的层次性联系和同层概念之间的逻辑上的左右联系,以及不同领域不同分支学科之间的跨越性的左右联系)通常已知,推断出来学生对每个概念的理解程度;

第二、进一步选出来,在当前学生已经回答过的问题和推断出来的概念掌握程度的基础上,下一步应该考察的问题,从而实现用更少的问题得到最多的学生对每个概念的理解程度。

通常,在一个叫做Knowledge Tracing的研究领域内(其所属的更大的领域是智能助教系统 Intelligent Tutoring System,其所属的更大领域是教育工程,其所属的更大领域是教育学,或者更准确地称为教学学),大家也回答第一个问题。不过,大多数Knowledge Tracing的研究没有考虑概念间关系,只有少数注意到了这个问题,但是也没有解决好。

第一个问题很大程度上都局域的,但是,也有一定的系统性。第二个问题,则肯定是全局的,但是大多数场合可能需要用局域的算法来解决这个全局的问题,尽管找得到全局性的算法肯定是最好的。


研究方法

我们打算用概念网络来表示知识之间的联系、问题和知识的联系。然后用Bayesian网络或者基于某种传播扩散的经验模型来解决上面的问题。

大概来说,以汉字为例(更多信息请参考概念网络上的高效学习和检测汉字网络),诊断性检测的意思就是:我们需要用尽可能少的汉字来测试被试是否认识,然后推断出来在3500常用汉字中,被试认识和不认识哪些汉字。当然,可以对被试做逐一汉字的测试。但是,这个需要测试的汉字的数量太多了。一个更好的办法是利用汉字之间的联系,来一边做测试一边做推断。例如,测试了“森”发现被试认识,则可以很大程度上推荐这个被试也认识“林、木”,以及倒过来,如果测试发现被试不认识“木”,则很大程度上可以推断其不认识“林、森”。

但是,如何把这样的推断真的做好,做到足够准确,是个问题。例如,一次推断和二次推断是否要区分,也就是,测试发现被试不认识“木”,可以推断不认识“林”,是否可以继续推断其不认识“琳”?例如,多个线索如何叠加,也就是,如果测试发现,被试不认识“林”和“王(玉)”是否可以推断其不认识“琳”,而且这个不认识的可靠性比单个线索的推断更可靠?知识之间的联系,主要依靠表现出来的联系还是内在的结构上的联系,也就是,可能经常认识“人”的被试也认识“口”,因此两者的条件概率相关,但是,两者之间完全没有内在联系(很可能是某个儿歌或者某本教材引起的联系),到底哪一种联系更可靠?这里有诸如此类的一系列细节的问题。

因此,这个问题和条件概率、知识网络紧密相关,但是,到底用什么样的算法更合适,用什么样的底层网络(表现型,还是结构性逻辑性),这都需要进一步研究。其实,在Belief Propogation的领域,网络可测性领域也有相关的研究。也完全可以设计一个扩散模型,通过调整参数来让这个模型可以解决第一个问题。

第二个问题就更遥远了,但是,也可以采用贪心算法,也就是每次或者每两步三步之内,都考虑对于结果提升最大的检测概念,而不考虑更长程的短期有劣势但是长期有优势的算法。这样,尽管不保证全局最优,但是至少可以局部可以接受。

这个算法是否成功,最终的检验是实验和实践。因此,我们需要测试一批被试,知道其实际上理解和不理解哪些概念,然后,设计算法来看看如何以最少的检测量来真的发现这些其所理解和不理解的概念。

资源:书、课程、概念和论文

本分类目前不含有任何页面或媒体文件。