「这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战」
简介
前面两章介绍了贝叶斯网络的定义,以及贝叶斯网络部分结构学习的知识,今天继续给大家介绍贝叶斯网络结构学习的知识。让大家可以更加深入的了解贝叶斯网络。
贝叶斯网络
基于评分搜索的结构学习:
基于评分搜索的算法可以表示为:当给定数据集D={D1,D2,…,Dn}时,在搜索空间内找到一个结构G*使得:
其中Gn为变量集V={X1,X2,X3,…,Xn}在DAGs搜索空间中的所有可能结构。
基于评分搜索的结构学习把所有可能的结构视为定义域,衡量特定结构好坏的标准视为评分函数,将寻找最好结构的过程看作在定义域上求评分函数的最优值问题。从算法角度看,需确定合适的搜索策略和衡量DAG对数据适当性的评分函数。搜索空间可以分为三类:DAGs空间、等价类空间和节点序空间。虽然搜索空间不同,但其都分为父集识别和结构优化两个步骤。迄今为止,大多数研究都集中在结构优化上。
基于评分搜索的方法将结构学习问题看作优化问题,在不考虑学习效果和效率的情况下,可以利用现存的各种优化算法进行结构学习。对于单独学习效率差的算法,可以采用两种算法相结合的方式。
基于混合搜索的结构学习:
混合搜索的结构学习结合前两者的优点,先利用统计分析学习效率高的优势来缩减网络结构空间的大小,再利用评分搜索网络结构空间,最终找到一个最优的网络结构。
精确算法
近似结构学习算法,只能找出局部最优解或接近于最优的网络结构,并不能保证得到最优解。由于对于n个变量的人格固定排序,分数的可分解性使得与该排序兼容的所有DAG都能进行有效的优化,于是结构学习的精确学习方法应运而生。精确算法可以分为:整数线性规划(Programming, ILP)、A*算法和动态规划(Dynamic Programming, DP)。
不完备数据下的BN结构学习算法:
BN结构学习方法都要求数据时完备的。数据不完备会导致两个问题:1.评分函数不再具有可分解形式,不能进行局部搜索;2.部分统计因子不存在,无法直接对网络结构打分。
针对不完备数据集的情况,最经典的BN结构学习算法是结构期望最大化算法(Structural Expectation Maximization Algorithm, SEM)。该方法执行一个两步的迭代过程:1.E步:计算当前数据集的统计量,并使用当前的贝叶斯网络中的期望值或模型补全数据;2.M步:利用补全的数据集执行BN结构学习算法,一直持续到收敛为止。
贝叶斯的参数学习
极大似然估计
极大似然估计是建立在极大似然原理的基础上的一个统计方法,是概率论在统计学中的应用。极大似然估计提供了一种给定观测数据来评估模型的参数的方法,即:“模型已定,参数未知”。通过若干次实验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。
目的就是利用已知的样本结果,反推最有可能(最大概率导致这样结果的参数值)
特点:
1. 比其他估计方法简单;
2. 收敛性:无偏或者渐近无偏,当样本数目增加时,收敛性质会更好;
3. 如果假设的类条件概率模型正确,则通常能获得较好的结果。但如果假设模型出现偏差,将导致非常差的估计结果。
贝叶斯估计
从参数的先验知识和样本出发。不同于ML估计,不再把参数θ看成一个未知的确定变量,而是看成未知的随机变量,通过对第i类样本Di的观察,使概率分布P(Dj|θ)转化为后验概率P(θ|Dj),再求贝叶斯估计。
贝叶斯估计的本质使通过贝叶斯决策得到参数θ的最优估计使得总期望风险最小。
寄语
本文将贝叶斯的结构学习和参数学习介绍完毕,内容可能优点繁杂,冗余。欢迎广大网友进行批评指正。