目录
Supervised learning 监督学习 VS Unsupervised learning 无监督学习
Supervised learning 监督学习
- 从给定的训练数据集中学习出一个函数(模型参数);
- 输入新的数据时,根据这个函数/模型可以得到预测结果。
监督学习的训练集要求包括输入输出,也可以说是特征和目标。训练集中的目标是由人标注的。
监督学习就是最常见的分类(注意和聚类区分)问题:
- 通过已有的训练样本去训练得到一个最优模型;
- 训练样本:即已知数据及其对应的输出;
- 最优模型:这个模型属于某个函数的集合,最优表示某个评价准则下是最佳的;
- 利用这个模型将所有的输入映射为相应的输出,对输出进行简单的判断从而实现分类的目的。也就具有了对未知数据分类的能力。
- 监督学习的目标往往是让计算机去学习我们已经创建好的分类系统(模型)。
监督学习是训练神经网络和决策树的常见技术。
这两种技术高度依赖事先确定的分类系统给出的信息,对于神经网络,分类系统利用信息判断网络的错误,然后不断调整网络参数。对于决策树,分类系统用它来判断哪些属性提供了最多的信息。
常见的有监督学习算法:回归分析和统计分类。最典型的算法是KNN和SVM。
Unsupervised learning 无监督学习
- 输入:数据没有被标记,也没有确定的结果。
- 样本数据:类别未知,需要根据样本间的相似性对样本集进行分类/聚类,试图使类内差距最小化,类间差距最大化。
通俗点,就是实际应用中,不少情况下无法预知样本的标签,也就是说没有训练样本对应的类别,因而只能从原先没有样本标签的样本集开始学习分类器设计。
非监督学习目标不是告诉计算机怎么做,而是让它(计算机)自己去学习怎样做事情。
无监督学习的方法分为两大类:
- 基于概率密度函数估计的直接方法:设法找到各类别在特征空间的分布参数,再进行分类。
- 基于样本间相似性度量的简洁聚类方法:设法定出不同类别的核心或初始内核,然后依据样本与核心之间的相似性度量将样本聚集成不同的类别。
利用聚类结果,可以提取数据集中隐藏信息,对未来数据进行分类和预测。应用于数据挖掘,模式识别,图像处理等。
Supervised learning 监督学习 VS Unsupervised learning 无监督学习
有标签 vs 无标签
有监督机器学习又被称为“有老师的学习”,所谓的老师就是标签。
- 有监督的过程为先通过已知的训练样本(如已知输入和对应的输出)来训练,从而得到一个最优模型,再将这个模型应用在新的数据上,映射为输出结果。再经过这样的过程后,模型就有了预知能力。
无监督机器学习被称为“没有老师的学习”。
- 无监督相比于有监督,没有训练的过程,而是直接拿数据进行建模分析,意味着这些都是要通过机器学习自行学习探索。这听起来似乎有点不可思议,但是在我们自身认识世界的过程中也会用到无监督学习。比如我们去参观一个画展,我们对艺术一无所知,但是欣赏完多幅作品之后,我们也能把它们分成不同的派别。比如哪些更朦胧一点,哪些更写实一些。即使我们不知道什么叫做朦胧派和写实派,但是至少我们能把他们分为两个类。
分类 vs 聚类
有监督机器学习的核心是分类,有监督的工作是选择分类器和确定权值,
无监督机器学习的核心是聚类(将数据集合分成由类似的对象组成的多个类)。无监督的工作是密度估计(寻找描述数据统计值)。这意味着无监督算法只要知道如何计算相似度就可以开始工作。
同维 vs 降维
有监督不具有降维的能力,如果输入是n维,特征即被认定为n维。
无监督具有降维的能力,其参与深度学习,做特征提取,或者干脆采用层聚类或者项聚类,以减少数据特征的维度。
分类同时定性 vs 先聚类后定性
有监督的输出结果,也就是分好类的结果会被直接贴上标签,是好还是坏。也即分类分好了,标签也同时贴好了。类似于中药铺的药匣,药剂师采购回来一批药材,需要做的只是把对应的每一颗药材放进贴着标签的药匣中。
无监督的结果只是一群一群的聚类,就像被混在一起的多种中药,一个外行要处理这堆药材,能做的只有把看上去一样的药材挑出来聚成很多个小堆。如果要进一步识别这些小堆,就需要一个老中医(类比老师)的指导了。因此,无监督属于先聚类后定性,有点类似于批处理。
独立 vs 非独立
手动对数据做标注作为训练样本,并把样本画在特征空间中,发现线性非常好,然而在分类面,总有一些混淆的数据样本。
这种现象的一个解释是:
- 不管训练样本(有监督),还是待分类的数据(无监督),并不是所有数据都是相互独立分布的。
- 数据和数据的分布之间存在联系。作为训练样本,大的偏移很可能会给分类器带来很大的噪声,而对于无监督,情况就会好很多。
可见,独立分布数据更适合有监督,非独立数据更适合无监督。
不透明 vs 可解释性
由于有监督算法最后输出的一个结果/标签,一定是会有一个倾向。但是,
- 探究为什么会这样?
- 有监督会告诉你:因为我们给每个字段乘以了一个参数列[w1, w2, w3…wn]。
- 为什么是这个参数列?为什么第一个字段乘以了0.01而不是0.02?
- 有监督会告诉你:这是我自己学习计算的!然后,就拒绝再回答你的任何问题。
- 是的,有监督算法的分类原因是不具有可解释性的,或者说,是不透明的,因为这些规则都是通过人为建模得出,及其并不能自行产生规则。所以,对于像反洗钱这种需要明确规则的场景,就很难应用。
无监督的聚类方式通常是有很好的解释性的,
- 为什么把他们分成一类?
- 无监督会告诉你,他们有多少特征有多少的一致性,所以才被聚成一组。你恍然大悟,原来如此!于是,进一步可以讲这个特征组总结成规则。如此这般分析,聚类原因便昭然若揭了。
DataVisor无监督独有的拓展性
试想这样一个n维模型,产出结果已经非常好,这时又增加了一维数据,变成了n+1维。那么,如果这是一个非常强的特征,足以将原来的分类或者聚类打散,一切可能需要从头再来,尤其是有监督,权重值几乎会全部改变。而DataVisor开发的无监督算法,具有极强的扩展性,无论多加的这一维数据的权重有多高,都不影响原来的结果输出,原来的成果仍然可以保留,只需要对多增加的这一维数据做一次处理即可。
如何选择有监督和无监督
简单的方法就是从定义入手,有训练样本则考虑采用监督学习方法;无训练样本,则一定不能用监督学习方法。但是,现实问题中,即使没有训练样本,从待分类的数据中,人工标注一些样本,并把它们作为训练样本,这样的话,可以把条件改善,用监督学习方法来做。对于不同的场景,正负样本的分布如果会存在偏移(可能大的偏移,可能比较小),这样的话,监督学习的效果可能就不如用非监督学习了。
写在后面的话,人工标注成本代价高,误差大,个人认为后期研究倾向于无监督学习,但是无监督学习的计算量也随之上升,又有待考量!