Non-Separable Data And Types of Learning

2019-09-20 15:30:54 浏览数 (1)

Non-Separable Data And Types of Learning

0.说在前面

1.PLA优缺点

2.Packet Alogrithm

4.Leaning with Different Output Space Y

5. Learning with Different Data Label yn

6.Learning with Different Protocol f(xn,yn)

7.Learning with Different Input Space X

8.作者的话

0.说在前面

上一节最终得出结论,PLA可以停下来并正确分类,但是停下来之前需要满足数据集是线性可分的。

但是如果是非线性情况,w(f)实际上并不存在,那之前的推导跟结论也就不正确。

因此本节主要讨论在线性可分的PLA上做出修改后的Packet Algorithm算法。 除此之外,介绍一下机器学习的种类。

1.PLA优缺点

优缺点图

2.Packet Alogrithm

对于非线性可分的情况,我们可以把它当成是数据集D中掺杂了一些noise,事实上,大多数情况下,我们的数据集在收集资料中就存在一些noise.此时的机器学习流程为:

Packet算法图

那么到这里就提出了一个问题:当数据集不是线性可分或者说数据集有noise情况下,还是可以找到一条好的线呢?

假设noise很小,小的状况下,y与f有一定的对应程度。

现在的情况是,我们假设找不到一条完美的线,那么我们找可以一条所犯错误最小的线(最好的线)。

有噪点图

事实上,上面的解是NP-hard问题,难以求解!

然而我们可以利用上述思想,通过找一条犯错误最小的线,将其应用到非线性可分数据集中,获得近似最好的g。、

那么这个思想就被称为,修改后的PLA,简称Packet Algorithm。

思想

类似于PLA,不同之处在于,在修正同时,将修正后的线划分的错误点个数与修正之前的错误点个数比对,取个数较小的直线作为当前选择的分类直线。

之后,经过n次迭代,不断比较当前分类错误点个数与之前最少的错误点个数比较,选择最小的值保存。直到迭代次数完成后,选取个数最少的直线对应的w,即为我们最终想要得到的权重值。

Packet算法图

对于线性可分的资料,一般情况下,Pocket Algorithm要比PLA速度慢一些!

原因:PA要存储,其次是要检查哪条线比较好。

4.Leaning with Different Output Space Y

上几节中提到了银行发卡例子,发卡用 1表示(正类),不发卡用-1表示(负类)。

这个在分类问题中为二元分类问题,除了这个例子之外还有判断邮件是否为垃圾邮件,患者是否患癌症等。

二元分类分为线性和非线性模型。需要根据情况选择相应的模型。

在大类方面除了,二分类以外,还包括多分类问题。多分类问题描述为,输出多于两个,y={1,2,…,K},K>2。一般多分类的应用有数字识别、硬币价值分类等。

上述提到的不管是二分类,还是多分类问题,输出都为离散值。而像预测房价股票收益等情况,输出为连续值,则称这类问题叫做回归。比如线性回归就是一个简单的模型。

除了分类和回归之外,在NLP领域,经常用到的一个机器学习问题:结构化学习(Structured Learning)。结构化学习的输出空间包含了某种结构在里面,由于比较复杂,所以这个在后续的学习中,深入研究。

5. Learning with Different Data Label yn

【监督式学习】英文为:Supervised Learning ,描述为对于一个训练样本D既有输入特征x,也有输出yn

典型的监督式学习包括:

二分类多分类回归,最重要的是知道输出标签yn

【非监督式学习】 英文为:Unsupervised learning,描述为对于一个训练样本D只有输入特征x,而无输出yn

典型的非监督学习包括:

聚类问题,比如:对网页上新闻的自动分类;

密度估计,比如:交通路况分析;

异常检测,比如:用户网络流量检测;

两者对比:非监督学习可以用监督学习方法来解决相应的问题,而且非监督一般要比监督学习复杂一点。

【半监督学习】 英文为:Semi-supervised Learning,描述为一部分数据有输出标签yn,另一部分输出没有标签yn。

在现实生活中,半监督学习会经常用到,比如医药公司对某些药物进行检测,由于受到成本和实验人群限制等问题,只有一部分数据有输出标签yn。这时候就需要用到监督学习。

【增强学习】 英文为:Reinforcement Learning,又称强化学习,描述为我们给模型或系统一些输入,但是给不了我们希望的真实输出y,根据模型的输出反馈,如果反馈结果良好,更接近真实输出,就给其奖励,反之,偏离真输出,就给惩罚,这种不断通过“反馈-修正”的形式,一步一步让模型学习的更好,这就是增强学习的核心所在。

实例:增强学习可以类比成训练宠物的过程,我们给狗发一条“sit down”的指令,在训练过程中,如果它表现得好,我们就给予奖励,否则给予惩罚。这样不断修正狗的动作,最终让它能按照我们的指令来行动。

6.Learning with Different Protocol f(xn,yn)

【Batch Learning】

一次性拿到整个D,对其进行学习建模,得到最终的机器学习模型。最广泛的一种。

【Online】

一种在线学习模型,数据实时更新,根据数据一个一个进来,同步更新我们的算法。比如邮件过滤系统,根据每封邮件的内容,不断判定是否为垃圾邮件,再根据用户反馈,及时更新算法。类似于这种动态且在线的过程还有前面提到的PLA和增强学习。

【Active Learning】

新出现的一种机器学习类型,即让机器具备主动问问题的能力,例如:手写数字识别,机器可以主动提问。

这种方法的优势之处在于获取样本label困难时候,可以节约成本和时间,只对一些重要的label提出问题。

7.Learning with Different Input Space X

前面提到了输出空间进行分类,根据输出y进行打label,那么本节将输入X有哪些类型。

【concerte features】

具体的特征,X的每个维度都具有复杂的物理含义。比如说年龄,性别,年收入等等。使用具体的特征进行学习。

【raw features】

考虑一个"手写数字识别"任务,如果使用具体特征,我们可以考虑对称性、密度之类的。

手写数字识别图

如上图所示,仅分类1,5两类,可以注意到1的对称性更强,密度更低。

所以1的实例大部分分布在左上角,5在右下角。 这就是根据具体特征来学习。

考虑更原始的特征,即图片的像素。每张图片的分辨率都是16∗16,16∗16,所以可以将输入图转化为一个256维的向量。每个维度的物理含义很简单,代表一个像素点。原始特征的物理含义更简单,因此机器根据原始特征进行学习过程更难。

原始特征经常需要人工或机械地转化为具体特征,转化的过程叫做特征工程,深度学习也是特征工程的一种。

【abstract features】

抽象特征如用户id,或者加密过的资料编号,这些特征X完全抽象,几乎没有物理含义,更需要进行特征工程。

8.作者的话

以上正文图片来源于林老师课程! 最后,您如果觉得本公众号对您有帮助,欢迎您多多支持,转发,谢谢! 更多内容,请关注本公众号机器学习系列!

0 人点赞