关键词:机器学习,基本术语,假设空间,归纳偏好,机器学习用途
一、机器学习概述
机器学习是一门从数据中,经过计算得到模型(Model)的一种过程,得到的模型不仅能反应出训练数据集中所蕴含的规律,并且能够运用在训练集之外的数据上。而机器学习研究的方向,就是解决:“我们为了得到这种模型,应该采用何种算法” 的问题。
如果说,训练集是我们的生活中的 “经验”,那么模型就是我们的 “经验性解决方法” ,训练集外的数据就是生活中的 “新问题” 。
二、基本术语
在解释基本术语的同时,我们用生活中的例子 “选西瓜” 进行补充描述
西瓜选择三个示例(instance):
1.(色泽=青绿,跟蒂=蜷缩,敲声=浊响)
2.(色泽=乌黑,跟蒂=稍蜷,敲声=沉闷)
3.(色泽=浅白,跟蒂=硬挺,敲声=清脆)
数据集(Data Set): 数据集由多条记录构成,每条记录由一组键值对构成,每条记录都是一个事件或对象。形式如下:
一条记录:(key1=value1,key2=value2,... ,keyn=valuen)
样本(sample)与示例(instance): 每一对键值对都是对事物的一个属性(attribute)及其属性值(attribute value)的描述,一个键成为一个属性或特征(feature)。这样的一条记录称为一个 “示例(instance)” 或 “样本(sample)” ,但是需要注意,有时整个数据集亦称为一个 “样本” ,因为它可看作对样本空间的一个采样;我们可以通过上下文(context)来判断 “样本” 这一概念是指单个示例(instance)还是整个数据集(Data Set)。
样本空间(sample space): 属性张成的空间称为 “属性空间(attribute space)” 、“样本空间(sample space)” 或“输入空间” ,和标记空间相对。例如,我们把西瓜的色泽,跟蒂,敲声作为三个坐标轴,则属性 张成了一个可以描述西瓜的三维空间。每个西瓜都可以在这个空间中找到自己的坐标位置。例如:(色泽=青绿,跟蒂=蜷缩,敲声=沉闷)就是一个青绿色蜷缩跟蒂的敲声沉闷的西瓜在这个三位空间中的坐标。
特征向量(feature vector): 由于空间中的每个点对应于一个坐标向量,因此我们也把一个示例称为一个 “特征向量(feature vector)” 。特征向量就是示例在属性空间中的坐标向量。
数据集的表示方法和属性: 一般地,令 D = { x1,x2,...,xn } 表示包含n个示例的数据集,每个示例示例由d个属性描述,则每个示例xi = { xi1,xi2,...,xid } 是d维样本空间X的第 i 个向量,d 称为样本 xi 的 “ 维数(dimensionality) ”。其中 xij 是第 i 个示例在第 j 个属性上的取值。
例如在“选西瓜”中,我们用(色泽,跟蒂,敲声)三个属性描述西瓜,d=3,样本维数=3,x12=“蜷缩”。
标记/标签(label): 训练样本的结果数据,如 “((色泽=青绿,跟蒂=蜷缩,敲声 =浊响),好瓜)”,好瓜就是标签,但是label有时也用作动词,因此也可用动词意义的标记来翻译。
标记空间(label space): 一般用(Xi , Yi)表示第 i 个样例,其中Yi属于Y是示例X的 “标记/标签(label)”,Y是所有标记的集合,亦称为 “标记空间(label space)”、“输出空间”。
学习(learning): 从数据中学得模型的过程称为“学习(learning)” 或 “训练(training)”。这个过程通常通过执行特定的学习算法来完成。训练过程中使用的数据称为 “训练数据(training data)” ,其中的每个样本称为一个 “训练样本(training sample)” 、“训练示例(training instance)” 或 “训练例”。训练样本组成的集合称为 “训练集(training set)”。学习得到的模型对应了关于数据的某种潜在规律,这一学得的规律称为 “假设(hypothesis)”;数据本身所具有的规律,称为 “真相”或“真实”(ground-truth)。学习的过程就是为了找出或逼近真相。学习算法在给定数据和参数空间上的实例化模型有时也被称为 “学习器”(Learner)
辨析:“假设hypothesis” 和 “真相ground-truth”都是对数据蕴含的规律的反映,但是假设是从数据学习得到的模型,不一定是我们关注的,想要反应的真实规。而真相是数据固有的,我们期待获得的的真正的规律。
机器学习任务的分类:
1.按数据的特征分类:
如果预测的是离散值:称为“分类(classification)”任务,如果是连续值:称为“回归(regression)”任务。分类任务又可按照分成的种类数分为 “二分类(binary classification)”任务 或 “多分类(multi-classification)”任务。对于二分类任务,通常称一个类为 “正类(positive class)”,另一个为 “反类(negative class)”。
通常预测任务是希望通过对训练集 { (x1,y1),(x2,y2)...(xn,yn) } 进行学习,建立一个从输入空间到输出空间的映射。 f:x→y。对于二分类任务,通常令y={0,1}或y={-1,+1}。对于多分类任务,|y|>2;对于回归任务,y=R,R为实数集。
2.按训练数据是否有标签来分类:
如果训练数据是有标记学习,则属于 “监督学习(supervised learning)” ,如果没有标记则为 “无监督学习(unsupervised learning)”。其中,分类(classification)和回归(regression)是前者的代表,聚类则是后者的代表。
泛化能力(generalization): 学得的模型适应新样本的能力,称为 “泛化能力(generalization)”。
独立同分布:independent and identically distributed,简写作i.i.d(含义参考任意概率论教材)
过拟合:指模型过于适应训练集数据,反而和真相(ground-truth)不相符的情况。这就和生活中人们钻牛角尖很像了。
二、假设空间与版本空间
1.归纳与演绎:归纳(induction)是指从特殊到一般,从个性中提取共性的 “泛化(generalization)” 过程,演绎(deduction)是从一般到特殊的 “特化(specialization)”。“从样例中学习”当然是一种 “归纳学习(inductive learning)” 。
2.归纳学习的狭义与广义之分:狭义的归纳学习要求从训练数据中学得 “概念(concept)”,也称作 “概念学习”。概念学习对于一组概念,进行类似bool值的判断,从而通过一组概念来描述新的知识。但是 由于要学得泛化性好而且语义明确的概念十分困难,因此,现实中大多数是产生“黑箱模型”,即对于概念本身并不一定非常了解,但是只要能用于新数据的预测即可。譬如我们得到的模型可以选出好的西瓜,但是究竟色泽、跟蒂、敲声怎样的好瓜才是好瓜,对于黑箱以外的人而言是不得而知的。
3.归纳学习与假设空间:归纳学习过程可以看作做从所有的可能的假设中选择一个与训练集匹配(fit)的假设的搜索过程。假设的表示一旦确定,假设空间的大小及其规模也就确定。例如,假设空间由形如 “(色泽=?)Λ(跟蒂=?)Λ(敲声=?)”的可能取值所形成的假设组成。例如,色泽有“青绿”、“乌黑”、“浅白”这三种可能的取值;还需要考虑到也许色泽取什么值都可以,我们用通配符“*”表示这种情况。当然,还有一种极端情况是 “好瓜” 这个概念可能根本不存在,我们用Φ来表示这种情况。假如 “色泽”、 “跟蒂”、 “敲声” 分别有3,2,2种可能的取值,那么我们的假设空间大小为(3+1)*(2+1)*(2+1)+1=37.
对假设空间的搜索既可以自顶向下,也可以自底向上。自顶向下对应着从一般到特殊,而自底向上对应着从特殊到一般。在搜索的过程中不断删除不符合正例或者和反例一致的假设,最终我们就能得到学得的结果,这个结果能够对训练集中的数据进行正确的判断。
但是,在现实世界中我们常常面临很大的假设空间,因此可能存在着多个假设和训练集是一致的,即存在一个由符合训练集的数据特征的一系列假设组成的 “假设集合” ,这样的集合我们称为 “版本空间(version space)” 。
奥卡姆剃刀原则:主张在多个符合实验结果的假设中,选择最简单的假设。这一原则在自然科学、物理学、天文学等领域中是一个广为沿用的原则。例如哥白尼坚持 “日心说” 额理由之一就是它比托勒密的地心说更简单更简单并且符合天文观测结果。
三、归纳偏好(inductive bias)与NFL定理(No Free Lunch Theorem)
归纳偏好(inductive bias):任何一种算法都需要有特定的归纳偏好(inductive bias),简称为“偏好”。因为算法必须产生一个模型,但是往往在定义什么是 “好” 上面我们很容易产生分歧,因此,对于一个给定的数据集,归纳偏好(inductive bias)的作用相当于“价值观”,而且对于可能产生多个可能的假设的数据集,归纳偏好是非常重要的,因为这可以保证每次都得到相同的结果。
NFL定理:天下没有免费的午餐定理。这个定理的内容证明了不论选择的算法多么聪明或者多么笨拙,其期望性能都是一样的。但是我们需要注意,这个定理的前提是:所有 “问题” 出现的可能性是相等的,也就是说问题的重要性是均等的。但是在现实中,我们只关心目前自己正在解决的问题,这是一个特定的具体的问题,因此不同的算法会有不同的性能。
综上,NFL定理的意义在于是我们认识到:脱离具体问题,空泛探讨 “什么学习算法更好” 毫无意义,因为定理证明了如果要考虑所以潜在的问题,则所有学习算法的期望性能都一致。在一些问题上表现优异的算法,在另一些问题上则会捉襟见肘,其他算法就会显示出各自的长处,这就是NFL定理最大的意义。
第一章就总结到这里,~好累啊,就先到这了亲~拜拜啦~有了心得在更~么么