有监督、无监督与半监督学习【总结】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有监督、⽆监督与半监督学习【总结】
概念
有监督学习:训练数据既有特征(feature)⼜有标签(label),通过训练,让机器可以⾃⼰找到特征和标签之间的联系,在⾯对只有特征没有标签的数据时,可以判断出标签。
⽆监督学习(unsupervised learning):训练样本的标记信息未知,⽬标是通过对⽆标记训练样本的学习来揭⽰数据的内在性质及规律,为进⼀步的数据分析提供基础,此类学习任务中研究最多、应⽤最⼴的是"聚类" (clustering),其他⽆监督算法还有:密度估计(densityestimation)、异常检测(anomaly detection) 等。
半监督学习:训练集同时包含有标记样本数据和未标记样本数据,不需要⼈⼯⼲预,让学习器不依赖外界交互、⾃动地利⽤未标记样本来提升学习性能,就是半监督学习。
主动学习:有的时候,有类标的数据⽐较稀少⽽没有类标的数据很多,但是对数据进⾏⼈⼯标注⼜⾮常昂贵,这时候,学习算法可以主动地提出⼀些标注请求,将⼀些经过筛选的数据提交给专家进⾏标注,这个筛选过程也就是主动学习主要研究的地⽅了。
注:半监督学习与主动学习属于利⽤未标记数据的学习技术,只是其基本思想不同。
内容
1、监督学习
监督学习从训练数据集合中训练模型,再对测试据进⾏预测,训练数据由输⼊和输出对组成,通常表⽰为:
测试数据也由相应的输⼊输出对组成。
输⼊变量与输出变量均为连续的变量的预测问题称为回归问题,输出变量为有限个离散变量的预测问题称为分类问题,输⼊变量与输出变量均为变量序列的预测问题称为标注问题。
监督算法常见的有:线性回归,神经⽹络,决策树,⽀持向量机,KNN等。
2、⽆监督学习
聚类
聚类试图将数据集中的样本划分为若⼲个通常是不相交的⼦集,每个⼦集称为⼀个"簇" (cluster).。
通过这样的划分,每个簇可能对应于⼀些潜在的
概念(类别) ,这些概念对聚类算法⽽⾔事先是未知的,聚类过程仅能⾃动形成簇结构,簇所对应的概念语义需由使⽤者来把握和命名。
聚类既能作为⼀个单独过程,⽤于找寻数据内在的分布结构,也可作为分类等其他学习任务的前驱过程。
先讨论聚类算法涉及的两个基本问题⼀⼀性能度量和距离计算。
【性能度量】
对聚类结果,我们需通过某种性能度量来评估其好坏;直观上看,我们希望"物以类聚",即聚类结果的"簇内相似度" (intra-cluster similarity) ⾼且"簇间相似度" (inter-cluster similarity) 低,聚类性能度量⼤致有两类. ⼀类是将聚类结果与某个"参考模型" 进⾏⽐较,称为"外部指标" 另⼀类是直接考察聚类结果⽽不利⽤任何参考模型,称为"内部指标" 。
对数据集D = {X1 , X2 ,..., Xm },假定通过聚类给出的簇划分为C = {C1,C2 , … ,Ck } ,参考模型给出的簇划分为C* = {C*1,C*2,…,C*s},相应地,令λ与λ*分别表⽰与C 和C*对应的簇标记向量,通常k≠s,我们将样本两两配对考虑,定义:
注:由于每个样本对(Xi,Xj) (i < j) 仅能出现在⼀个集合中,因此有α +b+ c+ d = m(m-1)/2 成⽴。
根据上述四式定义如下性能度量外部指标:
显然,上述性能度量的结果值均在[0 ,1] 区间,值越⼤越好。
【距离计算】
给定样本Xi与Xj,最常⽤的是"闵可夫斯基距离" (Minkowski distance):
即Xi-Xj的Lp范数。
p=2 时,即欧⽒距离(Euclidean distance):
p=1时,即曼哈顿距离(Manhattan distance):
注:闵可夫斯基距离可⽤于连续变量和有序变量。
【原型聚类】
此类算法假设聚类结构能通过⼀组原型刻画,在现实聚类任务中极为常⽤。
通常情形下,算法先对原型进⾏初始化,然后对原型进⾏迭代更新求解.采⽤不同的原型表⽰、不同的求解⽅式将产⽣不同的算法。
1)k 均值算法
给定样本集D = {X1,X2,... ,Xm},k 均值 (k-means )算法针对聚类所得簇划分为K类:C = {C1, C2,..., Ck} ,最⼩化平⽅误差:
其中,µi为Ci的均值向量。
上式在⼀定程度上刻画了簇内样本围绕簇均值向量的紧密程度, E 值越⼩则簇内样本相似度越⾼。
求解上式过程采⽤迭代贪⼼策略求解,算法流程如下:
注:为避免运⾏时间过长,通常设置⼀个最⼤运⾏轮数或最⼩调整幅度。
2)层次聚类
层次聚类(hierarchical clustering)试图在不同层次对数据集进⾏划分,从⽽形成树形的聚类结构. 数据集的划分可采⽤"⾃底向上"的聚合策略,也可采⽤"⾃顶向下" 的分拆策略。
AGNES 是⼀种采⽤⾃底向上聚合策略的层次聚类算法,它先将数据集中的每个样本看作⼀个初始聚类簇,然后在算法运⾏的每⼀步中找出距离最近的两个粟类簇进⾏合并,该过程不断重复,直⾄达到预设的聚类簇个数。
可通过如下式⼦计算聚类距离:
显然,最⼩距离由两个簇的最近样本决定,最⼤距离由两个簇的最远样本决定,⽽平均距离则由两个簇的所有样本共同决定。
当聚类距离分别由min,max,avg决定时,AGNES 算法被相应地称为"单链接" (single-linkage) 、"全链接" (complete-linkage) 或"均链接" (average-linkage)算法。
其他聚类⽅法还有:密度聚类(假设聚类结构能通过样本分布的紧密程度确定),⾼斯混合聚类(采⽤概率模型来表达聚类原型.)。
3、半监督学习
【假设】
要利⽤未标记样本,必然要做⼀些将未标记样本所揭⽰的数据分布信息与类别标记相联系的假设。
假设⼀:" 聚类假设" (duster assumption) ,即假设数据存在簇结构,同⼀个簇的样本属于同⼀个类别。
假设⼆:"流形假设" (manifold assumption) ,即假设数据分布在⼀个流形结构上,邻近的样本拥有相似的输出值"邻近" 程度常⽤"相似"程度来刻画,因此,流形假设可看作聚类假设的推⼴,但流形假设对输出值没有限制,因此⽐聚类假设的适⽤范围更⼴,可⽤于更多类型的学习任务。
事实上,⽆论聚类假设还是流形假设,其本质都是"相似的样本拥有相似的输出"这个基本假设。
【类型】
半监督学习可进⼀步划分为纯半监督学习和直推学习。
前者假定训练数据中的未标记样本并⾮待预测的数据,⽽后者则假定学习过程中所考虑的未标记样本恰是待预测数据,换⾔之,纯半监督学习是基于"开放世界"假设,希望学得模型能适⽤于训练过程中未观察到的数据;⽽直推学习是基于"封闭世界"假设,仅试图对学习过程中观察到的未标记数据进⾏预测。
换⾔之,假设有如下的数据集,其中训练集为X L+X U,测试集为X test,标记样本数⽬为L,未标记样本数⽬为U,L<<U:标记样本(X L,Y L)={(x1:L,y1:L)}
未标记样本X U={x L+1:N},训练时可⽤
测试样本X test={x N+1:},只有在测试时才可以看到
纯半监督学习可以对测试样本X test进⾏预测,直推学习仅仅可以对未标记样本X U进⾏标记,模型不具备对测试样本X test进⾏泛化的能⼒。
参考:
《机器学习》周志华《统计学习⽅法》李航。