监督学习
此条目需要补充更多来源。 (2014年1月18日) |
监督学习(英语:Supervised learning),又叫有监督学习,监督式学习,是机器学习的一种方法,可以由训练资料中学到或创建一个模式(函数 / learning model),并依此模式推测新的实例。[1]训练资料是由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。
一个监督式学习者的任务在观察完一些事先标记过的训练示例(输入和预期输出)后,去预测这个函数对任何可能出现的输入的输出。要达到此目的,学习者必须以"合理"(见归纳偏向)的方式从现有的资料中一般化到非观察到的情况。在人类和动物感知中,则通常被称为概念学习(concept learning)。
回顾
监督式学习有两种形态的模型。最一般的,监督式学习产生一个全局模型,会将输入对象对应到预期输出。而另一种,则是将这种对应实现在一个区域模型。(如案例推论及最近邻居法)。为了解决一个给定的监督式学习的问题(手写识别),必须考虑以下步骤:
- 决定训练资料的示例的形态。在做其它事前,工程师应决定要使用哪种资料为示例。譬如,可能是一个手写字符,或一整个手写的辞汇,或一行手写文字。
- 搜集训练资料。这资料须要具有真实世界的特征。所以,可以由人类专家或(机器或传感器的)测量中得到输入对象和其相对应输出。
- 决定学习函数的输入特征的表示法。学习函数的准确度与输入的对象如何表示是有很大的关系度。传统上,输入的对象会被转成一个特征向量,包含了许多关于描述对象的特征。因为维数灾难的关系,特征的个数不宜太多,但也要足够大,才能准确的预测输出。
- 决定要学习的函数和其对应的学习算法所使用的数据结构。譬如,工程师可能选择人工神經网络和决策树。
- 完成设计。工程师接着在搜集到的资料上跑学习算法。可以借由将资料跑在资料的子集(称为验证集)或交叉验证(cross-validation)上来调整学习算法的参数。参数调整后,算法可以运行在不同于训练集的测试集上
另外对于监督式学习所使用的辞汇则是分类。现著有著各式的分类器,各自都有强项或弱项。分类器的表现很大程度上地跟要被分类的资料特性有关。并没有某一单一分类器可以在所有给定的问题上都表现最好,这被称为‘天下没有白吃的午餐理论’。各式的经验法则被用来比较分类器的表现及查找会决定分类器表现的资料特性。决定适合某一问题的分类器仍旧是一项艺术,而非科学。
目前最广泛被使用的分类器有人工神經网络、支持向量机、最近邻居法、高斯混合模型、朴素贝叶斯方法、决策树和径向基函数分类。
经验风险最小化
监督式学习的目标是在给定一个 (x, g(x))的集合下,去找一个函数g。
假设符合g行为的样本集合是从某个更大甚至是无限的总体中,根据某种未知的概率分布p,以独立同分布随机变量方式来取样。则可以假设存在某个跟任务相关的损失函数 L
其中,Y是g的陪域,且L会对应到非负实数(L可能有其它限制)。如果预测出来g的值是z,但实际值是y,而L(z, y)这个量是其间的损失。
某个函数f的风险是定义成损失函数的期望值。如果概率分布p是离散的(如果是连续的,则可采用定积分和概率密度函数),则定义如下:
现在的目标则是在一堆可能的函数中去找函数f*,使其风险R(f*)是最小的。
然而,既然g的行为已知适用于此有限集合(x1, y1), ..., xn, yn),则我们可以求得出真实风险的近似值,譬如,其经验风险为:
选择会最小化经验风险的函数f*就是一般所知的经验风险最小化原则。统计学习理论则是研究在什么条件下经验风险最小化才是可行的,且预斯其近似值将能多好?
主动式学习
一个情况是,有大量尚未标示的资料,但去标示资料则是很耗成本的。一种方法则是,学习算法会主动去向用户或老师去询问标签。 这种形态的监督式学习称为主动式学习。既然学习者可以选择例子,学习中要使用到的例子个数通常会比一般的监督式学习来得少。 以这种策略则有一个风险是,算法可能会专注在于一些不重要或不合法的例子。
策略和算法
- 人工神經网络
- 案例推论
- 决策树学习
- 最近邻居法
- 支持向量机
- 随机森林
- 学习自动机
应用
常见议题
- 计算学习理论
- 归纳偏向
- 过适现象
- 变形空间
参考文献
外部链接
- Matlab SUrrogate MOdeling Toolbox - SUMO Toolbox - Matlab code for Active Learning + Model Selection + Supervised Learning (Surrogate Modeling)