博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【MOOC手写体】王文敏教授.《人工智能原理》 第10章 机器学习的任务 Part5 C10.2 Classification 分类...
阅读量:6857 次
发布时间:2019-06-26

本文共 3495 字,大约阅读时间需要 11 分钟。

写在前面:想了一下,这门MOOC可能更适合大一、大二的本科生,和跨专业学生吧。 本文属于知识分享。有兴趣的朋友可以结合MOOC看这篇“音译”。

P5 C10.2——1559

下面,我们讲第十章第一节,Classification,分类。

 

我们首先给出分类的定义,根据定义描述的长度,我们给出三种定义。

首先给出一个较长的定义。分类是这样一种任务,它基于已知类别的训练数据集,来辨识新的观测数据属于哪一组类别。

较短的描述,分类用于解决这样一些问题,其中输出被分为两个或多个类别。

最短的描述,分类是对每个输入数据下指定一个类别。

这三种定义尽管描述的长短不同,但他们对分类的要素是相同的。也就是说,对输入数据划分为类别,并且这个类别是已知的。

 

第一节分成四个小节。首先我们看一下分类是如何工作的。

 

分类需要有一个分类器,Classifier

什么是分类器呢?它是一种实现分类功能,尤其是一种具体去实现分类的算法,被称为一个分类器Classifier。

下面我们介绍一下分类函数,Classifier function。

分类器这个术语,有时还指的是由分类算法所实现的数学函数,它将输入数据映射为一个类别。

 

这张图刻画了分类的训练过程,即Training

训练数据是一个已标注的数据,Labeled Data。即这些训练数据的类别是已知的。

有一个x,通过labeling function,标注得到y。

标注的目的呢,是创建训练样本。通常采用手工标注的方法。

训练样本建立好之后,就用来对学习算法f(x)进行训练。

每次输入一组(x, y)的训练数据。通过训练之后,我们希望得到一个h(x)。h(x)是Hypothesis,假定函数集合当中的一个函数,它也被称为,叫做分类函数。

这个分类函数h(x),和我们目标的f(x)之间,要满足具有最小的泛化和经验错误。

分类算法训练好了之后我们得到了h(x),就可以用来进行实际的分类了。

我们如图所示。这个时候的输入数据是未知数据。我们根据已经训练好的假定函数h(x)进行分类,得到相应的 y 的映像,最后得到分类结果。

我们看,在未知类别的时候,通过分类,得到了已知的类别。

 

刚才的两页分别是分类算法的训练和实测的示意图。

下面给出一种分类的形式化描述。

Rn 表示一个n维实数向量集合。输入空间XRn 的子集,输出空间 Y ,是一个类别,categories。DXY笛卡尔积上的一个未知分布。

我们给定一个标注函数labeling function,这个labeling function也可以称其为分类函数classifier function。然后给定一个训练的集合,training dataset,也称为标注好的训练样本集合。训练样本集合S表示为x(i)和y(j)元素的集合。其中(x, y)属于大写的XY的笛卡尔乘积,i和j的取值范围分别为1到m和1到n。

分类算法要给定一个假定函数集合。大写的HXY的一个映射的函数。我们的目的是得到一个假定的函数,属于大写的H集合当中的一个小写的h, h是XY的映射。我们的目的是,使得h(x)与我们既定的f(x)之间,具有最小的泛化错误和经验错误。

把分类算法训练好以后,已经得到了h(x)。我们在实际的分类处理过程中,就是对未知的数据进行实际测试,未知的数据我们可以表示成一个大写的X集合。我们使用刚才已经训练好的classifier function,小写的h(x),将X映射到Y的过程。我们通过分类得到这样一个分类的集合,小写的y属于大写的Y的空间,并且呢j属于1到n。它是通过每一个x向量,将其映射到y的向量的这么个过程。其中大写的Y是输出空间,它被称为一个叫做已知的类别的集合。

 

下面我们讲第二小节,线性分类和非线性分类。

 

首先我们看线性分类。

所谓线性分类,是通过线性分类器进行分类的。我们如图所示,我们会看到有这样一个线性的将二维数据空间的数据分成两个类别。

一个线性分类器具有如下两个特征:

首先,它是一个线性判别函数,此外它还具有一个线性决策边界 linear decision boundary。

 

我们给一个简单的线性分类器的案例分析。

这是一个简单的线性分类器的一个表达式,其中w表示行向量,它是权值的向量,x则表示为列向量,记作这个表达式,其中b则表示偏差值。从右图可以看出,我们这个线性分类函数,当结果等于0的时候恰好为这一条线。大于0和小于0,分别将数据分成两个类,因此它是一个线性的二元分类的例子。

 

我们再看一下非线性分类。

所谓的非线性分类,是通过一个非线性分类器进行分类的。非线性分类器也有如下两个特点:

第一,   有若干个非线性决定边界。

二,决定边界很可能是非连续的。

