西瓜书学习笔记——第一、二章
目录
- 一、第一章 绪论
- 1、重要基本术语
- 1.1 分类与回归
- 1.2 聚类
- 1.3 监督学习和无监督学习
- 1.4 泛化
- 1.5 归纳偏好
- 二、第二章 模型评估与选择
- 1、评估方法
- 1.1 留出法
- 2.2 交叉验证法
- 2.3 自助法
- 2、性能度量
- 2.1 错误率与精度
- 2.2 查准率、查全率与F1
一、第一章 绪论
1、重要基本术语
1.1 分类与回归
分类:若我们预测的是离散值,例如判断是“坏瓜”“好瓜”,则此类学习任务成为“分类”(classification)。对只涉及两个类别的“二分类”任务,通常称其中一个为正类,另一个为反类;涉及多个类别时,则成为“多分类”(multi-class classification)任务。
回归:若预测的是连续值,例如西瓜的成熟度是0.95、0.37,则此类学习任务成为“回归”(regression)。
1.2 聚类
将训练集分成若干个组,每个组成为一个“簇”,这些自动形成的簇可能对应一些潜在的概念划分,例如“深色瓜”、“浅色瓜”等,这样聚类有利于了解数据内在的规律,能为更深入的分析数据建立基础。再聚类学习中,像“深色瓜”这样的概念我们是事先不知道的,并且训练样本也不会带有这样的标记信息。
1.3 监督学习和无监督学习
根据训练数据是否拥有标记信息,可以讲学习任务大致分为两大类:监督学习和无监督学习。
分类和回归是监督学习的代表;
聚类是无监督学习的代表。
1.4 泛化
学习得到的模型适用于新样本的能力,称为泛化能力,具有强泛化能力的模型能很好的适用于整个样本空间。简单地说,模型不仅能在训练样本中工作的很好,对没见过的新样本也要能够有很好的判断能力。
1.5 归纳偏好
在学习模型过程中,可能会有多个与训练集一致的假设,例如西瓜(色泽=青绿)或(色泽=乌黑)都有可能是个好瓜,那么模型该如何判断呢?所以任何一个有效的机器学习算法必有其归纳偏好,否则它将会被假设空间中看似在训练集上的“等效”假设所迷惑,导致无法产生确定的学习结果。
引导算法确立“正确”偏好的一般性原则:
奥卡姆剃刀原则:若有多个假设与观察一致,则选最简单的那个。
但是奥卡姆剃刀原则并非唯一可行的原则,对于一个学习算法a,若它在某些问题上比算法b好,则必然存在另一些问题,在那里b比a好。哪怕b算法是“随机胡猜”这样的笨拙算法。
没有免费午餐定理(No Free Lunch Theorem,简称NFL定理)暗喻,没有任何一个学习算法可以在任何领域任何情况下总是产生最准确的学习器,不管是什么学习算法(尽管可能看上去很笨拙),至少会存在一个目标函数能够使得随机猜测是更好的想法。
NFL定理最重要的寓意,就是让我们清楚的认识到,脱离具体问题而空谈“什么学习算法更好”毫无意义,要谈论算法的相对优劣,必须要针对具体问题,学习算法自身的归纳偏好与问题是否相配,才是起到关键性作用的。
二、第二章 模型评估与选择
在实际任务中,我们可能会有多种学习算法可供选择,甚至对同一个学习算法,当我们使用不同的参数配置时,也会产生不同的模型,理想的情况是对候选模型的泛化误差进行评估,选择泛化误差最小的模型,但是泛化误差往往难以直接评估,因此我们就需要根据一些标准来进行模型评估与选择。
1、评估方法
我们需要通过实验测试来对学习器的泛化误差进行评估,因此我们需要一个“测试集”来测试学习器对新样本的判别能力,以测试集上的测试误差作为泛化误差的近似。但是我们往往只有一个包含m个样例的数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … … , ( x m , y m ) D={(x_1,y_1),(x_2,y_2),……,(x_m,y_m)} D=(x1,y1),(x2,y2),……,(xm,ym),那么就需要对数据集D进行适当的划分处理。下面是常见的处理方式:
1.1 留出法
留出法直接讲数据集D划分为两个互斥的子集合,其中一个作为训练集S,另外一个作为测试集T,即 D = S ∪ T , S ∩ T = ∅ D=S\cup T,S\cap T=\emptyset D=S∪T,S∩T=∅。在S上训练出模型后,用T来评估其测试误差,作为泛化误差的估计值。
要注意的是,训练集和测试集的划分要尽可能保持数据分布的一致性,避免数据划分对最终结果产生影响。例如在分类任务中,至少要保持样本的类别比例相似,例如数据集D中正例占60%,反例占40%,那么S和T的样本比例也都应该正例占60%,反例占40%。
单次使用留出法得到的估计结果往往不够稳定可靠,因此我们一般采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。
常见的划分是将2/3~4/5的样本用于训练、其余的样本用于测试。
2.2 交叉验证法
将数据集D划分为k个大小相似的互斥子集,每个子集 D i D_i Di尽可能的保持数据的一致性,然后每次用k-1个子集作为训练集,1个子集作为测试集,然后逐一把每个子集作为测试集,进行k次实验,最终得到的结果是这k次实验的均值,称为“k折交叉验证”。
与留出法类似,也需要重复进行p次划分,最终的结果是这p次k折交叉验证的结果均值。
2.3 自助法
每次从D中挑选一个样本,并将其拷贝到数据集D’中,然后再将该样本放回到D中,重复m次这个过程,就得到了含有m个样本的数据集D’,这就是自助采样的过程。
在自助采样中,很明显一部分样本可能会重复出现,另外一部分样本可能从未被采样到,一个样本在m次采样中均未被采样到的概率是 ( 1 − 1 m ) m (1-\frac 1m)^m (1−m1)m,取极限得到
lim n → ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368 \lim_{n \to \infty} (1- \frac 1m)^m=\frac 1e\approx 0.368 n→∞lim(1−m1)m=e1≈0.368
即通过自助采样初始数据集D中约有36.8%的样本未出现在D’中,我们可以用D’作训练集,剩余作测试集。
自助法在数据集较小、难以有效划分训练/测试集时很有用,然而,自助法产生的数据集改变了初始数据集的分布,这会引入估计偏差。在初始数据量足够时,留出法和交叉验证法更常用一些。
2、性能度量
对学习器的泛化性能进行评估,不仅需要有效可行的实验评估方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量。
回归任务最常用的性能度量是“均方误差”
E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac 1m \sum_{i=1}^m (f(x_i)-y_i)^2 E(f;D)=m1i=1∑m(f(xi)−yi)2
2.1 错误率与精度
错误率是分类错误的样本数占样本总数的比例,精度是分类正确的样本数占样本总数的比例。
E ( f ; D ) = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) ≠ y i ) E(f;D)=\frac 1m \sum_{i=1}^m Ⅱ(f(x_i) \neq y_i) E(f;D)=m1i=1∑mⅡ(f(xi)=yi)
a c c ( f ; D ) = 1 m ∑ i = 1 m Ⅱ ( f ( x i ) = y i ) = 1 − E ( f ; D ) acc(f;D)=\frac 1m \sum_{i=1}^m Ⅱ(f(x_i) = y_i)=1-E(f;D) acc(f;D)=m1i=1∑mⅡ(f(xi)=yi)=1−E(f;D)
2.2 查准率、查全率与F1
真实情况 | 预测结果 | |
---|---|---|
正例 | 反例 | |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
查准率P和查全率R分别定义为:
P = T P T P + F P P= \frac {TP}{TP+FP} P=TP+FPTP
R = T P T P + F N R= \frac {TP}{TP+FN} R=TP+FNTP
查准率和查全率是一对矛盾的度量,往往查准率越高时,查全率就会偏低;二查全率越高时,查准率就会偏低。通常只有在一些简单的任务中,才可能使查准率和查全率都很高。
以查准率为纵轴、查全率为横轴作图,就能得到查准确-查全率曲线,简称“P-R曲线”,如图所示。
若一个学习器的P-R曲线能被另外一个学习器的曲线完全包住,则可断言后者的学习能力优于前者,如图中的B和C;若有交叉,则一般难以断言两者孰优孰劣,例如A和B,只能在具体的查准率或查全率之下进行比较。
“平衡点”(简称BEP)就是这样一个度量,它是查准率等于查全率时的取值,平衡点越高则可以认为越优。
实际应用中更常用的时F1:
F 1 = 2 × P × R P + R F1=\frac {2\times P\times R}{P+R} F1=P+R2×P×R
应用中根据对查准率与查全率的重视程度不同,引入F1的一般形式:
F β = ( 1 + β 2 × P × R ) β 2 × P + R F_\beta =\frac {(1+\beta ^2\times P \times R)}{\beta ^2 \times P+R} Fβ=β2×P+R(1+β2×P×R)
β = 1 \beta =1 β=1时退化为F1
β > 1 \beta >1 β>1时查全率影响更大
0 < β < 1 0<\beta <1 0<β<1时查准率影响更大
西瓜书学习笔记——第一、二章相关推荐
- 西瓜书学习笔记第2章(模型评估与选择)
西瓜书学习笔记第2章(模型评估与选择) 2.1经验误差与过拟合 2.2评估方法 2.2.1留出法(hold-out) 2.2.2交叉验证法(cross validation) 2.2.3自助法(boo ...
- 西瓜书学习笔记——第十一章:特征选择与稀疏学习
第十一章:特征选择与稀疏学习 11.1 子集搜索与评价 子集搜索 特征子集评价 11.2 过滤式选择 Relief的相关统计量 11.3 包裹式选择 拉斯维加斯方法和蒙特卡罗方法: 11.4 嵌入式选 ...
- 《机器学习》周志华(西瓜书)学习笔记 第十一章 特征选择与稀疏学习
机器学习 总目录 第十一章 特征选择与稀疏学习 11.1 子集搜索与评价 给定属性集,其中有些属性可能很关键.很有用,另一些 属性则可能没什么用.我们将属性称为"特征" (feat ...
- C++ Primer 学习笔记 第一,二章
2021年4月4日,我终于开始学习C++啦,下面的笔记会记录着我的心酸的学习历程,每个标题会记录着下面代码在<C++中文版 Primer>中的页码 P6 实现两数之和 # include ...
- 周志华西瓜书学习笔记(一)
周志华西瓜书学习笔记 第一章 绪论 数据处理分为三个阶段:收集,分析,预测. 一.基本概念 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能. Mitchell给出的更形式化的定义为 ...
- 西瓜书--学习笔记1
西瓜书–学习笔记1 第一章 1.分类和回归是监督学习的代表,而聚类是无监督学习的代表. 2.归纳和演绎是科学推理的两大基本手段. 归纳:从特殊到一般的"泛化"过程,即从具体的事实归 ...
- 『RNN 监督序列标注』笔记-第一/二章 监督序列标注
『RNN 监督序列标注』笔记-第一/二章 监督序列标注 监督序列标注(Supervised Sequence Labeling)与传统的监督模式分类(supervised pattern classi ...
- 【机器学习】西瓜书学习笔记01
基于周志华<机器学习>一书所作笔记,得益于参加datawhale的学习小组,将知识读薄理解,输出以感悟,读厚以加深理解,从而形成自己的框架.希望大家也能一起进行开源学习,进一寸有一寸的欢喜 ...
- 《西瓜书》笔记-第0章-引言
本人为某985学生,想在CSDN上发表一些自己的阅读笔记.阅读体会,一方面是为了整理自己所学知识,达到重新梳理,复习的作用,一方面是可能在一定程度上能够帮助网友们,非常希望志同道合的朋友们能发表一些意 ...
最新文章
- 403错误代码导致网站样式全部乱了
- linux中的定时,linux中的定时任务
- 程序员的写作课:三、 海量信息输入指南
- J-LINK7 固件修复
- mxm智能教育机器人无法智能对话_零代码使用腾讯TBP打造智能对话机器人
- jquery通过attr取html里自定义属性原来这么方便啊
- matplotlib调整图例的位置
- flex file 文件上传 带参数 php,php+flex打造多文件带进度超级上传
- 为什么 mysql 里的 ibdata1 文件不断的增长?
- layui 加载中_宝骏360促销中,最高直降0.91万,新车全国4.77万起!
- 北方民族大学计算机考研专业课,2021北方民族大学专业课考研真题资料汇总!!...
- WebView学习笔记
- C++类成员函数的传参问题
- ActivityMQ应用详解
- 度度熊的午饭时光[2017百度之星资格赛 1004]
- 工业计算机摇杆接口,使用摇杆模块控制计算机鼠标
- springboot程序logback日志基本配置,多个包不同日志级别输入到文件中
- 看完还不会数据库优化,你来找我!
- 计算机网络按分布范围分类可分为局域网,计算机网络按照覆盖范围可以分为局域网...
- dva如何去掉hash
热门文章
- M站底部固定悬浮导航代码分享
- 微服务应用大行其道,我提供一个dto和entity转换工具类,方便大家做转换,少写机械代码,多陪陪家人...
- Qt中使用诺基亚HERE地图的方式
- 全球3d地形图分享,我们生活的地球,原来可以这么美!
- 商品扫码器驱动如何设置 商品扫码器驱动设置步骤
- echange 2013登录ecp失败
- maven自带clean_Maven生命周期(示例代码)
- 博弈论-斐波那契博弈
- dacom蓝牙耳机怎么重置_蓝牙耳机常见故障处理方法
- 《新程序员003》预售,大厂云原生技术实践和数字化转型案例都在这了