概述
本节主要是采用朴素贝叶斯法,完成二分类问题。
什么是朴素贝叶斯法呢?先不讲它的具体概念,先给出一个数据集,基于这个数据集,使用贝叶斯估计方法来估算一组特征属于现有分类的概率。
数据集特点:
特征之间互相独立,A特征的分布丝毫不影响B特征的分布。
每一行特征的取值,会产生一个标记。(1或者-1)
举例如下图所示:
使用朴素贝叶斯法解决分类问题的实例:
上表中,每一列为一个样本,总共有10个样本。每个样本,有两个特征X1和X2。
10个样本中,Y值是1的有6个,也就是说出现Y = 1的概率为6/10。
Y=-1的概率为4/10。
Y = 1的6个样本中,特征X1 = 1的有2个样本。也就是说在Y = 1的条件下,X1 = 1 的概率为2/6。
Y = 1的6个样本中,特征X1 = 2的有1个样本。也就是说在Y = 1的条件下,X1 = 2 的概率为1/6。
Y = 1的6个样本中,特征X1 = 3的有1个样本。也就是说在Y = 1的条件下,X1 = 3 的概率为3/6。
Y = 1的6个样本中,特征X2 = S的有1个样本。也就是说在Y = 1的条件下,X2 = S 的概率为1/6。
Y = 1的6个样本中,特征X2 = M的有2个样本。也就是说在Y = 1的条件下,X2 = M 的概率为2/6。
Y = 1的6个样本中,特征X2 = L的有3个样本。也就是说在Y = 1的条件下,X2 = L 的概率为3/6。
Y = -1的情况也可以按照Y=1的情况类推。
这样就可以现有的训练集中,简单地得到一系列概率。这些概率,可以被称为先验概率。
现在利用这些先验概率,来预测当X1 = 2,X2 = S 时,这个样本的Y取1的概率时多少,取-1的概率是多少?
Y=1的概率:
由于X1,X2互相独立:所求概率与这两个事情分别发生的概率的乘积成正比。
6/10*(1/6)(1/6) = 1/60
6/10是之前计算的Y取1的概率
1/6是Y = 1的6个样本中,特征X1 = 2的有1个样本。也就是说在Y = 1的条件下,X1 = 2 的概率为1/6。
1/6是Y = 1的6个样本中,特征X2 = S的有1个样本。也就是说在Y = 1的条件下,X2 = S 的概率为1/6。
通过类似的方法可以计算当X1 = 2,X2 = S 时,这个样本的Y取-1的概率。
将这两个概率进行比较,概率大的就是Y预测的标记。
使用朴素贝叶斯法解决分类问题的思路:
1、使用现有的数据集,可以计算先验概率
2、因为特征互相独立,因此可以先预测未知标记样本的特征属于某一类的后验概率。
3、概率的计算依据先验概率。样本属于某一类的概率*(在这一类下,样本的特征1的取值出现的概率)(在这一类下,样本的特征2的取值出现的概率)
4、比较每类概率的大小,概率大的类就是模型预测的类。
损失函数
模型预测的越准确,损失函数越小。
李宏毅老师讲的朴素贝叶斯分类模型
1、数据集满足朴素贝叶斯法训练集条件。
2、当每个特征的可能取值都满足高斯分布时。
3、后验分布和Sigmoid函数之间的关系。具体推导过程略。
Sigmoid函数的参数与测试集每个样品特征取值存在线性关系。
当wx+b > 0.5时,测试集的标记为C1的概率超过0.5,
当wx+b < 0.5时,测试集的标记为C1的概率小于0.5。
将一个分类问题,转化为线性回归问题。这就是Sigmoid函数与朴素贝叶斯之间碰撞出来的火花。