深度学习4.1——分类:概率生成模型

目录

一、什么是分类?

二、如何做分类?

三、理想的做法

四、Generative Model(两个盒子的例子)


一、什么是分类?

分类(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:

那么得到的损失函数定义为:

L(f)=\sum_{n}^{}\delta (f(x^n)\neq \hat{y}^n)

四、Generative Model(两个盒子的例子)

假设现在有两个盒子,每个盒子里面有蓝球或绿球:

现在给定一个x,那么它属于盒子1的概率为:

P(C_1|x)=\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)}

其中,P(C1)、P(C2)、P(x|C1)、P(x|C2)都需要通过训练数据得到。

如果在训练集中,有79个属于盒子1,61个属于盒子2,那么可得到:

P(C_1)=79/(79+61)=0.56\\\ \\ P(C_2)=61/(79+61)=0.44

 

接下来求解一个任意给定的x属于盒子1的概率为多少。因为每一个球都可以用一个向量(vector)来描述,而它的向量值,就是它的一些特征值。

可以考虑使用Gaussian Distribution来进行分类:

f_{\mu,\sum}(x)=\frac{1}{(2\pi )^{D/2}}\frac{1}{|\sum |^{1/2}} exp[-\frac{1}{2}(x-\mu )^{T}\sum ^{-1}(x-u)]

输入为向量x,输出为抽样x的概率。

对于任何的u和∑,都可以生成不同的点,但生成的点的可能性是不同的,下式表示了Gaussian取样x1,x2,...,x79的概率:

L(\mu ,\sum )=f_{\mu,\sum } (x^1)f_{\mu,\sum } (x^2)f_{\mu,\sum } (x^3)... ...f_{\mu,\sum } (x^{79})

现在我们需要找到一个Gaussian,使得该Gaussian生成的79个点的可能性最大。并假 设现在的 \mu 和 \sum 为 (\mu ^*,\sum ^*),通过下式可计算出 (\mu ^*,\sum ^*) :

L(\mu ,\sum )=f_{\mu,\sum } (x^1)f_{\mu,\sum } (x^2)f_{\mu,\sum } (x^3)... ...f_{\mu,\sum } (x^{79})\\\\ \ f_{\mu,\sum}(x)=\frac{1}{(2\pi )^{D/2}}\frac{1}{|\sum |^{1/2}} exp[-\frac{1}{2}(x-\mu )^{T}\sum ^{-1}(x-u)]\\\\ \mu ^*, \sum^*=\underset{\mu,\sum}{arg\ max \L(\mu,\sum)}

可得到结果为:

\mu^*=\frac{1}{79}\sum_{n=1}^{79}x^n\\\\ \sum^* = \frac{1}{79}\sum_{n=1}^{79}(x^n-\mu^* )( x^n-\mu^*)^T

假设盒子1和盒子2里的球都有两个特征,得到二维散点图如下:

 

那么通过上述的方法可以计算出盒子1的为:

\mu^1=\begin{bmatrix} 75.0\\71.3 \end{bmatrix}     \sum ^1=\begin{bmatrix} 874 &327 \\ 327&929 \end{bmatrix}

盒子2的为:

\mu^2=\begin{bmatrix} 55.6\\59.8 \end{bmatrix}    \sum ^2=\begin{bmatrix} 847 &422\\ 422&685 \end{bmatrix}

接下来就可以进行分类了:

P(C_1|x)=\frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1)+P(x|C_2)P(C_2)}

如果 P(C_1|x) > 0.5 ,那么x属于类别1;如果P(C_1|x) < 0.5,那么x属于类别2。

由于我们只考虑了小球的两个特征值,所以最后分类的准确率并不是很高,但如果考虑多个特征的话,比如六个、七个、八个等,这样就可以提高分类的准确率。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值