概率分布模型

分类要找一个 function 函数,输入对象 x 特征, 输出是该对象属于 n个类别中是属于哪一个。

以神奇宝贝为例:  

神奇宝贝有很多的属性,比如电,火,水。要做的就是一个分类的问题:需要找到一个 functionfunction,

  • 输入:一只神奇宝贝的特征(整体强度,生命值,攻击力,防御力,特殊攻击力,特殊防御力,速度等)
  • 输出:属于哪一种类型的神奇宝贝

首先将神奇宝贝数值化:以比卡丘为例

  • Total:整体强度,大概的表述神奇宝贝有多强,比如皮卡丘是320
  • HP:生命值,比如皮卡丘35
  • Attack:攻击力,比如皮卡丘55
  • Defense:防御力,比如皮卡丘40
  • SP Atk:特殊攻击力,比如皮卡丘50
  • SP Def:特殊防御力,比如皮卡丘50
  • Speed:速度,比如皮卡丘90

所以一直神奇宝贝可以用7个数字组成的向量表示。

一、回归模型

假设还不了解怎么做,但之前已经学过了 regression。就把分类当作回归硬解。 举一个二分类的例子,假设输入神奇宝贝的特征 x,判断属于类别1或者类别2,把这个当作回归问题。

  • 类别1:相当于target是 1。
  • 类别2:相当于target是 -1。

然后训练模型:因为是个数值,如果数值比较接近 1,就当作类别1,如果数值接近 -1,就当做类别2。这样做会有以下问题出现:

  • 左图:绿色是分界线,红色叉叉就是 Class2 的类别,蓝色圈圈就是 Class1 的类别。
  • 右图:紫色是分界线,红色叉叉就是 Class2 的类别,蓝色圈圈就是 Class1 的类别。训练集添加有很多的距离远大于1的数据后,分界线从绿色偏移到紫色

这样用回归的方式硬训练可能会得到紫色的这条。直观上就是将绿色的线偏移一点到紫色的时候,就能让右下角的那部分的值不是那么大了。但实际是绿色的才是比较好的,用回归硬训练并不会得到好结果。此时可以得出用回归的方式定义,对于分类问题来说是不适用的。

还有另外一个问题:比如多分类,类别1当作target1,类别2当作target2,类别3当作target3…如果这样做的话,就会认为类别2和类别3是比较接近的,认为它们是有某种关系的;认为类别1和类别2也是有某种关系的,比较接近的。但是实际上这种关系不存在,它们之间并不存在某种特殊的关系。这样是没有办法得到好的结果。

二、概率与分类的关系

  • 那么,两个盒子中抽一个球,抽到的是盒子1中蓝色球的概率是多少?
  • 相当于两个类别中抽一个 x,抽到的是类别1中 x 的概率是多少?
  • 可以转化成,随机给出一个 x,那么它属于哪一个类别(属于概率相对比较大的类别)?

同理知道红色方框的值,就可以计算出给一个 xx,它是属于哪个类型的,P(C1​∣x) 和 P(C2 | x),哪个类别的概率大就属于哪个类别。接下来就需要从训练集中估测红色方框中的值。这一套想法叫做生成模型(Generative Model)。因为有了这个模型,就可以生成一个 x,可以计算某个 x 出现的概率,知道了x 的分布,就可以自己产生 x。

通过训练集的数据可以计算出 P(C1)和 P(C2​),如图所示:

  • 水属性占比:P(C1) = 0.56
  • 普通属性占比:P(C2) = 0.44

下面想计算神奇宝贝原盖海龟是水属性的概率,即P(x∣C1​)。也就是在水系的神奇宝贝中随机选一只,是海龟的概率。下面将训练集中79个水系的神奇宝贝,属性DefenseSP Defense进行可视化。这里假设这79点是从高斯分布(Gaussian distribution)中采样的,现在需要从这79个点找出符合的那个高斯分布。

 

 三、高斯分布

可以把高斯分布当作一个 function,输入就是一个向量 x ,输出就是选中 x 的概率(实际上高斯分布不等于概率,只是和概率成正比,这里简单说成概率。function由期望 μ 和协方差矩阵 ∑ 决定。

 

 假设通过79个点估测出了期望μ 和协方差矩阵∑。期望是图中的黄色点,协方差矩阵是红色的范围。现在给一个不在79个点之内的新点,用刚才估测出的期望和协方差矩阵写出高斯分布的 function,然后把 x 带进去,计算出被挑选出来的概率。

然后计算高斯分布的极大似然估计:

给一个μ 和∑,它生成这79个点的概率为图中的L(μ,∑),L(μ,∑)也称为样本的似然函数。

将使得L(μ,∑) 最大的L(μ,∑) 记做 (μ∗,∑∗) ,(μ∗,∑∗) 就是所有L(μ,∑) 的 Maximum Likelihood(最大似然估计)。直接对L(μ,∑) 求两个偏微分,求偏微分是0的点。

四、分类模型

我们已经得到了需要计算的值,可以进行分类了。

左上角的图中蓝色点是水属性的神奇宝贝,红色点是一般属性的神奇宝贝,图中的颜色:越偏向红色代表是水属性的可能性越高,越偏向蓝色代表是水属性的可能性越低。

右上角在训练集上进行分类的结果,红色就是 P(C1|x) 大于0.5的部分,是属于类别1,相对蓝色属于类别2。右下角是放在测试集上进行分类的结果。结果是测试集上正确率只有 47% 。当然这里只处理了二维(两个属性)的情况,那在7维空间计算出最大释然估计值,此时μ是7维向量,Σ是7维矩阵。得到结果也只有54% 的正确率,因此我们需要对模型进行优化。

五、模型优化

通常来说,不会给每个高斯分布都计算出一套不同的最大似然估计,协方差矩阵是和输入feature大小的平方成正比,所以当feature很大的时候,协方差矩阵是可以增长很快的。此时考虑到model参数过多,容易Overfitting,为了有效减少参数,给描述这两个类别的高斯分布相同的协方差矩阵。

此时修改似然函数为 L(μ1,μ2,Σ)。μ1,μ2计算方法和上面相同,分别加起来平均即可;而Σ的计算有所不同。

右图新的结果,分类的boundary是线性的,所以也将这种分类叫做 linear model。如果考虑所有的属性,发现正确率提高到了73%。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值