《Machine Learning》(第一章)序章
关键词:机器学习,基本术语,假设空间,归纳偏好,机器学习用途
一、机器学习概述
机器学习是一门从数据中,经过计算得到模型(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定理最大的意义。
第一章就总结到这里,~好累啊,就先到这了亲~拜拜啦~有了心得在更~么么
《Machine Learning》(第一章)序章的更多相关文章
- Machine Learning In Action 第二章学习笔记: kNN算法
本文主要记录<Machine Learning In Action>中第二章的内容.书中以两个具体实例来介绍kNN(k nearest neighbors),分别是: 约会对象预测 手写数 ...
- 吴恩达Machine Learning 第一周课堂笔记
1.Introduction 1.1 Example - Database mining Large datasets from growth of automation/ ...
- 《流畅的Python》 第一部分 序章 【数据模型】
流畅的Python 致Marta,用我全心全意的爱 第一部分 序幕 第一章 Python数据模型 特殊方法 定义: Python解释器碰到特殊句法时,使用特殊方法激活对象的基本操作,例如python语 ...
- Machine Learning Yearning - Andrew NG
链接(1~12章): https://gallery.mailchimp.com/dc3a7ef4d750c0abfc19202a3/files/Machine_Learning_Yearning_V ...
- Hand on Machine Learning第三章课后作业(1):垃圾邮件分类
import os import email import email.policy 1. 读取邮件数据 SPAM_PATH = os.path.join( "E:\\3.Study\\机器 ...
- Machine Learning With Go 第4章:回归
4 回归 之前有转载过一篇文章:容量推荐引擎:基于吞吐量和利用率的预测缩放,里面用到了基本的线性回归来预测容器的资源利用情况.后面打算学一下相关的知识,译自:Machine Learning With ...
- 第二章——机器学习项目完整案例(End-to-End Machine Learning Project)
本章通过一个例子,介绍机器学习的整个流程. 2.1 使用真实数据集练手(Working with Real Data) 国外一些获取数据的网站: Popular open data repositor ...
- Coursera 机器学习 第6章(上) Advice for Applying Machine Learning 学习笔记
这章的内容对于设计分析假设性能有很大的帮助,如果运用的好,将会节省实验者大量时间. Machine Learning System Design6.1 Evaluating a Learning Al ...
- Coursera 机器学习 第6章(下) Machine Learning System Design 学习笔记
Machine Learning System Design下面会讨论机器学习系统的设计.分析在设计复杂机器学习系统时将会遇到的主要问题,给出如何巧妙构造一个复杂的机器学习系统的建议.6.4 Buil ...
- .Net 中的反射(序章) - Part.1
引言 反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助. 反射是一个庞大的话题,牵扯到的知识 ...
随机推荐
- 前端工程师必须要知道的SEO技巧(1):rel=nofollow的使用
前提:最近我在找工作,想面试一些关于前端的工作,被问到了一些关于SEO优化的问题.我深深的感觉我所回答的太过于表面,没有深入.所以,又把SEO的内容看了一遍.自己总结如下:有的是看的其他博友的贴子,发 ...
- BZOJ4367 IOI2014holiday假期(整体二分+主席树)
显然最优策略是先走到一边要到达的最远城市,再换方向走到另一边要到达的最远城市(当然也可以直接停止),路上参观景点. 先仅考虑求出只向左走,花费时间i时的最优解.如果能求出这个,类似的就可以求出所有情况 ...
- Hibernate高级应用
数据模型与领域模型的关系 领域模型是一个分析模型,它帮助需求分析人员.用户认识现实业务的工具,描述的是业务中设计的试题及其相互之间的关系,它是需求分析的产物.领域模型是需求分析人员与用户交流的有力工具 ...
- SPOJ HIGH(生成树计数,高斯消元求行列式)
HIGH - Highways no tags In some countries building highways takes a lot of time... Maybe that's bec ...
- MySQL事物机制具备四点:简称ACID操作
MySQL事物机制具备四点:简称ACID操作 1.原子性:要么都做,要么都不做(两条数据(写入和存储)一步未成功,整体回滚) 2.一致性:数据库的状态改变(两条数据(写入和存储)均成功,符合原子性,但 ...
- 从CUBIC/BBR的TCP ACK失速说起
上周有同事问,延迟ACK到底对应用层会产生什么后果,我也不知道该如何作答,于是丢了一个链接: TCP之Delay ACK在Linux和Windows上实现的异同-Linux的自适应ACK: 是的,这是 ...
- 树剖模板by fcdalao
#include<bits/stdc++.h> using namespace std; ; *MX]; *MX]; int n,Index,fir[MX],fa[MX],dfn[MX], ...
- sublime2创建一个html5的snippets文件
背景:跟了一个网上课程,老师哗啦啦敲代码,屏幕上只敲了几个字,键盘一操作,瞬间一大溜代码,看得我心惊肉跳连忙暂停抄抄抄. 举个简单的例子,我需要创建一个html文件.但是我不想每次都敲固定的格式.那么 ...
- AngularJs学习——模拟用户登录的简单操作
效果截图:
- 类的 propert,classmethod,ataticmethod 方法 与 多态
一 .property 将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数 然后计算出来的,这种特性的使用方式遵循了统一访问的原则 egon. ...