机器学习定义及基本术语(根据周志华的《机器学习》概括)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/engineerxin/article/details/81200973

机器学习的定义

机器学习是这样一门学科:通过计算的手段,学习经验(也可以说是利用经验)来改善系统的性能。

在计算机系统中,经验(Experience)通常是数据(Data);
学习算法(Learning algorithm)学习产生数学模型(Model),不断改善系统性能(Performace)。

【Mitchell 1997】给出了一个更形式化的定义:假设用P(Performace)来评估计算机程序在某类任务T(Task)上的性能,若一个程序通过利用经验E(Experience)在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。

周志华老师的机器学习书中“模型”泛指从数据中学得的结果。有的文献用”模型“指全局性结果,而用”模式“指局部性结果(比如一条规则)·

基本术语

假定我们收集了一批西瓜的数据

  • (色泽=青绿,根蒂=蜷缩,敲声=浊响)
  • (色泽=乌黑,根蒂=稍蜷,敲声=沉闷)
  • . . . . . .

上面每对括号内是一条记录(record)
这组记录的集合称为一个数据集(data set)
其中每条记录是关于一个事件或对象的描述,称为示例(instance)样本(sample)
反应事件或对象在某方面表现或性质的事项,称为属性(attribute)特征(feature)
属性上的取值,比如西瓜的色泽属性可以取值为青绿,称为属性值(attribute value)
属性张成的空间称为属性空间(attribute space)样本空间(sample space)输入空间(input space)
对于属性空间,可以把每个属性看作一个变量或坐标轴,比如上面对于西瓜的数据集,有三个属性——色泽,根蒂,敲声。它们可以张成一个用于描述西瓜的三维空间,每个西瓜都可以在这个空间中找到自己的坐标位置。因此我们可以把一个示例看作一个特征向量(feature vector)

注解:有时整个数据集亦称一个”样本“,因为它可以看作对样本空间的一个采样;通过上下文可以判断出“样本”是指单个示例还是数据集

一般使用符号 D 表示数据集, D ={ x 1 , x 2 , x 3 ,…, x m }表示包含 m 个示例的数据集,每个示例有 d 个属性描述,则每个示例 x i =( x i 1 ; x i 2 ; x i 3 ;…; x i d )都是 d 维样本空间中的一个向量, d 称为示例的维数(dimensionality)

学习(learning)训练(training)指从数据中学得模型的过程,通过执行某个学习算法来完成。
训练数据(training data)指训练过程中使用的数据。
训练样本(training sample)指训练数据中的每个样本。
训练集(training set)指训练样本组成的集合。
假设(hypothesis)指学习得到的模型对应了关于数据的某种潜在的规律,这种学得的规律并不一定是准确的。
真相或真实(ground-truth)则是这种真实存在的潜在规律自身,学习的过程就是为了找出或逼近真相。
在周老师的书中模型称为学习器(learner),可以看作学习算法在给定数据和参数空间上的实例化。

对应前面的西瓜例子,如果希望学习成一个判断没剖开的西瓜是不是好瓜的模型,仅仅有前面的示例数据是不够的。
要建立像预测西瓜好坏这样的关于预测(prediction)的模型,我们需要获得训练样本的结果信息(类似于属性变量对应的函数值),比如((色泽=青绿,根蒂=蜷缩,敲声=浊响),好瓜)。上面关于示例结果的信息,比如“好瓜”,称呼为标记(label),而拥有了标记信息的示例,称呼为样例(example)
一般地,用( x i y i )代表第 i 个样例,所有标记的集合,亦称为标记空间(label space)输出空间(output space)

如果我们想预测的是离散值,例如”好瓜“,”坏瓜“,则此类学习任务称为分类(classification)
如果想预测的是连续值,例如西瓜的成熟度0.95,0.85,则此类学习任务称为回归(regressio)
对于只涉及两个类别的二分类任务(binary classification),通常称其中一个类别为正类(positive class),另一个称为反类(negative class);对于二分类任务,标记空间通常取{ + 1 1 },{ 0 1 };
涉及多个类别时,则称为多分类任务(multi-class classification),对于多分类任务,标记空间通常取R实数集。

学习到模型后,使用模型进行预测的过程称为测试(testing),被预测的样本称为测试样本(testing sample)

对应前面的西瓜例子,我们还可以对西瓜做聚类(clustering),即把训练集中的西瓜分成若干个组,每个组称为一个簇(cluster);这些自动形成的簇可能对应一些潜在的概念划分,例如浅色瓜,本地瓜等。这样的学习过程有助于我们了解数据的潜在规律,能为更深入分析数据建立基础。
需补充说明的是:在在聚类学习中,浅色瓜,本地瓜这样的概念是我们事先所不知道的,而且学习过程中使用的训练样本通常不拥有标记信息。

根据训练数据是否拥有标记信息,学习任务大致划分为两类:监督学习(supervised learning)无监督学习(unsupervised learning) ,分类和回归是前者的代表,而聚类是后者的代表。

猜你喜欢

转载自blog.csdn.net/engineerxin/article/details/81200973