目录
一、什么是分类?
分类(classification)就是需要找一个x,通过一个Function,得到一个Class n的结果:
分类可以应用在很多领域上:
1.信用评分:
输入是收入、存款、职业、年龄以及过去的财务历史等。
输出是接受或拒绝。
2.医学诊断:
输入是当前症状、年龄、性别以及既往病史等。
输出是疾病类型。
3.手写字符诊断:
输入是手写的字符图片。
输出是结果。
二、如何做分类?
我们仍然用宝可梦的例子进行说明。
1、收集数据并训练用于分类的数据:
2、一种想法是把分类问题看作是回归问题:
以二分类为例子,在训练数据时分为类别1和类别2,其中类别1的目标为1,类别2的目标为-1,因此当我们开始测试数据时,越接近1的数据就将其分在类别1中,越接近-1的数据就将其分在类别2中。
但这个的做法会出现问题,如果数据为下图所示,那么使用回归来处理没问题:
但如果某些点远大于1,那么它们就会偏离,这时候用回归来处理的话,这些值就是错误值了,这个时候为了减少错误,用回归处理得到的直线是紫色的,但这并不是我们所希望的。
三、理想的做法
首先,我们需要找到一个Function,仍然以二分类为例,这时候在Function里加入另外一个函数,如果该函数大于0,那么将其分为类别1,否则分为类别2:
那么得到的损失函数定义为:
四、Generative Model(两个盒子的例子)
假设现在有两个盒子,每个盒子里面有蓝球或绿球:
现在给定一个x,那么它属于盒子1的概率为:
其中,P(C1)、P(C2)、P(x|C1)、P(x|C2)都需要通过训练数据得到。
如果在训练集中,有79个属于盒子1,61个属于盒子2,那么可得到:
接下来求解一个任意给定的x属于盒子1的概率为多少。因为每一个球都可以用一个向量(vector)来描述,而它的向量值,就是它的一些特征值。
可以考虑使用Gaussian Distribution来进行分类:
输入为向量x,输出为抽样x的概率。
对于任何的u和∑,都可以生成不同的点,但生成的点的可能性是不同的,下式表示了Gaussian取样x1,x2,...,x79的概率:
现在我们需要找到一个Gaussian,使得该Gaussian生成的79个点的可能性最大。并假 设现在的 和
为
,通过下式可计算出
:
可得到结果为:
假设盒子1和盒子2里的球都有两个特征,得到二维散点图如下:
那么通过上述的方法可以计算出盒子1的为:
盒子2的为:
接下来就可以进行分类了:
如果 ,那么x属于类别1;如果
,那么x属于类别2。
由于我们只考虑了小球的两个特征值,所以最后分类的准确率并不是很高,但如果考虑多个特征的话,比如六个、七个、八个等,这样就可以提高分类的准确率。