
1.1.3 机器学习的任务类型
如上所述,机器学习要应对很多应用场景,并包含面对各种数据的经验,而机器学习系统也包含不同的类型,所以我们有必要在不同层面上对它们进行较为粗略的区分,这些“不同层面”可以是:
❑ 是否在人类的监督下进行学习;
❑ 是否增量学习或者在数据流上学习;
❑ 是否仅仅将新数据点与老数据点进行比较,抑或建立一个预测模型,类似于科学家通常所做的(基于数据或基于模型)。
这三个层面并不会互相排斥,相反,一个机器学习任务往往是这三种区分的组合。例如,一个先进的深度学习系统在一个实时数据流上学习如何区分垃圾邮件,这显然是一个基于模型的在线监督学习系统。
根据是否在人类的监督下进行学习这个问题,机器学习任务区分如下:
❑ 监督学习:监督学习算法依赖具有标签的训练数据来建立数学模型。例如,如果任务是鉴定图片是否包含某种实体,那么训练集的图片中就应该同时存在包含与不包含该实体的图片,同时,每张图片需标注是否包含该实体的标签。根据标签的数值特征(连续、离散),监督学习又可以分为分类问题与回归问题。
❑ 半监督学习:在某些情况下,并不是所有的输入数据集都被有效标注了,即训练集中包含已标注的样本和未标注的样本。实际上未标注样本与已标注样本拥有同样的分布,在训练时若能利用这一点,则会很有帮助。
❑ 无监督学习:无监督学习算法完全利用不带标签的训练数据去训练一个模型。无监督学习用于探索数据的分布,例如将点聚类等。无监督学习可用于发现数据的潜在模式,并将数据按组归类,还可用于特征学习和数据降维等。
❑ 强化学习:在动态环境中以正或负强化的形式给出反馈,并用于自动驾驶车辆,或者学习与人类对手玩游戏等。
❑ 主动学习:在预算访问有限等情况下,算法通过交互式的形式来询问用户和其他信息源,以更新和预测新的数据点所期望的输出。
❑ 元学习:元学习是要“学会如何学习”,即利用以往的知识经验来指导新任务的学习。
相应地,根据是否在实时数据流上学习这个问题,机器学习任务区分如下:
❑ 离线学习:在离线学习中,系统不能在增量的数据上进行学习,只能在更新的全部数据集上重新学习,这必然会增加更多的时间成本和计算资源。一旦模型完成学习便应立即部署到系统中运行,且不再继续学习。如果用户想对新来的数据进行学习,那么必须将新数据和旧数据组合,重新训练模型,停止旧系统并将其替换成新系统。
❑ 在线学习:在线学习中,用户可以增量地训练模型,将数据一次一次地喂入模型,每一次独立的数据组被称作mini-batch,每一次新的学习都快速而轻便。
在是否对比旧数据点上,机器学习任务区分如下:
❑ 基于样本的学习
❑ 基于模型的学习