机器学习基础 之 贝叶斯分类器
转自:https://www.zhenxiangsimple.com/2019/03/30/tech-ml-bysflq/
贝叶斯分类器是一类基于贝叶斯公式的分类算法的总称,它不是指某一个具体算法,基于贝叶斯订立的这些分类算法可以统称为贝叶斯分类。
贝叶斯公式
可以理解为高中数学中的条件概率公式:
贝叶斯决策论
从名称就可以知道,这是使用贝叶斯定理进行决策的一种方法论,简单说是在概率框架下进行的决策分类方法。使用的最优的分类器可以表示为:
极大似然估计
似然估计是一个比较常用的统计学参数估计的方法,用于解决当一件事情发生后,描述其发生的概率有多大的问题;算法本身是基于一个已知样本的概率分布函数,但不确定分布函数参数的样本,进行测试计算后得到分布函数的参数值。
朴素贝叶斯分类器
对样本增加一个假设:样本的所有属性条件之间相互独立,即每个属性独立的对样本的分类结果产生影响,因此可以得到如下的关系:
因此,最终的分类器可以表示如下:
其中,,若中有一项为0,即某一个属性值在训练集中没有出现过,则会导致整个分类器的结果为0,为了解决这个问题,引入了拉普拉斯修正方法,即将对应的所有分类样本统一增加所有一个因子如下:
其中,N表示训练集找那个所有类别数,表示第i个属性可能的取值数。
半朴素贝叶斯分类器
由于上面的朴素贝叶斯分类器要求所有属性完全独立,这种情况在实际情况中非常少见,通常一个样本的多样属性之间多多少少都会有一些相关性,因此为部分属性之间的强关系增加一些依赖信息,一方面忽略弱关系可以简化计算,另一方面也保留了最主要的关系。
贝叶斯网络
前面的半朴素贝叶斯分类器只是使用了部分属性之间的强关系,但还是有部分属性之间的关系被忽略了,为了能够将属性之间的关系更具体的描述出来,本算法使用数据结构中的图的概念来描述,图中每个节点由一个属性构成,若两个属性之间有关系,则节点之间就可以连成边。
若不确定网络结构,可以通过类似哈夫曼编码准则来选择一个网络。在确定了网络结构后,就相当于知道了各个属性之间的关系,则贝叶斯网络的学习过程相对简单,只需通过对训练样本进行计数,即可得出每个节点的条件概率表。在贝叶斯网络训练好之后,就可以直接通过已知属性的值精确计算得到待求解属性的值,从而实现分类。
EM算法
之前讨论的贝叶斯分类器中的样本属性都是完备的,如果出现某些属性的值为空,则无法直接进行求解,EM算法通过两步交替迭代进行求解,首先根据已有参数对未知变量值进行预测求解(Expectation),其次基于已知的观测值的样本进行模型求最大期望值,得到模型参数(Maximization),然后使用得到的参数再次进行变量值预测…直至模型收敛。