李宏毅机器学习笔记1——classification(分类)

一、Classification: Probabilistic Generative Model

1.介绍分类

·分类,即在一个函数判断输入数据所属类别,包括二分类(是/否)和多分类(类别1/类别2……)。

·应用范围:信用评分、医疗诊断、手写字符识别、人脸识别等

2.如何进行分类?

首先以二元分类为例,在训练过程中让输入class1的输出为1,输入class2的输出为-1,测试过程中越接近1的为类别1,越接近-1的为类别2。

这样做会出现的问题:

上图中右侧类别1右下角的点如果仍采用绿线预测,会导致新加入的点误差很大,为了降低误差,通常让绿线向右下角偏移。同时,由于回归的输出是连续性质的数值,但分类的输出是离散性质的数值,用回归定义的模型对分类并不适用。

3.理想的选择

引入离散函数g(x)

g(x)>0 output=class 1;else output=class 2

定义损失函数L(f)

该损失函数累加了模型在训练集上预测错误的数据,分类的错误次数越小,函数表现越好。

4.生成概率模型

生成概率模型的过程是先假设数据的概率分布,然后利用概率公式计算x的类型概率,如下图所示:

那么,如何得到P(x|C1)和P(x|C2)的值呢?

我们以分析宝可梦属性为例,上图中x是一只新来的海龟,但我们的训练集中并没有海龟,所以得出的可能性为0,这样显然是错误的。

每一只宝可梦都是用一组特征值组成的向量来表示的,在这个向量中一共有7个特征值,为了方便可视化,此处只选择了defense和SP defense两种特征值。下图采样了79个数据得出的分布,通过高斯分布中采样出海龟的点的几率并不是0,那么如何找到高斯分布的函数呢?

(关于高斯分布的介绍)

高斯函数通过计算均值μ和协方差Σ(均为矩阵),输入向量x,得到x的概率密度。下图中可以发现,同样的协方差,不同的矩阵,概率分布最高点的地方不同。

如果是不同的协方差,同样的均值,此时概率点分布最高的位置一样,但分布密集程度不同。

接下来,通过估计均值和协方差来找出高斯函数,估测的方法是极大似然估计法。

利用极大似然函数,该事件发生的概率等于每个点都发生的概率之积,把每一个点带入进去可以得到关于均值和协方差的函数,分别求偏导,解出微分是0的点,即使L最大的参数,为最终的估测值。

根据上述公式和数据,得出类别1和类别2的参数,即已知了P(C1)、P(C2)、P(x|C1)、P(x|C2)。

基于高斯分布进行分类

得出实验结果:

训练集得出:红色区域>0.5则水系概率大,但测试集中正确率不高。

修正模型

解决方法:对不同的类别共用一个模型协方差矩阵

原因:由于协方差矩阵中的变量与输入样本数量的平方成正比,所以协方差矩阵中的变量在样本数量较多时快速增长,造成过拟合,使用同一组协方差矩阵,可以减少参数。

用均值1、均值2和共同的协方差一起合成一个极大似然函数,实验结果可发现分类效果变好了,分界线变成了线性。

总结:分类问题的三步骤

(1)定义模型集合,样本1属于类别1的概率

(2)定义损失函数loss来评价模型好坏(基于高斯分布)

(3)找到最佳模型

概率分布选择

选择自己喜欢的概率分布,二元特征可用伯努利,所有维度独立可用朴素贝叶斯

后验概率

二、Classification:Logistic Regression

1.函数模型

目标函数Pw,b(C1|x),当Pw,b(C1|x)>0.5,输出C1;否则输出C2

Pw,b(C1|x)=σ(z)=1/(1+exp(-z)),z=w*x+b

最终找到模型fw,b(x)=σ(Σwi*xi+b),这就是逻辑回归

2.判断函数模型好坏

从上述模型中取样得到训练集的概率为:

假设有两个伯努利分布p和q如下,p和q的交叉熵为H(p,q):

所以损失函数即为:

3.找到最佳函数

根据损失函数,可以用梯度下降的方法求解,要想让损失函数最小,可以对其求导。

该式表明,预测值与label相差越大时,参数更新的步幅越大。

4.比较逻辑回归和线性回归

5.为什么逻辑回归中不适用平方误差?

由上图可知,当label值为1时,无论预测值是0还是1,梯度都为0.如果逻辑回归中使用平方误差,当梯度接近于0时,无法判断目前与最优解的距离,无法调节学习率;大多时候梯度接近0,收敛速度会很慢。如下图所示情况:

6.比较判别模型与生成模型

逻辑回归是一个判别模型,而用正态分布描述后验概率则是生成模型。

优劣对比:

生成模型受数据影响较小,对噪音比较鲁棒;判别模型只根据数据来学习,需要更多数据。

对于生成模型,先验的和基于类别的概率(即P(C1)和P(C2))可以通过不同的来源获取。

7.多分类问题(以三分类为例)

对每一个类别计算σ函数,计算softmax,yi可以看作属于类别i的概率。

8.逻辑回归的局限性

如下图所示,加入两个类别,数据中有4个样本,每个样本有2维特征

假如用逻辑回归做分类,找不到一个可以把蓝色样本和红色样本分开的函数

对上述情况采用特征变换。

将原始的数据转换到另外一个空间,在新的特征空间里,找到一个函数将样本间隔开。

对于下图中3个逻辑回归模型,根据颜色分为蓝、绿和红。蓝和绿的目的是将2维特征变换为新的特征,红的作用是在新的特征空间上将样本分类。

上例中的一个逻辑回归即为神经元,进而形成了神经网络。(后续见下一篇)

参考内容

台大李宏毅机器学习——逻辑回归 | 碎碎念

李宏毅机器学习课程笔记-4.3分类模型之逻辑回归 - 知乎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值