机器学习分为:监督学习,无监督学习,半监督学习(也可以用hinton所说的强化学习)等。
在这里,主要理解一下监督学习和无监督学习。
监督学习: (supervised learning)
给定一定的训练样本,要保证这个样本既有数据,又有数据相对应的结果,利用这个样本进行训练得到一个模型(也就是一个函数),然后利用这个模型,将所有的输入映射相应的输出,之后对输出进行简单的判断从而达到了分类(回归)的效果。简单来说,分类就是离散的数据,回归就是连续的数据。
- 监督学习中,他的训练样本中是同时包含有特征和标签信息的。
- 监督学习中,比较典型的问题就是像上面说的分类问题(Classfication)和回归问题(Regression)。
例如:LR,SVM,BP,KNN
无监督学习:(unsupervised learning)
与监督学习不同的是,非监督学习虽然给了样本,但是这个样本只有数据,但是没有对应的结果。要求直接对数据进行分析建模。 (KMeans,DL)比如我们去参观一个画展,我们完全不懂艺术,但是欣赏完多幅作品之后,我们也能把它们分成不同的派别(比如哪些更朦胧一点,哪些更写实一些,即使我们不知道什么叫做朦胧派,什么叫做写实派,但是至少我们能把他们分为两个类)。无监督学习里典型的例子就是聚类了。
- 无监督学习的典型问题就是说的聚类问题,比较有代表性的算法有K-Means算法(K均值算法)、DBSCAN算法等;
- 聚类算法是无监督学习算法中最典型的一种学习算法,它是利用样本的特征,将具有相似特征的样本划分到同一个类别中,而不会去关心这个类别是什么;
- 除了聚类算法外,无监督学习中还有一类重要的算法就是降维的算法,原理是将样本点从输入空间通过线性或非线性变换映射到一个低维空间,从而获得一个关于原数据集的低维表示。
【Question】:什么时候选用监督学习,什么时候选用无监督学习?
如果我们在分类过程中又训练样本,那么可以用监督学习;如果没有训练样本,就要用无监督学习了。而对于不同的场景,正负样本的分布如果会存在偏移(可能是大的偏移,也可能偏移比较小),这样的话用监督学习的效果可能就不如用非监督学习了。
区别 | 监督学习: | 无监督学习: |
有无标签 | 有标签 有监督的过程为先通过已知的训练样本(如已知输入和对应的输出)来训练,从而得到一个最优模型,再将这个模型应用在新的数据上,映射为输出结果。再经过这样的过程后,模型就有了预知能力。 | 无标签 无监督相比于有监督,没有训练的过程,而是直接拿数据进行建模分析,意味着这些都是要通过机器学习自行学习探索。 |
分类/聚类 | 分类 有监督的工作是选择分类器和确定权值,无监督的工作是密度估计(寻找描述数据统计值),这意味着无监督算法只要知道如何计算相似度就可以开始工作。 | 聚类 无监督机器学习的核心是聚类(将数据集合分成由类似的对象组成的多个类)。 |
同维/降维 | 同维 有监督的输入如果是n维,特征即被认定为n维,也即y=f(xi)或p(y|xi), i =n,通常不具有降维的能力。 | 降维 而无监督经常要参与深度学习,做特征提取,或者干脆采用层聚类或者项聚类,以减少数据特征的维度。 |
两者的不同点
1. 有监督学习方法必须要有训练集与测试样本。在训练集中找规律,而对测试样本使用这种规律。而非监督学习没有训练集,只有一组数据,在该组数据集内寻找规律。
2. 有监督学习的方法就是识别事物,识别的结果表现在给待识别数据加上了标签。因此训练样本集必须由带标签的样本组成。而非监督学习方法只有要分析的数据集的本身,预先没有什么标签。如果发现数据集呈现某种聚集性,则可按自然的聚集性分类,但不予以某种预先分类标签对上号为目的。
3. 非监督学习方法在寻找数据集中的规律性,这种规律性并不一定要达到划分数据集的目的,也就是说不一定要“分类”。
这一点是比有监督学习方法的用途要广。 譬如分析一堆数据的主分量,或分析数据集有什么特点都可以归于非监督学习方法的范畴。
4. 用非监督学习方法分析数据集的主分量与用K-L变换计算数据集的主分量又有区别。后者从方法上讲不是学习方法。因此用K-L变换找主分量不属于无监督学习方法,即方法上不是。而通过学习逐渐找到规律性这体现了学习方法这一点。在人工神经元网络中寻找主分量的方法属于无监督学习方法。