下面这个图呢,就是一个非线性分类的例子。它通过支持向量机SVM中的和函数,来解决非线性分类问题。关于支持向量机及其和函数的介绍的书籍和参考资料有很多,感兴趣的可以到网上查阅一下。

那么对这张图我们会看到,这个非线性的分类器的这个曲线,是非连续的。也就是说不是一条曲线可以把它决定下来的。

 

下面我们讲第三小节,分类的维度和类的个数。

 

首先看一下类的维度。

如果问题空间是n维的,则它的分类器的维度为n-1的超平面。超平面英文称为hyper-plane。例如,对二维数据来说,它的分类器则是一条线,也就是说,二维的数据的分类器是2-1,是一维的一条线。同样,对于三维的数据来说,它的分类器是一个二维的平面,如右边这两个图所示。

 

下面我们再看一下类的个数。

也就是说通过分类得到的类的个数,或者我们已知的类的个数。

为了叙述方便起见,我们在这个线性分类器里面增加了两个个下角标k。对于二元分类来说k等于2,当k大于2时,它是一个多元分类的问题。

左下图是一个二元分类,也就是说通过一条线,把数据分成两个部分。这叫做二元分类。当然对于三维空间的数据来说,它是一个二维的平面。多元分类器右下角这个例子呢,则是一个三元分类,也就是把数据分成三个已知的类别。

 

关于分类的算法的介绍,在其他书籍和相应的资料呢,有很多。比如说支持向量机,通过线性回归的方法进行分类等等,算法很多很多。

我们这里呢,是给一个案例分析,是分析这种叫做Softmax的分类器。

Softmax分类器呢,是一个多元分类器,它通过softmax函数来实现多元分类。

Softmax函数如中间这个表达式所示。它将一个任意实数值的k维向量x,映射到一个实数值的k维向量 。其中j等于1到k。表示k个维度,也就是说把它分为k个类别。

在概率论中,softmax的函数可以用来表示一个类的分布,就是说一个涵盖K个不同类别的可能结果的概率分布。如下面这个表达式所示,其中j等于1到k表示它是第j个类别。

Softmax函数已经被用于各种多元分类的算法当中。例如在多项式逻辑回归当中。这里面logistic regression用到了regression这个词,regression通常被翻译成回归,我们后面会讲到回归的问题。但在这里是用来做分类的,尽管它的名称里面用到了regression这个词。

此外多元线性判别分析当中也用到了softmax函数。

此外还有朴素贝叶斯分类。

用的比较多的呢,还有人工神经网络,softmax作为人工神经网络的最后一层来进行多元分类。右侧的这个图就是多元神经网络的最后一层和倒数第一层,我们会看到在倒数第一层经过全连接,将结果送到相应的多元分类的神经元上。那么每一个我们会看到当Y=1,2和m的时候,分别会得到它相应的类别。

 

下面讲第四小节,分类的应用和主要算法。

 

分类的应用,应该是在机器学习当中,最多的了。

例如像计算机视觉当中,医学影像与图像分析,手写识别与OCR,动作识别与视频跟踪,等等。

此外在模式识别当中,有人脸识别、语音识别、指纹识别等各种生物识别。

在自然语音处理当中,也要大量地用到了分类问题。

此外还有文档分类问题,例如垃圾邮件分类,把它分成垃圾邮件和非垃圾邮件。

此外在互联网搜索引擎当中也要用到分类的问题。还有信用、评分等等。

 

分类的代表性算法有很多。

常用的有AdaBoost。AdaBoost是adaptive boosting的缩写。Boosting是一类自适应增强算法的名称。此外我们刚才介绍了像人工神经网络,还有k近邻,还有支持向量机等等。

转载于:https://www.cnblogs.com/flagbat/p/9706013.html

你可能感兴趣的文章
【小工匠聊Modbus】08-功能代码01H
查看>>
高可靠性、超大规模、极致性能、灵活部署的阿里云Apsara Block Storage,你pick嘛?...
查看>>
Mealy和moore型状态机的主要区别
查看>>
shell笔记
查看>>
如何在Docker中测验Jsp连接数据库mysql的操作(制作成一个镜像)
查看>>
2018年10大最佳SDN解决方案(迄今为止)
查看>>
Linux环境下安装mysql并分配用户权限
查看>>
Linux中动态探针kprobes
查看>>
div盒子水平垂直居中方法
查看>>
VR视频创作,想说爱你不容易
查看>>
笨办法学 Python · 续 练习 23:三叉搜索树
查看>>
可穿戴设备不能急于戴上“智能”的高帽子
查看>>
扒一扒政府的专用黑客组织ZooPark
查看>>
Ubuntu下Deb软件包相关安装与卸载
查看>>
互联网转型需要微服务架构
查看>>
Airbus Safran Launchers:选择西门子彻底改革产品生命周期流程
查看>>
文本数据的分分合合
查看>>
无损音乐知识收集2(转)
查看>>
Java几种常见的四舍五入的方法
查看>>
vim 工具(一)
查看>>