台大李宏毅Machine Learning 2017Fall学习笔记(5)Classification: Probabilistic Generative Model
本节课以二分类问题为例,详细讲解了模型建立的过程及其背后的数学原理。
分类问题的理想模型如下图所示。定义损失函数,给定一个输入值,模型便能输出类别。
如果是简单的二分类问题(比如下图中通过球的颜色判断属于哪个盒子),根据贝叶斯公式可以构造出一个分类器。贝叶斯公式如下:
P(Aj|B)=P(AjB)P(B)=P(Aj)P(B|Aj)∑ni=0P(Ai)P(B|Ai)
对于二分类问题,公式简化为下图所示。
正如上图中所示,Pokemon分两类:Class1的标签是Water,Class2的标签是Normal。训练集中有79只Water Pokemon和61只Normal Pokemon。
根据公式需要得到先验概率和某类Pokemon的分布概率密度函数。其先验概率为:
P(C1)=7979+61=0.56
P(C2)=6179+61=0.44
再求某类Pokemon的分布概率密度函数。用一个列向量表示表示一只Pokemon的特征参数。
先利用Pokemon的两个属性值Defense和SP Defense。假定每一只Pokemon的两个属性值均采样自高斯分布。
因为输入参数是2*1的列向量,故采样点符合二元高斯分布的概率密度函数。具体公式如下图所示。
利用最大似然估计求出概率密度函数的参数 μ∗ 和 ∑∗ 。步骤见下图。
求出两个概率密度函数的均值向量和协方差矩阵
把两组均值向量和协方差矩阵回带至模型中,分类器就建立起来了!
现在建立的模型正确率并不高,调整模型。
可以把两类Pokemon分布概率密度函数中的协方差矩阵统一。
调整最大似然函数,对 μ1 , μ2 和 ∑ 进行最大似然估计。把计算得到的参数回带至模型中,模型的准确率有了一定的改进。
如果能增加Pokemon的特征维度,那么准确率会还可以提高。
总结一下:模型的建立分为3步:
下面是一些数学概念的理解和推导过程,容易理解,不再赘述。