学习算法的作用
首先正如西瓜书中所说:
《机器学习》P1:机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”(model)的算法,即“学习算法”(learning algorithm)
这句话可以理解为,学习算法基于喂入的经验数据(训练集)建立数学模型,若检验(测试集)模型误差在容许范围内,则该模型可以基于喂入的输入数据帮助我们对具体的应用场景做出判断。
《机器学习》P1:机器学习是研究关于“学习算法”的学问
“数据集”:对样本空间的采样
“数据集”(data set)中的每条记录是一个“示例”(instance)或样本(sample),数据集会将所描述的物体分为一种或多种“属性”(attribute)或“特征”(feature),其取值为“属性值”(attribute value),多个属性可以张成“属性空间”(attribute space),其中每个示例对应一个“特征向量”(feature vector)。
建立一个用于预测的模型,仅有示例数据是不够的,我们还需要与训练数据一一对应的结果信息,即“示例”的结果,称为“标记”(label),也称作“教学值”,这类拥有标记信息的示例称为“样例”(example)
训练与测试
基于某种学习算法,从经验数据中学习模型的过程称为“训练”,所使用的经验数据集称为“训练集”。
学习到的模型对应数据集所属样本空间的潜在规律,因此将习得的模型称为“假设”,而潜在规律本身则是“真相”。
基于学习算法的训练过程就是使得“假设”尽可能接近“真相”,验证“假设”合理性的过程称为“测试”,即测试训练过程所建模型的准确性,此时用到的测试样本集称为“测试集”(testing sample)。
监督学习:回归与分类
对于有标记的训练数据,针对标记信息的“离散”或“连续性”,将学习过程分为“分类”和“回归”两类。
《机器学习》P3:若欲预测的是离散值,例如“好瓜” “坏瓜”,此类学习任务称为“分类”(classification),若欲预测连续值,例如西瓜成熟度0.95、0.37,此类学习任务称为“回归”(regression)。
无监督学习:聚类
若对样本的预测结果没有预期,借助于算法使训练集自动分类为若干组,每组称为一个“簇”,这个过程称为聚类(clustering)。
《机器学习》P3:
这些自动形成的“簇”可能对应一些潜在的概念划分,例如“浅色瓜” “深色瓜”,甚至“本地瓜” “外地瓜”。
这样的学习过程有助于我们了解数据内在的规律,能为更深入地分析数据建立基础。
《机器学习》P3:需要说明的是,在聚类学习中,“浅色瓜” “本地瓜”这样的概念我们事先是不知道的,而且学习过程中使用的训练样本通常不具有标记信息。
半监督学习
参考:目前,利用未标记示例的主流学习技术主要有三大类,即半监督学习(semi-supervised learning)、直推学习(transductive learning)和主动学习(active learning)。
首先需要说明的是,利用无标记数据集的算法有多种,本文主要关注半监督学习。
事实上对数据进行标记的代价较大,标记数据需要付出大量的人力物力,具有标记的数据集较难获取,但是随着数据收集与存储技术的发展,未经标记的数据却较容易获得。举个具体的例子,
在计算机辅助医学图像分析中,我们可以从医院获得大量的医学图像作为训练集用于数据分析,但是若要求大夫标注出每张图片上的病灶位置,这就需要大量的人力、物力、时间。
针对上述实际问题,出现了半监督学习的概念。半监督学习的特点是将未标记数据与少量标记数据结合使用,能够同时利用监督学习的低歧义性与无监督学习对数据结构性特征的捕捉能力。
首先,为何可以利用无标记数据集改善学习性能?
参考:
在介绍具体的半监督学习技术之前,有必要先探讨一下为什么可以利用未标记示例来改善学习性能。关于这个问题,有不少研究者给出了解释。例如,D.J. Miller 和 H.S. Uyar [MillerU97] 从数据分布估计的角度给出了一个直观的分析。他们假设所有数据服从于某个由 L 个高斯分布混合而成的分布,即
其中为混合系数,为参数。
这样,标记就可视为一个由选定的混合成分mi和特征向量xi以概率P(ci | xi, mi) 决定的随机变量。于是,根据最大后验概率假设,最优分类由式 2 给出:
其中:这样,学习目标就变成了利用训练例来估计P(ci = k | mj = j, xi)和P(mi = j | x)。这两项中的第一项与类别标记有关,而第二项并不依赖于示例的标记,因此,如果有大量的未标记示例可用,则意味着能够用于估计第二项的示例数显著增多,这会使得第二项的估计变得更加准确,从而导致式 2 更加准确,也就是说,分类器的泛化能力得以提高。此后,T. Zhang和F. J. Oles [ZhangO00] 进一步分析了未标记示例在半监督学习中的价值,并指出如果一个参数化模型如果能够分解成P(x, y | θ) = P(y| x, θ) P(x | θ) 的形式,那么未标记示例的价值就体现在它们能够帮助更好地估计模型参数从而导致模型性能的提高。
强化学习
强化学习的思路类似于绩效奖励的过程,它对取得好结果的策
略加强训练以继续取得较好的结果。
区别于前三种学习方式,强化学习不需要喂入大量的数据,而是通过自己不停地尝试学会某种技能。
强化学习作为一种还不成熟的学习算法,目前最主要的应用场景是游戏、机器人等。
2016年:AlphaGo Master 击败李世石,使用强化学习的 AlphaGo Zero 仅花了40天时间,就击败了自己的前辈 AlphaGo Master。
《被科学家誉为「世界壮举」的AlphaGo Zero, 对普通人意味着什么?》
2019年1月25日:AlphaStar 在《星际争霸2》中以 10:1 击败了人类顶级职业玩家。
《星际争霸2人类1:10输给AI!DeepMind “AlphaStar”进化神速》
2019年4月13日:OpenAI 在《Dota2》的比赛中战胜了人类世界冠军。
《2:0!Dota2世界冠军OG,被OpenAI按在地上摩擦》
总结
- 监督学习 与 无监督学习
《机器学习》P3:根据训练数据是否拥有标记信息,学习任务可大致划分为两大类:“监督学习”(supervised learning)和“无监督学习”(unsupervised learning),分类和回归是前者的代表,而聚类则是后者的代表。
进一步理解这段话:
监督学习对模型的输出有既定的预期(训练集有label,即教学值),而无监督学习对输出没有预期(无教学值),输入数据依赖基于算法建立的模型自动分类。
“监督学习”利用教学值(label,期望输出)与模型实际输出值(训练集的输出)间的误差(合适的LOSS函数),借助反向传播算法(BP)修正权重,从而使得实际输出与理想输出间的误差尽可能小。
结合西瓜分类的例子,监督学习在训练前便已知输出会有“好瓜” “坏瓜”的区分,而无监督学习会将西瓜聚类成几种完全没有提前定义的种类,这是在输出产生后才做出的种类划分。
无监督学习主要是用于发现数据集中的结构性特点,无监督的过程具有可解释性,无监督算法可以告诉我们聚类的依据,每类有多少一致性,为何要如此分类。而监督学习的过程不具备解释性,依据反向传播算法降低LOSS只是单纯的计算过程,无法对参数的取值做出解释,它只是在降低LOSS。
- 半监督学习
半监督学习是大量无标记数据与少量标记数据的结合,与监督学习相比,半监督学习准确率更高、训练成本更低。
- 强化学习
所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,由于外部给出的信息很少,强化学习系统必须依靠自身的经历进行自我学习。通过这种学习获取知识,改进行动方案以适应环境。