李宏毅 机器学习笔记 Classification
1. 绪论
Classification:Probabilistic Generative Model,本节课讲的是基于概率生成模型的分类。
分类任务本质上是找到一个函数,函数的输入是输入数据,输出是类别。应用范围比较广,例如信用卡评分、医学诊断、手写数字识别、人脸识别等等。
下图是对不同的宠物小精灵划分类别,如火系、冰系、草系等等。
下图是给定了一些宠物小精灵的特征,然后去预测它的类别。
下面我们以二分类为例:
2. 使用回归解决分类问题
假设我们依然使用MSE作为损失函数,并且以拟合的直线来划分两类数据,位于边界上方的是Class 2,位于边界下方的是Class 1。但如果在Class 1的数据基础上添加右下方的数据,就会造成决策边界下移,从而产生一些错分样本。具体如下图所示:
3. 分类的损失函数
这里采用的是和感知机相同的损失函数,也就是统计学习方法中的0-1损失函数,截图如下所示:
4. 朴素贝叶斯
假设有两个盒子Box 1和Box 2,假设从Box 1抽球的概率是,从Box 2抽球的概率是。在Box 1中总球数为5个,其中蓝球为4个,绿球为1个,所以,而。在Box 2中总球数为5个,其中蓝球为4个,绿球为1个,所以,而。
那么问题来了,假设现在已有一个球是蓝球,问它是从哪个盒子中拿出的、
我们将上述问题进行泛化,最终求解的是给定数据x,它属于类别的概率。则公式如下所示:
其中和是通过类别个数的频数来计算的。
假设我们只考虑两个特征:
概率生成模型其实是先假设数据的概率分布(正态、伯努利、泊松),然后用概率公式去计算x所属于的类型
一般的,我们假设x的分布为高斯分布(最为常见的概率分布模型),为什么会往往选择高斯分布呢,中心极限定理表明n 个相互独立同分布的随机变量之和的分布近似于正态分布,n 愈大,此种近似成都愈好。
一维的概率分布一般是钟形曲线,而多维的分布是:
上面三幅图表示均值都为0,但是协方差分别为为, ,
如何得到数据对应的均值和方差呢?我们可以通过已有的79个样本和极大似然分布得到。
任意的高斯分布(任意的均值向量和协方差矩阵)都能生成图上的样本点。由于数据是独立同分布的,所以最终的概率值为各个点的概率之积。
根据极大似然估计得到均值和方差:
两种类别数据对应的高斯分布参数:
高斯分布针对的是特定类别的分布,也就是条件概率:
在图1.1中,红色区域代表属于(水系)的概率比较大,而蓝色区域代表属于(普通)的概率比较大。
在图1.2中,红色区域代表属于(水系),而蓝色区域代表属于(普通)。
比较常见的方法是把两者的协方差矩阵设置成相同的。为什么这么设置呢?由于一个协方差矩阵的参数是个,如果设置不同的话,就会造成参数过多。
协方差矩阵就是加权求和,如下所示:
共用协方差矩阵以后,决策曲线就变成了直线,分类准确率提高了很多:
为什么要选用高斯分布呢?假设x是由一组feature组成的。假设每一个特征都是独立的,而且都是一维高斯分布。此时协方差矩阵就变成了对角矩阵。除了假设是高斯模型以外,还可以假设是其它模型,如伯努利分布(特征是0或者1)。
如果特征都是相互独立的,则可使用朴素贝叶斯。
后验概率和sigmoid函数的关联如下所示:
6. 数学推导
遗留问题:能否直接找到w和b呢?