机器学习入门知识

什么是机器学习?

我们会发现这里涉及很多基于经验做出的预判.例如,为 什么看到微温路面、感到和风、看到晚霞,就认为明天是好天呢?这是因为在 我们的生活经验中已经遇见过很多类似情况,头一天观察到上述特征后,第二 天天气通常会很好。

为什么色泽青绿、根蒂蜷缩、敲声浊晌,就能判断出是正 熟的好瓜?因为我们吃过、看过很多西瓜,所以基于色泽、根蒂、敲声这几个 特征我们就可以做出相当好的判断.类似的,我们从以往的学习经验知道,下足 了工夫、弄清了概念、做好了作业,自然会取得好成绩。

可以看出,我们能做出 有效的预判?是因为我们已经积累了许多经验,而通过对经验的利用?就能对新 情况做出有效的决策. 上面对经验的利用是靠我们人类自身完成的.计算机能帮忙吗?

机器学习正是这样一门学科,它致力于研究如何通过计算的手段,利用经 验来改善系统自身的性能在计算机系统中,"经验"通常以"数据"形式存 在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生"模 型" (model) 的算法,即"学习算法" (learning algorithm)。有了学习算法,我 们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时(例 如看到一个没剖开的西瓜),模型会给我们提供相应的判断(例如好瓜) 。如果说 计算机科学是研究关于"算法"的学问,那么类似的,可以说机器学习是研究 关于"学习算法"的学问。

基本术语

要进行机器学习,先要有数据。假定我们收集了一批关于西瓜的数据,例 如(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂=稍蜷;敲声=沉 闷), (色泽=浅自;根蒂=硬挺;敲声=清脆),……,每对括号内是一条记录, "="意思是"取值为"。

这组记录的集合称为一个"数据集" (data set) ,其中每条记录是关于一 个事件或对象(这里是一个西瓜)的描述,称为一个"示例" (instance) 或"样 本" (samp1e)。 反映事件或对象在某方面的表现或性质的事项,例如"色泽" "根蒂" "敲声",称为"属性"(attribute) 或"特征" (feature); 属性上的取 值,例如"青绿" "乌黑",称为"属性值" (attribute va1ue)。 属性张成的空 间称为"属性空间" (attribute space) 、 "样本空间" (samp1e space)或"输入 空间"。例如我们把"色泽" "根蒂" "敲声"作为三个坐标轴,则它们张成 一个用于描述西瓜的三维空间,每个西瓜都可在这个空间中找到自己的坐标位 置。由于空间中的每个点对应一个坐标向量,因此我们也把一个示例称为一个 "特征向量" (feature vector)。

一般地,令 D = {X1,X2 ".., Xm } 表示包含 m 个示例的数据集,每个 示例由 d 个属性描述(例如上面的西瓜数据使用了 3 个属性),则每个示例 Xi = (Xi1; Xi2; . . . ; Xid) 是 d 维样本空间 X 中的一个向量 , Xi ε X , 其中 Xij 是 Xi 在第 j 个属性上的取值(例如上述第 3 个西瓜在第 2 个属性上的值是"硬 挺" ), d 称为样本Xi的"维数" (dimensionality)。

从数据中学得模型的过程称为"学习" (learning)或"训练" (training), 这个过程通过执行某个学习算法来完成。训练过程中使用的数据称为"训练 数据" (training data) ,其中每个样本称为一个训练样本" (training samp1e), 训练样本组成的集合称为"训练集" (training set)。

学得模型对应了关于数据 的某种潜在的规律,因此亦称"假设" (hypothesis); 这种潜在规律自身,则称 为"真相"或"真实" (ground-truth),学习过程就是为了找出或逼近真相,可看作学习算法在给定数据和参数空 间上的实例化。

如果希望学得一个能帮助我们判断没剖开的是不是"好瓜"的模型,仅 有前面的示例数据显然是不够的要建立这样的关于"预测" (prediction) 的 模型,我们需获得训练样本的"结果"信息,例如" ((色泽=青绿;根蒂=蜷缩; 敲声=浊响),好瓜)" 。这里关于示例结果的信息,例如"好瓜",称为"标 记" (labe1); 拥有了标记信息的示例,则称为"样例" (examp1e). 一般地,用(Xi , Yi) 表示第 i个样例 。 其中 Yi ε Y 是示例 Xi 的标记 , Y 是所有标记的集合, 亦称"标记空间" (label space)或"输出空间。

若我们欲预测的是离散值,例如"好瓜" "坏瓜",此类学习任务称为 "分类" (classification);

若欲预测的是连续值,例如西瓜成熟度 0.95 、 0.37 , 此类学习任务称为"回归" (regression)。

对只涉及两个类别的"二分 类" (binary classification)任务,通常称其中一个类为 "正类" (positive class), 另一个类为"反类" (negative class); 涉及多个类别时,则称为"多分 类" (multi-class classificatio叫任务。

一般地,预测任务是希望通过对训练 集 {(X1' Y1) , (X2 ,Y2) ,..., (Xm,Ym)} 进行学习,建立一个从输入空间 X 到输出 空间 y 的映射 f: X ——>y。 对二分类任务,通常令 Y = {-1 ,+ 1} 或 {O , l}; 对 多分类任务, |y| >2; 对回归任务, Y= R,R为实数集。

学得模型后,使用其进行预测的过程称为"测试" (testing),被预测的样本 称为测试样本" (testing sample)。例如在学得 f 后,对测试例 X , 可得到其预 测标记 ν = f(x)。

我们还可以对西瓜做"聚类" (clustering) ,即将训练集中的西瓜分成若干 组,每组称为一个"簇" (cluster); 这些自动形成的簇可能对应一些潜在的概念 划分,例如"浅色瓜" "深色瓜 程有助于我们了解数据内在的规律,能为更深入地分析数据建立基础。需说明 的是,在聚类学习中,"浅色瓜" "本地瓜"这样的概念我们事先是不知道的, 而且学习过程中使用的训练样本通常不拥有标记信息。 根据训练数据是否拥有标记信息,学习任务可大致划分为两大类"监督 学习" (supervised learning) 和"无监督学习" (unsupervised learning) ,分类 和回归是前者的代表,而聚类则是后者的代表。

需注意的是,机器学习的目标是使学得的模型能很好地适用于"新样本", 而不是仅仅在训练样本上工作得很好;即便对聚类这样的无监督学习任务,我 们也希望学得的簇划分能适用于没在训练集中出现的样本。

学得模型适用于 新样本的能力,称为"泛化" (generalization)能力。具有强泛化能力的模型能 很好地适用于整个样本空间。于是,尽管训练集通常只是样本需间的一个很小 的采样,我们仍希望它能很好地反映出样本空间的特性,否则就很难期望在训 练集上学得的模型能在整个样本空间上都工作得很好。

通常假设样本空间中全 体样本服从一个未知"分布" (distribution) Ð , 我们获得的每个样本都是独立 地从这个分布上采样获得的,即"独立同分布" (independent and identically distributed,简称 i.i.d.). 一般而言,训练样本越多,我们得到的关于 D 的信息越多,这样就越有可能通过学习获得具有强泛化能力的模型。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页