机器学习基石 Lecture3: Types of Learning
机器学习基石 Lecture3: Types of Learning
Learning with Different Output Space
Binary Classification
回忆Lecture2中讲到的例子。在拥有了用户的信息之后给出是否给用户下发信用卡的判断,输出空间。这种问题叫做二元分类问题(binary classification)。这个问题是机器学习里的一个核心问题,也是构造很多其它问题解法的基础。还有些二分类的例子:
Multiclass Classification
假如分类多于两种,那么就叫做多分类问题(multiclass classification)。比如将美元硬币分类,有(1c,5c,10c,25c)四种面值的硬币,因此需要将硬币分为四类。即输出空间,再进一步抽象得输出空间,二分类是时的特殊情况。这类问题实际中很常见,特别是识别问题中。还有些其它多分类的问题:
Regression
当输出空间或时这种问题叫做回归问题。比如预测一个病人康复的时间。这个问题在统计学里也是一个核心的问题。这个也是用来解决其它问题的一个重要方法。还有些其它回归问题如:
Structure Learning
当我们预测一个句子中每个词的词性时,这是一个多分类问题。但是如果把整个句子作为对象,预测整个句子中词语词性的结合,这个问题就是个结构学习的问题。比如预测句子结构的输出空间可能是。这个问题也可以看做是一个输出空间非常大的多分类问题,这个类别就是结构,因此也没有具体的类型的定义。结构学习的问题很前沿但是也很困难。还有些其它的例子如:
Learning with Different Data Label
Supervised Learning
回到上次的硬币分类的例子。对于每个硬币,都需要给算法提供一个对应的分类结果。这种学习算法叫做监督学习。
Unsupervised Learning
同样是硬币分类,如果在学习时不为算法提供每个硬币的分类结果而让算法进行多分类,这种问题就叫做无监督学习。特别的,无监督学习的多分类问题一般是聚类问题(clustering)。对于算法而言可能看到的硬币分布如下图:
还有些其它聚类问题,如文章主题聚类和消费者聚类等等。除了聚类问题之外还有其它一些无监督学习方式,如下图:
无监督学习是个很广泛的问题,有可能有着不同的评估目标。
Semi-supervised Learning
半监督学习,指的是对于部分样本有对应的结果标签,但不是所有都有。介于监督学习与非监督学习之间。
半监督学习可以利用没有标签的数据而不用对每个数据都打标签。还有些半监督学习的例子比如:
Reinforcement Learning
假如你现在训练自己的宠物狗学习坐下的动作。对应的是你发出的指令,而狗做出的动作是。而狗可能做出别的动作,这时候你会给它一个惩罚。而如果它做对了动作给它一个奖励,最终它会学会坐下的动作。这个形式的学习算法叫做强化学习。强化学习是学习部分或者是隐式的信息,通常是序列形式。其它强化学习的例子如:
Learning with Different Protocol
Batch Learning
像之前的分类硬币的例子中,是将一堆样本丢给算法学习,之后得到一个结果。这样学习的模式叫做Batch Learning。通常情况都是使用这种学习方式。其他的例子有:
Online Learning
和硬币分类不同,在线垃圾邮件分类的程序不能一成不变。因此要对于不断产生的例子进行对应的改进。这种不断观察例子不断改进自身的学习方式叫做在线学习。Lecture2中讲的PLA算法能够很自然地应用成在线学习的形式。而强化学习一般也是实现为在线形式。
Active Learning
不管是Batch Learning还是Online Learning都是被动的等待样本进行学习,还有一种学习模式叫做主动学习。算法可以根据某些策略,主动地挑出一些样本像实际的目标函数“询问”应该对应的标签。这类似于主动问问题因此叫做Active Learning。可以通过对于询问策略的设计完成用很少的标签就能完成对假设的改进。
Learning with Different Input Space
Concrete Features
之前所讲的例子里,对算法输入的样本的都是一些具体的特征,比如下发信用卡例子中输入为申请人的各项信息。这些特征可能包含了人类的专业知识(domain knowledge),也可能代表的是具体的物理特征。这些特征对于机器学习是比较容易来学习的。还有些例子如:
Raw Features
当我们需要进行手写数字的辨别时,需要考虑输入给机器学习算法什么样的特征。可以使手动构造后的特征比如手写数字图片的图像密度和对称性等等。这个构造过程叫做特征工程(feature engineering)。也就是把原始特征转化为具体的特征。也可以将这些原始的特征直接输入机器学习算法,比如将16x16大小的手写数字图像的灰度图直接归一化之后作为输入。
Abstract Features
有时候提供的是一些很抽象的特征。比如当我们预测用户对某个物品的评分,我们有的数据可能只有(userid, itemid, rating)这样的三元组。id号这样的特征就叫做抽象特征。这是个 而 的回归问题,这里的输入没有具体的物理特征。因此也需要进行特征工程提取特征。还有些其它例子如: