代码编织梦想

本博客是用来记录个人认为的重要的知识点,但因为知识点繁多而复杂,因此大多数情况下知识在这里列一个提纲,或者在这里写自己的理解

第一章 绪论(此部分来自南瓜书)

一些概念
“算法”产出的结果称为“模型”,通常是具体的函数或者可抽象地看作为函数

样本:也称为“示例”,是关于一个事件或对象的描述,一般是把事物或对象抽象为某种数学形式,常见于抽象成线性代数中的向量(因为任何事物都可以由若干“特征”——或称为“属性”唯一刻画出来),相应特征的取值对应事物具有的特征。例如,如果用色泽、根蒂和敲声这 3 个特征来刻画西瓜,那么一个“色泽青绿,根蒂蜷缩,敲声清脆”的西瓜用向量来表示即为 x =(青绿; 蜷缩; 清脆) 一般称与特征处理相关的工作为“特征工程”。

样本空间:也称为“输入空间”或“属性空间”。样本的特征向量所在的空间为样本空间。类比线性代数中的向量空间来理解即可。(因为样本也常常用线性代数中的向量来表示)

数据集:数据集通常用集合来表示。集合 D = x 1 , x 2 , . . . , x m D = {x_1, x_2, ..., x_m} D=x1,x2,...,xm 表示包含 m 个样本的数据集,一般同一份数据集中的每个样本都含有相同个数的特征,假设此数据集中的每个样本都含有 d 个特征,则第 i个样本的数学表示为 d 维向量: x i = ( x i 1 ; x i 2 ; . . . ; x i d ) x_i = (x_{i1}; x_{i2}; ...; x_{id}) xi=(xi1;xi2;...;xid),其中 x i j x_{ij} xij 表示样本 x i x_i xi 在第 j 个属性上的取值。
需要注意的是,数据集也称为一个样本,因为它可以看成是对样本空间的一个采样。通过上下文可判断出“样本”是指单个示例还是数据集

模型:机器学习的一般流程如下:首先收集若干样本(假设此时有 100 个),然后将其分为训练样本(80 个)和测试样本(20 个),其中 80 个训练样本构成的集合称为“训练集”,20 个测试样本构成的集合
称为“测试集”,接着选用某个机器学习算法,让其在训练集上进行“学习”(或称为“训练”),然后产出得到“模型”(或称为“学习器”),最后用测试集来测试模型的效果。执行以上流程时,表示我们已经默认样本的背后是存在某种潜在的规律,我们称这种潜在的规律为“真相”或者“真实”,例如样本是一堆好西瓜和坏西瓜时,我们默认的便是好西瓜和坏西瓜背后必然存在某种规律能将其区分开。当我们应用某个机器学习算法来学习时,产出得到的模型便是该算法所找到的它自己认为的规律,由于该规律通常并不一定就是所谓的真相,所以也将其称为“假设”。通常机器学习算法都有可配置的参数,同一个机器学习算法,
使用不同的参数配置或者不同的训练集,训练得到的模型通常都不同。

标记:上文提到机器学习的本质就是在学习样本在某个方面的表现是否存在潜在的规律,我们称该方面的信息为“标记”。例如在学习西瓜的好坏时,“好瓜”和“坏瓜”便是样本的标记。一般第 i 个样本的标记的数学表示为 y i y_i yi,标记所在的空间称为“标记空间”或“输出空间”,数学表示为花式大写的 Y Y Y。标记通常也看作为样本的一部分,因此,一个完整的样本通常表示为 ( x , y ) (x, y) (x,y)

根据标记的取值类型不同,可将机器学习任务分为以下两类:
1、当标记取值为离散型时,称此类任务为“分类”。当分类的类别只有两个时,称此类任务为“二分类”,通常称其中一个为“正类”,另一个为“反类”或“负类”;当分类的类别超过两个时,称此类任务为“多分类”。
2、当标记取值为连续型时,称此类任务为“回归”。例如学习预测西瓜的成熟度、学习预测未来的房价等。由于是连续型,因此标记的所有可能取值无法直接罗列,通常只有取值范围,回归任务的标记取值范围通常是整个实数域 R R R,即 Y = R Y = R Y=R
根据是否有用到标记信息,可将机器学习任务分为以下两类:
1、在模型训练阶段有用到标记信息时,称此类任务为“监督学习”,例如分类和回归。
2、在模型训练阶段没用到标记信息时,称此类任务为“无监督学习”,例如聚类。

