[Machine Learning] 分类(Classification)

Keywords

  • Classification(分类)
  • Generative Model(生成模型)
  • Gaussian Distribution(高斯分布)
  • Maximum Likelihood(极大似然估计)

Classification(分类)

  • Input:目标 x
  • Output:这个目标x属于n个Class中的哪个Class

Classification的应用

  • Credit Scoring(信用评分)

    • Input:income(收入), savings(存款), profession(职业), age(年龄), past financial history(金融记录) …
    • Output:accept or refuce(接受或者拒绝贷款)
  • Medical Diagnosis(医疗诊断)

    • Input:current symptoms(当前症状), age(年龄), gender(性别), past medical history(医疗记录) …
    • Output:which kind of diseases(哪种类型的疾病)
  • Handwritten character recognition(手写文字辨识)

    • Input:手写字体
    • Output:字体库中的哪个字
  • Face recognition(人脸识别)

    • Input:image of a face(脸部图像)
    • Output:person(人)

Example Application(应用举例)

  • Input:某一只Pokemon精灵(数值化,一只Pokemon由以下七个数值表示)
    • Total:总体强度
    • HP:生命值
    • Attack:攻击力
    • Defence:防御力
    • SP Atk:特殊攻击力
    • SP Def:特殊防御力
    • Speed:速度
  • Output:这一只Pokemon精灵所属系
    • 皮卡丘——雷
    • 杰尼龟——水
    • 妙蛙草——草

How to do Classification(如何做分类)

  • Training data for Calssification(分类所需的训练数据)

    将已经收集的Pokemon精灵转化为元组训练数据(如下图)

  • Classification as Regression(用Regression的方法进行分类)

    可能这时候你会想,我们可不可以用之前学过的《[Machine Learning] Regression(回归)》的方法来进行Classification(分类)呢?

    假设我们现在只需要将Pokemon精灵分成两类,那么:

    • 训练过程:将Class 1代表 y ^ = 1 \hat{y}=1 y^=1,Class 2代表 y ^ = 2 \hat{y}=2 y^=2的数据作为训练数据,然后对Model进行训练
    • 测试过程:将测试数据代入训练好的Model,将最终Model输出值以0为分界点,Model输出值接近1即为Class 1,Model输出值接近-1即为Class 2

    如果这样做我们会遇到什么问题呢?下面我们来探究一下!

    如上图所示,假设我们现在的Model为 y = b + ω 1 x 1 + ω 2 x 2 y = b+\omega_1x_1+\omega_2x_2 y=b+ω1x1+ω2x2,蓝色点为Class 1( y ^ = 1 \hat{y}=1 y^=1),红色点为Class 2( y ^ = − 1 \hat{y}=-1 y^=1),那么我们最终可以训练出一个类似图中绿色线( b + ω 1 x 1 + ω 2 x 2 = 0 b+\omega_1x_1+\omega_2x_2 = 0 b+ω1x1+ω2x2=0)的Model,Model输出值接近1(比如0.98)的点在线的一边,而Model输出值接近-1(比如-0.52)的点在线的另一边,这显然是个不错的结果。

    但是!如果现在我们的训练数据像下图一样分布,然而我们依旧用Regression(回归)的方法的话,那么结果并不会这么完美

    可以发现,图中多出了一些蓝色点Class 1( y ^ = 1 \hat{y}=1 y^=1)的训练数据,它们距离绿色线( b + ω 1 x 1 + ω 2 x 2 = 0 b+\omega_1x_1+\omega_2x_2 = 0 b+ω1x1+ω2x2=0)很远,即 b + ω 1 x 1 + ω 2 x 2 > > 1 b+\omega_1x_1+\omega_2x_2 >> 1 b+ω1x1+ω2x2>>1,那么在训练过程中,机器就会认为它们是错误的点,因为这些点并不接近1,而是远大于1,这会使得Loss Funtion(损失函数)很大

    所以在用Model为 y = b + ω 1 x 1 + ω 2 x 2 y = b+\omega_1x_1+\omega_2x_2 y=b+ω1x1+ω2x2做Regularization(回归)的时候,最终的Model并不会得到向绿色那样的线,而是会向下倾斜,类似紫色线,机器认为这样的好处就是让那些远大于1的点接近1,使得Loss Funtion(损失函数)变小

    显然,现在出现了一种情况,对于Regularization(回归来说),紫色的线是一个好的Function;但是对于Classification(分类)来说,绿色的线才是一个好的Function。因此,用Regularization(回归)的方法来做Classification(分类)并不是一个好的办法!

    现在还有一个问题!就是在做多分类问题的时候,训练数据会出现一种情况:将Class 1代表 y ^ = 1 \hat{y}=1 y^=1,Class 2代表 y ^ = 2 \hat{y}=2 y^=2,Class 3代表 y ^ = 3 \hat{y}=3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值