Classification
2021/03/23
为什么不能用regression的方法来处理classification问题:
- 因为regression模型更在乎整体的Loss是否足够小,这会受到极端error点(“过于正确的点”)的影响
- 涉及多分类问题,如果把Class i看作输出为i,那么就默认了各个Class之间其实是有联系的(比较接近等),但如果实际上这种关系并不存在的话,就无法得到好的结果
理想的选择
Function f(x)
内建函数g(x),当g(x)>0时,输出class 1;否则输出class 2
Loss Function L(f)
训练集上预测错误的次数
但是这个函数是不可微的,所以不能用Gradient Descent解决,而是一般用Perception(感知机),SVM(支持向量机)解决
从概率角度看问题
贝叶斯公式
Generative Model(生成模型)
Feature:用一个向量 描述个体的特征
可以将样本数据(训练集)看作是从一个高斯分布中随机采样得到的,根据样本数据估计高斯分布的均值 和协方差矩阵 ,从而得到该分布的概率密度。找到那个高斯分布,从中选出所有样本数据的概率是最大的,所用的方法就是极大似然估计(Maximum Likelihood)
极大似然估计
其中的 L 表示极大似然函数,f 表示该分布的概率密度函数。取对数求导求零点:
存在的问题和解决方法
因为协方差矩阵的参数很多,当特征函数维度增加时,参数个数会显著增长,从而容易导致过拟合。因此采用共享协方差矩阵的策略,也就是不同分类使用相同的协方差矩阵
协方差矩阵表示的是特征向量与输出分类之间的线性相关关系,所以可以假设相同。
又因为可将各分类视为相互独立,所以极大似然函数可改写为( 个分类,第 分类数据个数为 ):
因为共享协方差矩阵,最后分类的边界会呈线性,把这种模型也叫做线性模型
概率模型的三个步骤
- Function Set (Model) :基于贝叶斯公式的概率分布
- Goodness of Function:对均值和协方差矩阵的极大似然估计
具体选择哪种概率模型是人为决定的
朴素贝叶斯分类(Naive Bayes Classifier)
前提假设:特征向量的各个维度相互独立(有较强的局限性)
每一项都是一个一维高斯
后验概率 $P(C_1|x)$ 与 sigmoid函数的关系 (假设当前二分类,共用协方差矩阵)
所以最后得到:
所以,何不直接找我们需要的 和 呢?