泛化:由于机器学习的目标是根据已知来对未知做出尽可能准确的判断,因此对未知事物判断的准确与否才是衡量一个模型好坏的关键,我们称此为“泛化”能力。

分布:此处的“分布”指的是概率论中的概率分布,通常假设样本空间服从一个未知“分布” D D D,而我们收集到的每个样本都是独立地从该分布中采样得到,即“独立同分布”。通常收集到的样本越多,越能从样本中反推出 D D D 的信息,即越接近真相。

归纳偏好:任何一个有效的机器学习算法必有其归纳偏好,用于决定算法产生哪一种模型。奥卡姆剃刀是一种常用的基本原则——即若有多个假设与观察一致,选最简单的那个。但是现实要选择与问题本身匹配的归纳偏好——脱离具体问题,空谈什么学习算法更好毫无意义。

第二章 模型评估与选择

经验误差与过拟合

错误率:
m跟样本中有a个样本分类错误,则错误率 E = a / m E=a/m E=a/m,相应的, 1 − a / m 1-a/m 1a/m称为精度。
学习器的实际输出与样本的真实输出的差异称为“误差”。在训练集上产生的误差称为训练误差,在新样本上的误差称为泛化误差。
过拟合:学习器把训练样本自身的一些特点当成了所有潜在样本都会具有的一般性质导致泛化性能下降。(学习器把训练样本学得太好了),是机器学习的关键障碍,且无法避免。
欠拟合:与过拟合相对。
对于“西瓜书”第 1 章图 1.4 中的训练样本(黑点)来说,用类似于抛物线的曲线 A 去拟合则较为合理,而比较崎岖的曲线 B 相对于训练样本来说学习能力过于强大,但若仅用一条直线去训练则相对于训练样本来说直线的学习能力过于低下。

评估方法

对只有一个包含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进行处理来产生训练集S和测试集T,下面是常用的几种做法:
西瓜书介绍了 3 种模型评估方法:留出法、交叉验证法、自助法
留出法由于操作简单,因此最常用;留出法直接将数据集D分为两个互斥的集合,其中一个作为S,另一个作为T。S/T的划分要尽量保持数据分布的一致性。而且单次留数法的估计结果往往不够可靠,一般要采用若干次随机划分,重复进行实验评估后取平均值作为评估结果。
交叉验证法常用于对比同一算法的不同参数配置之间的效果,以及对比不同算法之间的效果;“交叉验证法”先将数据集D划分为k个大小相似的
互斥子集,即 D = D 1 ∪ D 2 ∪ . . . ∪ D k , D i ∩ D j = 0 ( i ≠ j ) D= D_1∪D_2∪...∪D_k, D_i∩D_j=0(i≠j) D=D1D2...Dk,DiDj=0(i=j).每个子集Di都
尽可能保持数据分布的一致性,即从D中通过分层采样得到.然后,每次用
k- 1个子集的并集作为训练集,余下的那个子集作为测试集;这样就可获得k
组训练/测试集,从而可进行k次训练和测试,最终返回的是这k个测试结果
的均值.显然,交叉验证法评估结果的稳定性和保真性在很大程度上取决于k
在这里插入图片描述
令k=m(m为样本个数),则得到特例:留一法。留一法结果比较准确,但数据集比较大时算法的开销很大。

自助法常用于集成学习,以自助采样法为基础。给定包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集D’,这就是自助采样的结果。D’用作训练集,D\D’用作测试集(\表示集合减法)。但是这会引入估计误差。数据集较小时可以使用,但初始数据量足够时,留出法和交叉验证法更常用一些。

性能度量

性能度量是衡量模型泛化能力的评价标准。常用的性能度量如下:
1、错误率和精度
2、查准率、查全率与F1
在这里插入图片描述
查准率 P:被学习器预测为正例的样例中有多大比例是真正例。
查全率 R:所有正例当中有多大比例被学习器预测为正例。
查准率 P与查全率 R比较矛盾,查准率高时,查全率往往偏低,反之亦然。

