李宏毅机器学习2016 第四讲 分类:概率生成模型
视频链接:https://www.bilibili.com/video/av9770190/#page=4
课程资源:Hung-yi Lee
课程相关PPT已经打包命名好了:链接:https://pan.baidu.com/s/1c3Jyh6S 密码:77u5
我的第三讲笔记:http://blog.****.net/sinat_25346307/article/details/78745973
Classification: Probabilistic Generative Model
本章节主要讲解了如何应用概率生成模型解决分类问题。
1.分类问题
分类问题是在现实生活中比较常见得一类问题。例如是否贷款给某人、诊断出患者得哪种疾病以及根据手写汉字识别出具体的汉字(八千多个类)等等。
在本章节中还是通过Pokemon的例子来讲解分类问题。
问题:如何根据特征信息(Total、HP、Attack、Defense、SP Atk、SP Def、Speed)预测出Pokemon的具体类型。
能否用回归方法来分类呢? Classification as Regression?
以二分类作为例子,训练阶段类别1的目标值为1,类别2的目标值为-1;在测试阶段当所得值靠近1,则认为是类别1;靠近-1,则认为是类别2。
但随之会带来问题:
当有样本值太大(离群点)时,会使得分类界面偏离(为了尽量拟合数据),图中就是为了使得那些远大于1的点的值尽量靠近1,所以说,会惩罚那些过于正确的样本点。
此外,对于多类问题,如果说类别1指目标值为1,类别2指目标值为2,类别3指目标值为3.......则会带来问题:会让人理解为类别1和类别2靠近,他们之间存在关系;类别2和类别3靠近,他们之间也存在关系......这显然是有问题的。
较为理想的替代方法是:
对于二分类问题,定义一个函数,当函数值大于0就划分为类别1,否则就为类别2.损失函数定义为在测试数据上误分类的次数。
这样问题的关键就在于如何找到满足的函数。
理想的方法
2. 概率生成模型
从抽球的例子中,引出生成模型的概念。
在两个盒子中抽出球,现在抽出一个球,如何根据其颜色来判断是从哪个盒子里抽出来的呢?
可由训练数据得到P(C1)、P(C2)、P(x|C1)、P(x|C2)的概率。
这样就可以得到该生成模型进而预测出x所属类别。
3.先验概率 Prior
先验概率可通过训练数据直接得出,其值与出现次数相关。
4.似然概率 Likelihood
似然概率可理解为在某类中出现某样本的可能性,每一个样本都可以通过一个向量来表示。
可假定所有的点都是由一个高斯分布抽样而来。
函数的形状由均值以及协方差决定。
Maximum Likelihood极大似然估计
这79个点可由每个点联合抽样而得。
最大化似然函数得到相应的均值和协方差值。进而就可以进行分类。
5.分类
分类
在选了两个特征(为了方便直接观看效果)作为输入,得到的测试数据德准确率为47%,相当低。将全部的七个特征作为输入,准确率为54%,仍然不理想。
修改模型,不同的class共享相同的协方差,减少了参数。
经过改进(共用相同的协方差)后,得到了一个明显的线性分界线。
如果使用全部的七个特征,其准确率为73%,得到了提升。
概率分布
如果假定特征的所有维度都是独立同分布(IID)的,那么该模型就是朴素贝叶斯。
后验概率与sigmoid函数的联系
6.思考(数学公式多,适应不了请记住结论即可)
关于后验概率
1
2
3
end
当使用共享的协方差时,可得
在生成模型中,如果我们可以估计出N1,N2,u1,u2以及协方差的值就可以得到相应的w和b值,就可以直接进行分类。
既然如此,为什么不直接求解w和b呢?
(引申出下一章节)
7.总结
在本章节中,主要讨论了如何用概率生成模型进行分类,并且在章节的最后,引申出下一章节。此章节的主要知识点在于贝叶斯公式以及最大似然估计。