译 | 机器学习概念

机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,因此机器学习研究的主要内容,是关于在计算机上从数据中产生模型(model)的算法,即学习算法(learning algoritmn),有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型。在面对新的情况的时候,模型会给我们新的判断。

基本术语

假设收集了一批关于西瓜的数据,这组数据的集合称为“数据集”(data set),其中每条记录是关于对象的描述(关于一个西瓜),称为一个示例(instance)或者样本(sample),反映对象在某方面的性质,例如色泽,甜度等,这些称为属性(attribute)或特征(feature),属性上的取值称为(attribute value)。属性张成的空间叫做属性空间,或者样本空间(sample space)。例如我们把色泽、甜度、大小作为3个坐标轴,它们张成一个用于描述西瓜的三维空间。每个西瓜都可以在这个空间中找到自己的坐标位置,由于空间中每个点对应一个坐标向量,因此我们把一个示例称为一个特征向量(feature vector)。

一般地,令D={x1, x2, …xn}表示n个示例的数据集,每个示例由d个属性描述,则d称为样本xi的维数(dimensionality)。

从数据中学得模型的过程称为“学习”(learning)或者训练(training),这个过程通过执行某个学习算法来完成,训练中使用的数据称为训练数据(training data),其中每一个样本叫做训练样本,训练样本的集合称为训练集(training set)。事物的规律称为真实(ground-truth),学习过程就是为了逼近真相。可以看做学习算法在给定数据和参数空间上的实例化。
如果希望学得一个判断是否是好西瓜的模型,要建立预测(prediction)的模型,我们需要获得训练样本的结果信息,例如大小为大的为好西瓜,甜度为甜的为好西瓜。关于示例结果的信息,比如好瓜,称为“标记”(label),拥有了标记的示例,称为样例(example),一般用(xi, yi)表示第i个样例,其中yi是示例xi的标记,标记的集合称为标记空间(label space)。
如果我们预测的是离散值,如好瓜和坏瓜,此类学习任务称为分类。如果预测的是连续值,例如西瓜成熟度0.9、0.8,此类学习任务称为回归。对于回归任务,标记空间为实数集。

学得模型后,使用其预测的过程称为测试,被预测的样本称为测试样本,例如在学习f之后,对测试例x,可得到其预测标记为f(x)。

我们还可以对西瓜做聚类(clustering),即将训练集中的瓜再分成若干组,比如浅色瓜、深色瓜等,每组称为一个“簇”(cluster)。

根据训练数据是否有标记信息,学习任务可以大致分为两大类,监督学习和无监督学习。分类和回归是前者的代表,而聚类是后者的代表。

对聚类这样的无监督学习,我们也希望学到的簇能适用于没在训练中集中的样本,学得模型适用于新样本的能力,称为泛化能力。

我们可以把学习过程看做一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集匹配的假设,即能将训练集中的瓜判断正确的假设,假设一旦确定,假设空间极其规模大小就确定了。比如一个好瓜就是甜度大,块头大,深色的瓜的假设。

可能存在多个假设与训练集一致,我们称之为版本空间(version space)。

归纳偏好

当有多个假设都满足训练集时,对于一个具体的学习算法,它必须产生一个模型,这时学习方法的“偏好”就会起到关键的作用。机器学习算法在学习过程中对某种类型的偏好,称为归纳偏好(inductive bias)。

归纳偏好可以看做在学习过程中的价值观,对假设进行价值观的修正。脱离具体问题,空泛地谈哪一种学习算法更好是没有意义的。在某些问题上表现很好的学习算法,在另一些问题上却可能不尽如人意。

经验误差与拟合

通常我们把分类错误的样本数占样本总数的比例称为错误率,将学习器的实际预测输出与样本的真实输出之间的差异称为误差,学习器在训练集上的误差称为训练误差,在新样本上的误差称为泛化误差。在很多情况下,我们可以习得一个经验误差很小,在训练集上表现良好的学习器。然而,当学习期把训练样本学得“太好”的时候,可能导致泛化性能下降,这种现象在机器学习中称为过拟合(overfitting),与过拟合相对的是欠拟合(underfitting),这是指对训练样本的一般性质尚未学好。

有多种情况会出现过拟合,比如学习能力过于强大,以至于把样本所包含的不太一般的属性都学到了。(比如误以为绿色的都是树叶)。

在现实任务中,我们往往有多种算法可以选择,甚至对于同一个算法,当使用不同的参数配置时,也会产生不同的模型。想得到泛化误差小的算法,应该怎么评估呢?

评估方法

通常我们可以通过实验测试对学习器的泛化误差进行评估,并进而做出选择。为此,需要使用一个“测试集”(test set)来测试学习器对新样本的判别能力。然后以测试集上的测试误差作为泛化误差来评估。测试样本尽量不在训练集中出现。

本文转自:CSDN - 浴盆,转载此文目的在于传递更多信息,版权归原作者所有。
译文链接:https://blog.csdn.net/sysuzhyupeng/article/details/78490271

推荐阅读