真正例率 TPR。真正例即实际为正例预测结果也为正例,假反例即实际为正例但预测结果为反例,式 (2.18) 分子为真正例,分母为真正例和假反例之和(即实际的正例个数),因式 (2.18) 的含义是 所有正例当中有多大比例被预测为正例(即查全率Recall)。式 (2.19) 定义了假正例率 FPR。先解释式子中出现的假正例和真反例,假正例即际为反例但预测结果为正例,真反例即实际为反例预测结果也为反例,式 (2.19) 分子为假正例,分母为真反例和假正例之和(即实际的反例个数),因此式 (2.19) 的含义是 所有反例当中有多大比例被预测为正例
在这里插入图片描述

ROC:研究排序本身质量的好坏,从这个角度研究学习器泛化性能。
ROC的绘图步骤:详细请见西瓜书P34。
若A的ROC曲线被B保住,则B 性能优于A,若果AB的ROC曲线发生交叉,则难以一般性下结论两者孰优孰劣。需要借助ROC曲线下的面积来判断(AUC)
AUC的意义见P35

代价敏感错误率与代价曲线
代价矩阵
非均等代价下,ROC曲线不能直接反映出学习器期望的总体代价,而代价曲线可达到该目的。

比较检验

(以后再看)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44613018/article/details/128695780

西瓜书学习笔记——第二章:模型评估与选择_andrewings的博客-爱代码爱编程

第2章:模型评估与选择 2.1 经验误差与过拟合2.1.1 一些概念2.1.2 过拟合与欠拟合 2.2 学习器泛化误差评估方法2.2.1 留出法2.2.2 交叉验证法交叉验证法的特例:留一法 2.2.3 自

西瓜书学习笔记——第八章:集成学习_andrewings的博客-爱代码爱编程

8.集成学习 8.1 个体与集成集成的概念集成如何获得比单一学习器更好的性能 8.2 Boosting8.2.1 Boosting工作机制8.2.2 AdaBoost(序列化采样)算法推导1. 验证指数损失函数是

西瓜书学习笔记第九章聚类_uevolishy的博客-爱代码爱编程

文章目录 1 知识脉络2 内容补充9.1节 聚类任务9.2节 性能度量9.3节 距离计算9.4节 原型聚类9.4.1 k均值算法9.4.2 学习向量量化9.4.3 高斯混合聚类 9.5节 密度聚类9.6节 层次

西瓜书学习笔记 第二章-爱代码爱编程

2.1 经验误差与过拟合 m个样本中有a个样本分类错误 错误率(error rate): E = a/m 精度(accuracy)= 1 - 错误率 = 1 - E = 1 - a/m 误差(误差期望):学习器的预测输出与样本的真实输出的差异; 训练误差(training error)或经验误差(empirical error):学习器在训练集上

西瓜书学习笔记第二章(一)-爱代码爱编程

