手绘图解 | 机器学习最常见的30个基本概念

2024-04-13 22:18

本文主要是介绍手绘图解 | 机器学习最常见的30个基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


来源:大数据DT

本文约3300字,建议阅读9分钟

本文主要介绍机器学习基础知识,包括名词解释(约30个)、基础模型的算法原理及具体的建模过程。

标签:机器学习

01 空间表征

在学习深奥的机器学习理论之前,首先来介绍一些机器学习中最基本的概念。

  • 特征(Feature):一个具体事物的属性描述,由属性向量表示。第j个记录xj的属性向量可以表示为:xj=(xj(1),xj(2),…,xj(i),…,xj(n)), j=1,2,…,N, xj∈X。

    其中每个xj(i)为一个特征维度上的取值。

  • 标记(Label):又称样本标签,用于描述事物某个特性的事项。

  • 标记值:标记的取值。在二分类问题中,取值通常为0和1。

  • 标记空间(输出空间):所有标记的集合,记为Y。

  • 样例(Sample):又称样本。拥有了对应标记的记录,由(记录,标记)对表示。例如,第j个样例可以表示为:(xj,yj), j=1,2,…,N, xj∈X,yj∈Y

假设空间F通常是由一个参数向量决定的函数族:

F={f|Y=fw(X),w∈Rn}

其中,参数向量w取值于n维向量空间Rn,称为参数空间。假设空间F也可定义为条件概率的集合(概率模型):

F={P|P(Y|X)}

其中,X是定义在输入空间X上的随机变量,Y是定义在输出空间Y上的随机变量。

上述公式理解起来可能较为抽象,接下来我们通过一个实际的例子来理解相关概念。

首先,在建立模型前,一定会有一个由多个样例组成的样本集,比如:

(用户A,{年龄:29,身高:185,年收入:70,婚姻状况:未婚,状态:逾期})

(用户B,{年龄:24,身高:167,年收入:31,婚姻状况:已婚,状态:未逾期})

(用户C,{年龄:46,身高:177,年收入:50,婚姻状况:离异,状态:未逾期})

其中每一个用户及其属性对称为一个样本(或观测)。这样的一系列用户及其自身的属性构成了样本集,其中用户“A”“B”“C”构成了样本空间,“特征年龄”“身高”“年收入”“婚姻状况”构成了特征空间

此外还有一个空间叫作参数空间,即由组成预测函数的参数的所有取值所组成的空间。“状态”这个字段则代表着样本的标签,也就是需要模型来判别的结果。

这个例子中特征空间有4个取值:年龄、身高、年收入、婚姻状况。这4个取值就代表着特征空间中的4个维度,或者说这个特征空间的维度是4。在良好的假设条件下,模型期望每个特征之间互不干扰,然而在实际情况下,通常每个特征之间都有可能存在关系。

比如我们可以将其中两个维度(年龄和身高)画出来。当处于低龄时(即0~8岁),我们可以明显地观察到身高的取值随着年龄增长也在不断地变大,如图3-1所示。

▲图3-1 变量相关性示例

婚姻状况这个特征可能取值为{未婚、已婚、离异},那么这3个取值就限制住了特征空间在婚姻状况这个维度上的取值。

如果数据中只有{未婚、离异}这2种取值的样本,则称这个数据集不能完整表征它所在的样本空间,即在它的某一特征维度上,有一些值没有被观测到,不能很好地观察到这个维度特征的真实分布。

通过已观察的样本点,只能表征出阴影部分的空间,如图3-2所示。

▲图3-2 空间表征示例

02 模型学习

模型的训练(又叫学习或者拟合),是指通过将数据传入模型,从而使模型学习到数据的潜在规律(如数据的分布)的过程。而建立模型的本质,可以理解为从数据分布中抽象出一个决策函数

决策函数(非概率模型)的定义为从输入空间X到输出空间Y的映射f:X→Y。

假设空间F定义为决策函数的集合,其形式如下:

F={f|Y=f(X)}

其中,X是定义在输入空间X上的变量,X∈X;Y是定义在输出空间Y上的变量。

当想要预测的是离散值时,比如一个人是男或是女,或者一个用户还钱与否,这样的任务称为分类(Classification)。与之相对应的,如果想预测一个人的年龄是多少岁,或者一个用户具体会在未来的哪一天还款,这样的任务称为回归(Regression)。

当一个任务只有两个取值时称之为二分类任务。评分卡模型就是一种典型的二分类任务,即预测一个用户是否会产生逾期。而当任务涉及多个类别的时候,称之为多分类任务。

一个典型的例子是在做欺诈检测时预测一个用户是否进行欺诈,这看似是一个二分类任务(预测是否欺诈),但其实用户的欺诈手段各不相同,每一个欺诈方法都是一个单独的类别,因此它本质上是一个多分类任务

从数据是否带有标签的角度来看,又可以将模型划分成三大类:监督学习(Supervised Learning,SL)、半监督学习(Semi-Supervised Learning,SSL)和无监督学习(Unsupervised Learning,UL)。

  • 监督学习是指在一个申请评分卡建模中,已经明确知道样本集中每个用户的标签,即随便取一个人出来,都可以知道他的逾期状态。

  • 无监督学习是指在建模时,完全没有当前样本集的任何标签信息,即完全不知道哪些人是逾期的。

  • 半监督学习介于两者之间,对于当前的样本集,知道其中一部分样本的标签,另一部分则不知道其是否已逾期。

通常情况下,模型的效果排序如下:

