论文部分内容阅读
使用隐类模型进行聚类分析是一种很重要的方法,它使用隐变量来表示已知的显变量之间的关系,能有效地处理可测数据之间的隐含信息,有很大的实用性目前有许多关于含有隐变量的模型的学习方法,其中多层隐类模型是对传统隐类模型的扩展,可以对所获得的数据进行多维聚类分析,更真实地反映数据之间的内在关系,提高了对数据评估的质量。然而当基于大量的数据来建构多层隐类模型时,存在两个主要问题:一是由于需要引入多个隐变量来代表显变量之间内在的联系,所以在学习时要调用EM算法来对含有缺值数据的网络参数进行估计,从而导致计算复杂度高,消耗时间长;二是由于对模型调整时会生成许多候选模型结构等待评估,从而需要大量的内存空间。因此每次当有新数据被观察到时,如果采用传统的批量学习的方法来将新数据和老数掘合并成一个完整的数据集并以此为基础重新建立模型是不太现实的。针对以上问题,本文将增量学习的方法和多层隐类模型的学习方法结合,提出了一种可以按照新数据逐步调整多层隐类模型结构的算法,主要工作有两点:●首先是确定网络中受到新数据影响的隐结构,以极大似然估计为原则来判断隐结构和数据的拟合度,定义了一个关于模型中隐节点的数据适应度,用来衡量新观察到的数据对模型中隐结构的影响,也有助于压缩存储已经学习的知识。●采用马尔科夫覆盖来划分子网,然后以这些受到影响的隐节点为中心,在个比较小的范围内调整模型结构。在根据新数据所蕴含的知识来调整网络结构时,不仅可以利用以前获得的学习结果,缩短学习时间,而且可以解决因数据集太大、无法全部存储内存时所造成的学习困难。本文的实验验证了算法的可行性,并和传统的多层隐类模型的学习算法做比较,可以看出本文所提出的方法的优势。