我们知道,对于人类来说学习通常是指通过经验获得知识从而导致可度量的行为变化。也就是说我们通过经验获得了知识,然后这些知识又对我们未来的行为产生了影响。而机器学习则是让机器来进行学习,因此我们也可以认为机器学习同样是让机器通过经验(在计算机中表现为数据)获得知识(知识即为我们的模型),然后基于这些知识(模型)来对我们未来的行为产生影响(即不同的模型在接收到未来的新数据可能会得到不同的label)。对于人类来说最重要的是正确知识的获取,这对于机器来说也是一样的,最重要的是获得合适的模型。对于人类来说,知识是通过总结经验来得到的,那么对于机器来说,我们如何来总结已有的数据来得到模型是整个机器学习的核心问题。
在这里我们假设已有的数据为 X ,根据数据学习得到的模型产生的行为变化(lable)我们可以定义为
model=P(Y|X)
,即我们拥有一个期望行为,我们希望我们通过学习得到的模型能够在有新数据来的时候得到我们想要的行为结果。
判别模型与生成模型
通过上面的描述我们知道机器学习的目标是得到一个模型使得其产生的行为(label)是我们所想看到的结果。那么我们如何来学习该模型呢?这里基于是否直接对 P(Y|X) 建模有两种策略:
- 第一种是判别式模型,即直接对 P(Y|X) 来进行建模,例如线性回归模型,SVM,决策树等,这些模型都预先制定了模型的格式,所需要的就是通过最优化的方法学到最优参数 Θ 即可;
- 第二种是生成式模型,这种策略并不直接对 P(Y|X) 进行建模,而是先对联合概率分布 P(X,Y) 进行建模,然后依据贝叶斯公式
P(Y|X)=P(X,Y)P(X)间接的得到我们所期望的模型 P(Y|X) ,这种策略最常见的算法就是我们接下来要介绍的贝叶斯分类器算法
贝叶斯分类器
通过上面对两种建模策略的描述我们知道贝叶斯分类器算法的建模策略是第二种,即生成式模型。那么我们如何来对联合分布 P(x,y) 来建模呢?我们依据贝叶斯公式知道 P(x,y)=P(y)P(x|y) ,在这里我们称 P(y) 为标签 y 的先验概率,