西瓜书学习笔记 开始学习时间:2020/1/14 作者: 谭楷城 第二章:模型评估与选择 文章目录 西瓜书学习笔记第二章:模型评估与选择2.1 经验误差与过拟合2.2 评估方法如何产生测试(验证)集?2.2.1 留出法(hold-out)2.2.2 交叉验证法(cross validation)2.2.3 自助法(bootstr

西瓜书学习笔记 第1章 绪论-爱代码爱编程

目录 第1章 绪论1.3 假设空间1.4 归纳偏好参考文献 本文仅针对个人不熟知识点进行整理,已知内容或过于简单的就不整理了。 第1章 绪论 1.3 假设空间 假设空间:所有假设组成的空间 版本空间:现实问题中我们常面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的假

西瓜书学习笔记(第一章)-爱代码爱编程

基本术语 数据集(data set): 所有数据的集合 样本(sample): 描述某个事件或对象的记录 属性(attribute): 事件或对象的某个性质 属性值(attribute value): 性质的取值 属性空间(attribute space): 性质所有取值的集合 特征向量(feature vector): 由多个性质组成的一条记录 训练数据

《西瓜书》学习笔记第一章、第二章-爱代码爱编程

《西瓜书》个人笔记 绪论1.1 概念      机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。 机器学习的主要内容:关于在计算机上从数据中产生“模型”的算法,即学习算法。 1.2 术语   数据集:记录的集合   示例:关于一个事件或对象的描述   属性:反映事件或对象在某方面的表现或性质的事项   属性值:属性上的取

机器学习入门-西瓜书总结笔记第二章-爱代码爱编程

西瓜书第二章-模型评估与选择 前言一、经验误差与拟合二、评估方法1.留出法2.交叉验证法3.自主法4.调参与最终模型三、性能度量1.错误率与精度2.查准率、查全率与 F

西瓜书学习笔记第1章(绪论)机器学习-爱代码爱编程

西瓜书学习笔记第1章(绪论)机器学习 1.1引言1.2基本术语1.3假设空间1.4归纳偏好1.5发展历程1.6应用现状 1.1引言 机器学习是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。 经验的存在形式就是数据,而机器学习就是让计算机从数据中产生出模型的算法,即学习算法。有了学习算法,我们就可以基于这些数据产生

机器学习入门-西瓜书总结笔记第七章-爱代码爱编程

西瓜书第七章-贝叶斯分类器 一、贝叶斯决策论二、极大似然估计三、朴素贝叶斯分类器四、半朴素贝叶斯分类器五、贝叶斯网(Bayesian network)1.结构2.学习3.推断六、EM算法总结 一、贝叶斯决策论 贝叶斯决策论(Bayesian decision theory) 是在概率论框架下实施决策的基本方法。对分类任务来说,在所有相关概率

机器学习入门-西瓜书总结笔记第八章-爱代码爱编程

西瓜书第八章-集成学习 一、个体与集成二、Boosting三、Bagging与随机森林1.Bagging2.随机森林四、结合策略1.平均法2.投票法3.学习法五、多样性1.误差-分歧分解2.多样性度量3.多样性增强总结 一、个体与集成 集成学习(ensemble learning) 通过构建并结合多个学习器来完成学习任务,有时称为 多分类器系

西瓜书学习笔记第2章(模型评估与选择)-爱代码爱编程

西瓜书学习笔记第2章(模型评估与选择) 2.1经验误差与过拟合2.2评估方法2.2.1留出法(hold-out)2.2.2交叉验证法(cross validation)2.2.3自助法(bootstrapping)2.2.4调参与最终模型2.3性能度量(performance measure)2.3.1错误率与精度2.3.2查准率、查全率与F12.

西瓜书学习笔记-第二章 模型评估与选择_dove_dan的博客-爱代码爱编程

第二章 模型评估与选择 2.1 经验误差与过拟合 错误率(error rate):分类错误的样本数占样本总数的比例 m个样本中有a个样本分类错误,则错误率E=a/m 1-a/m称为精度(accuracy),即精度=1-错误率,精度常写为百分比形式 误差(error):学习器的实际预测输出与样本的真实输出之间的差异 学习器在训练集上的误差

西瓜书学习笔记——第一、二章_大肚腩猪猪的博客-爱代码爱编程

目录 一、第一章 绪论1、重要基本术语1.1 分类与回归1.2 聚类1.3 监督学习和无监督学习1.4 泛化1.5 归纳偏好 二、第二章 模型评估与选择1、评估方法1.1 留出法2.2 交叉验证法2.3 自

机器学习入门-爱代码爱编程

西瓜书第十一章-特征选择与稀疏学习 一、子集搜索与评价二、过滤式选择三、包裹式选择四、嵌入式选择与

机器学习入门-爱代码爱编程

西瓜书第十二章-计算学习理论 一、基础知识二、PAC学习三、有限假设空间1.可分情形2.不可分情形四、VC维 五、Rademacher复杂度六、稳定性 一、基础知识 计算学习理论(comp

西瓜书学习笔记第6章【支持向量机】_西瓜书支持向量机思维导图-爱代码爱编程

西瓜书学习笔记第6章【支持向量机】 6.1间隔与支持向量6.2对偶问题6.3核函数6.4软间隔与正则化6.5支持向量回归6.6核方法6.7思维导图 6.1间隔与支持向量 支持向量机(Support