机器学习基础

来源:互联网 发布:工商网络监管 编辑:程序博客网 时间:2024/06/16 15:51

机器学习

1.概念

机器学习是由软件工程、计算机科学与数学、统计学交叉二形成的一门学科。“机器学习”中的学习,指的是采用一些算法来分析数据的基本结构,并且辨别其中的信号和噪声,从而提取出尽可能多的信息的过程。
机器学习的三大核心包括:观测数据、从中学习以及自动化识别。


2.基本术语

数据集(data set):记录每条关于一个事件或者对象的描述。每个对象内包含了描述该对象的各个属性(特征),属性上的取值即属性值,属性张成的空间称为“属性空间”。

属性空间:根据数据集中各对象的某几种属性所构成的空间,例如由“色泽”、“大小”、“形状”组成的三维空间,具有上述三种属性的对象在这个空间内都能找到自己的坐标位置。空间中的每个点对应一个坐标向量,因此我们也把每一个对象称为一个“特征向量”。

示例:

记D={x1,x2,x3……xm}表示包含m个示例的数据集,每个示例由d个属性描述,则每个示例可以表示为xi={xi1,xi2……xid}每个xi都是d维样本空间X中的一个向量,其中xij是xi在第j个属性上的取值,d称为样本xi的维数。

有了前面提及的示例数据集,我们还需要结果数据集,将数据与结果一一对应,达到“预测”的目的。例如(xi,yi)表示具有xi属性的对象,他具有yi的性质,其中yi是示例xi的标记,Y表示所有yi的集合,称之为标记空间或者输出空间。

有了数据集和结果集,接下来的工作便是预测。预测根据需要的结果可以分为多种情况:

(1) 预测的是离散值,此类学习任务称为“分类”
(2) 预测的是连续值,此类学习任务称为“回归”

通常,预测任务是希望通过对训练集{(x1,y1),(x2y2)……(xm,ym)}进行学习,建立一个从输入空间X到输出空间Y的映射建立一个从输入空间X到输出空间Y的映射f(x,y)。

经过训练之后,使用模型进行预测的过程称为测试。被测试的样本称为测试样本。此外我们还可以做“聚类处理”,可能会利用到相似度的概念,通常根据各个示例在属性空间中的向量夹角来表征不同示例之间的相似度,例如余弦相似度,根据相似度进行聚类。聚类的结果可能会展现出一些潜在的概念。

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

机器学习的本质是使学得的模型能够很好的适用于“新样本”,而不仅仅是在训练样本上工作的很好。学得模型适用于新样本的能力,称之为泛化能力


3.假设空间

归纳(induction)与演绎(deduction)是科学推理的两大基本手段。前者是从特殊到一半的泛化过程,即从具体的事实归结出一般性规律;后者是从一般到特殊的特化过程,即从基础原理推演出具体情况。

我们可以把学习过程看做一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”的假设。假设一旦确定,假设空间极其规模大小也就确定了。这里我们利用前面所提到的对象进行示例,如“色泽=?+大小=?+形状=?”的可能取值形成假设空间。

显示问题中我们通常需要面对很大的假设空间,但学习过程是基于有限样本进行的,因此可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,我们称之为版本空间。


4.归纳偏好

在假设空间中往往会遇见如下问题,例如有三个与训练集一致的假设,但他们与对应的模型在面临新样本的时候会产生不同的输出。此时若只有之前的训练样本,是无法判断三个假设中的哪个输出是最佳答案。但是对于一个具体的学习算法而言,它必须要产生一个模型。这是,学习算法本身的“偏好”就会起到关键作用。

机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”或简称为偏好。任何一个有效的机器学习算法有其归纳偏好,否则它将被假设空间中看似在训练集上“等效”的假设所迷惑。 偏好本质上来说就是算法更倾向于对象示例的某一种属性。

偏好的作用
在回归学习中,回归的本质就是找到一条曲线能够穿过所有训练样本的点。针对有限的点,存在着许多曲线都能够穿过所有的点。此时学习算法必定会需要某种偏好,才能产出它认为正确的模型。

那么我们如何在引导算法确立“正确的”偏好。奥卡姆剃刀是一种常用的、自然科学研究中最基本的原则,即“若有多个假设与观察一直,则选择最简单的那种”。这种原则在回归学习中更加直观,通常我们认为的“回归线更平滑”则意味着“更简单”,这里其实就运用了奥卡姆剃刀原理。

但是奥卡姆剃刀原理有存在一个新的问题,如何判断多个假设中哪一个才是最简单的。此时需要借助其他机制才能解决。

归纳偏好对应了学习算法本身所作出的关于“什么样的模型更好”的假设。在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。

学习算法一定是针对实际问题的,脱离实际问题则不存在什么最优学习对算法,因为根据NFL定理面对所有问题的时候,所有的学习算法的期望都是一样的。因此学习算法自身的归纳偏好于问题是否匹配,往往会起到决定性的作用。

原创粉丝点击