监督学习>半监督学习>无监督学习

在绝大多数情况下,应该尽可能利用标签信息,这样得到的模型效果会更好。但是很多时候,是否能拥有标签并不是由个体决定的。例如,很多平台是没有欺诈用户的标签的,此时训练一个监督模型就很困难,而半监督及无监督学习可以起到一定的作用。

03 模型评价

对于模型学习的结果,主要关心两件事:欠拟合(underfit)和过拟合(overfit)。

欠拟合是指模型拟合程度不高,数据距离拟合曲线较远,或指模型没有很好地捕捉到数据特征,不能很好地拟合数据。换言之,模型在学习的过程中没有很好地掌握它该掌握的知识,模型学习的偏差较大。

过拟合是指为了得到一致假设而使假设变得过度严格,即模型学习得太过详细,把一些个例的特点作为共性,使得模型的泛化能力较低。

图3-3很好地解释了过拟合与欠拟合的含义,a图表示欠拟合,b图表示一个良好的拟合,c图则表示过拟合。通俗理解,过拟合就是模型学得过于细致,欠拟合就是学得过于粗糙。

▲图3-3 拟合优度

模型结构越复杂,通常越倾向于过拟合。而样本量越大,数据分布得到越充分的曝光,模型越不容易过拟合。为了更好地表示过拟合和欠拟合,通常建模的时候会将样本集划分为训练集(Train)和测试集(Test)。

训练集就是用来带入模型训练的集合,而测试集主要是待模型训练好之后,对模型做测试,以检验模型的效果。一般认为,训练集上表现好但在测试集上表现不好的模型,有过拟合的风险;而模型在训练集上效果明显差于测试集,则有欠拟合的风险。

在训练一个模型的时候,我们不只希望模型在训练集上的表现足够好,还希望模型在其他数据集上的表现也很好。训练集上的表现与测试集上的表现的差值称为泛化误差,而泛化误差由3部分组成:偏差(bias)、方差(variance)、噪声(noise)。

  • 偏差度量了模型的期望预测与真实结果的偏离程度,也就是模型本身的拟合能力;

  • 方差度量了同样大小的训练集的变动所导致的学习能力的变化,也就是数据扰动所造成的影响;

  • 噪声则刻画了问题本身的拟合难度。

图3-4所示为训练程度与误差的关系。

▲图3-4 训练程度与误差

通常离线模型训练完成后,在最终模型上线前,会将测试集和训练集整合,重新对模型的系数做拟合,进而得到最终的模型。这是因为人为数据集越大,对样本空间的表征可能越充分。某些曝光不充分的特征值所对应的标签分布,在数据量增加时,可能有更高的曝光率。比如之前例子中的数据集如下所示:

(用户A,{年龄:29,身高:185,年收入:70,婚姻状况:未婚,状态:逾期})

(用户B,{年龄:24,身高:167,年收入:31,婚姻状况:已婚,状态:未逾期})

(用户C,{年龄:46,身高:177,年收入:50,婚姻状况:离异,状态:未逾期})

如果训练集中婚姻状况有一个值没有取到,只存在于测试集中,那么将测试集和训练集合并得到最终模型时,对未来的用户进行预测时偏差就会更小。

然而部分模型,如极端梯度提升机(eXtreme Gradient Boosting,XGBoost)需要利用测试样本集实现训练过程的提前停止,因此需要额外选择部分样本不参与训练,比如从原始训练集中选择少部分样本作为提前停止的依据。

关于作者:

梅子行,资深风控技术专家、AI技术专家和算法专家,历任多家知名金融科技公司的算法研究员、数据挖掘工程师。师承Experian、Discover等企业的资深风控专家,擅长深度学习、复杂网络、迁移学习、异常检测等非传统机器学习方法,热衷于数据挖掘以及算法的跨领域优化实践。

毛鑫宇,资深品牌视觉设计师、插画设计师。曾任职国内知名文旅公司品牌设计师,设计打造知名文化旅游目的地及品牌设计案例。

编辑:黄继彦

这篇关于手绘图解 | 机器学习最常见的30个基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/901364

相关文章

嵌入式软件常见的笔试题(c)

找工作的事情告一段落,现在把一些公司常见的笔试题型整理一下,本人主要是找嵌入式软件方面的工作,笔试的也主要是C语言、数据结构,大体上都比较基础,但是得早作准备,才会占得先机。   1:整型数求反 2:字符串求反,字符串加密,越界问题 3:字符串逆序,两端对调;字符串逆序,指针法 4:递归求n! 5:不用库函数,比较两个字符串的大小 6:求0-3000中含有9和2的全部数之和 7

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

22.手绘Spring DI运行时序图

1.依赖注入发生的时间 当Spring loC容器完成了 Bean定义资源的定位、载入和解析注册以后,loC容器中已经管理类Bean 定义的相关数据,但是此时loC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况 发生: 、用户第一次调用getBean()方法时,loC容器触发依赖注入。 、当用户在配置文件中将<bean>元素配置了 lazy-init二false属性,即让

21.手绘Spring IOC运行时序图

1.再谈IOC与 DI IOC(lnversion of Control)控制反转:所谓控制反转,就是把原先我们代码里面需要实现的对象创 建、依赖的代码,反转给容器来帮忙实现。那么必然的我们需要创建一个容器,同时需要一种描述来让 容器知道需要创建的对象与对象的关系。这个描述最具体表现就是我们所看到的配置文件。 DI(Dependency Injection)依赖注入:就是指对象是被动接受依赖类