吐血整理:机器学习的30个基本概念,都在这里了(手绘图解)

Posted 机器学习与系统

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了吐血整理:机器学习的30个基本概念,都在这里了(手绘图解)相关的知识,希望对你有一定的参考价值。


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


作者:梅子行、毛鑫宇

来源:大数据DT(ID:hzdashuju)





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等企业的资深风控专家,擅长深度学习、复杂网络、迁移学习、异常检测等非传统机器学习方法,热衷于数据挖掘以及算法的跨领域优化实践。
    毛鑫宇,资深品牌视觉设计师、插画设计师。曾任职国内知名文旅公司品牌设计师,设计打造知名文化旅游目的地及品牌设计案例。

    本文摘编自智能风控:Python金融风险管理与评分卡建模,经出版方授权发布。
    欢迎扫码购买




    延伸阅读智能风控


    推荐语:本书基于Python讲解了信用风险管理和评分卡建模,用漫画的风格,从风险业务、统计分析方法、机器学习模型3个维度展开,详细讲解了信用风险量化相关的数据分析与建模手段,并提供大量的应用实例。作者在多家知名金融公司从事算法研究多年,经验丰富,本书得到了学术界和企业界多位金融风险管理专家的高度评价。


    福利
    当当年中庆典,花120买300的硬核书
    优惠码:GXE8DV
    有效期:6.9-6.20
    使用渠道:当当App和当当小程序



    推荐阅读:

    1. 什么是中断机制?

    2. StackOverflow 2020开发者报告精粹

    3. 人工智能在系统领域面临的挑战-伯克利视角

    4. 如何评估一项技术是否值得长期投入

    5. 操作系统是如何管理物理内存的?


    吐血整理:关于机器学习不可不知的15个概念

    导读:本文介绍不同类型的机器学习方法,以及模型评估的相关概念。

    作者:布奇·昆托(Butch Quinto)

    来源:大数据DT(ID:hzdashuju)

    01 有监督学习

    有监督学习是利用训练数据集进行预测的机器学习任务。有监督学习可以分为分类回归。回归用于预测“价格”“温度”或“距离”等连续值,而分类用于预测“是”或“否”、“垃圾邮件”或“非垃圾邮件”、“恶性”或“良性”等类别。

    分类包含三种类型的分类任务:二元分类多类别分类多标签分类。回归中包含线性回归和生存回归。

    02 无监督学习

    无监督学习是一种机器学习任务,它在不需要标记响应的情况下发现数据集中隐藏的模式和结构。当你只能访问输入数据,而训练数据不可用或难以获取时,无监督学习是理想的选择。常用的方法包括聚类、主题建模、异常检测、推荐和主成分分析。

    03 半监督学习

    在某些情况下,获取标记数据是昂贵且耗时的。在响应标记很少的情况下,半监督学习结合有监督和无监督学习技术进行预测。在半监督学习中,利用未标记数据对标记数据进行扩充以提高模型准确率。

    04 强化学习

    强化学习试图通过不断从尝试的过程和错误的结果来进行学习,确定哪种行为能带来最大的回报。强化学习有三个组成部分:智能体(决策者或学习者)、环境(智能体与之交互的内容)和行为(智能体可以执行的内容)。这类学习通常用于游戏、导航和机器人技术。

    05 深度学习

    深度学习是机器学习和人工智能的一个分支,它使用深度的、多层的人工神经网络。最近人工智能领域的许多突破都归功于深度学习。

    06 神经网络

    神经网络是一类类似于人脑中相互连接的神经元的算法。一个神经网络包含多层结构,每一层由相互连接的节点组成。通常有一个输入层、一个或多个隐藏层和一个输出层。

    07 卷积神经网络

    卷积神经网络(convnet或CNN)是一种特别擅长分析图的神经网络(尽管它们也可以应用于音频和文本数据)。卷积神经网络各层中的神经元按高度、宽度和深度三个维度排列。我将在第7章更详细地介绍深度学习和深度卷积神经网络。

    08 模型评估

    在分类中,每个数据点都有一个已知的标签和一个模型生成的预测类别。通过比较已知的标签和预测类别为每个数据点进行划分,结果可以分为四个类别:

    • 真阳性(TP),预测类别和标签均为阳性;

    • 真阴性(TN),预测类别和标签均为阴性;

    • 假阳性(FP),预测类别为阳性但标签为阴性;

    • 假阴性(FN),预测类别为阴性但标签为阳性。

    这四个值构成了大多数分类任务评估指标的基础。它们通常在一个叫作混淆矩阵的表格中呈现(如表1-1)。

    ▼表1-1 混淆矩阵

    09 准确率

    准确率是分类模型的一个评估指标。它定义为正确预测数除以预测总数。

    在数据集不平衡的情况下,准确率不是理想的指标。举例说明,假设一个分类任务有90个阴性和10个阳性样本;将所有样本分类为阴性会得到0.90的准确率分数。精度和召回率是评估用例不平衡数据的训练模型的较好指标。

    10 精度

    精度定义为真阳性数除以真阳性数加上假阳性数的和。精度表明当模型的预测为阳性时,模型正确的概率。例如,如果你的模型预测了100个癌症的发生,但是其中10个是错误的预测,那么你的模型的精度是90%。在假阳性较高的情况下,精度是一个很好的指标。

    11 召回率

    召回率是一个很好的指标,可用于假阴性较高的情况。召回率的定义是真阳性数除以真阳性数加上假阴性数的和。

    12 F1度量

    F1度量或F1分数是精度和召回率的调和平均值或加权平均值。它是评估多类别分类器的常用性能指标。在类别分布不均的情况下,这也是一个很好的度量。最好的F1分数是1,而最差的分数是0。一个好的F1度量意味着你有较低的假阴性和较低的假阳性。F1度量定义如下:

    13 AUROC

    接收者操作特征曲线下面积(AUROC)是评估二元分类器性能的常用指标。接收者操作特征曲线(ROC)是依据真阳性率与假阳性率绘制的图。曲线下面积(AUC)是ROC曲线下的面积。

    在对随机阳性样本和随机阴性样本进行预测时,将阳性样本预测为阳性的概率假设为P0,将阴性样本预测为阳性的概率假设为P1,AUC就是P0大于P1的概率。曲线下的面积越大(AUROC越接近1.0),模型的性能越好。AUROC为0.5的模型是无用的,因为它的预测准确率和随机猜测的准确率一样。

    14 过拟合与欠拟合

    模型性能差是由过拟合或欠拟合引起的。

    过拟合是指一个模型太适合训练数据。过拟合的模型在训练数据上表现良好,但在新的、看不见的数据上表现较差。

    过拟合的反面是欠拟合。由于拟合不足,模型过于简单,没有学习训练数据集中的相关模式,这可能是因为模型被过度规范化或需要更长时间的训练。

    模型能够很好地适应新的、看不见的数据,这种能力被称为泛化。这是每个模型优化练习的目标。

    防止过拟合的几种方法包括使用更多的数据或特征子集、交叉验证、删除、修剪、提前停止和正则化。对于深度学习,数据增强是一种常见的正则化形式。

    为了减少欠拟合,建议选择添加更多相关的特征。对于深度学习,考虑在一个层中添加更多的节点或在神经网络中添加更多的层,以增加模型的容量。

    15 模型选择

    模型选择包括评估拟合的机器学习模型,并尝试用用户指定的超参数组合来拟合底层估计器,再输出最佳模型。通过使用Spark MLlib,模型选择由CrossValidator和TrainValidationSplit估计器执行。

    CrossValidator对超参数调整和模型选择执行k-fold交叉验证和网格搜索。它将数据集分割成一组随机的、不重叠的分区,作为训练和测试数据集。例如,如果k=3,k-fold交叉验证将生成3对训练和测试数据集(每一对仅用作一次测试数据集),其中每一对使用2/3作为训练数据,1/3用于测试。

    TrainValidationSplit是用于超参数组合的另一种估计器。与k-fold交叉验证(这是一个昂贵的操作)相反,TrainValidationSplit只对每个参数组合求值一次,而不是k次。

    关于作者:布奇·昆托(Butch Quinto),在银行与金融、电信、政府部门、公共事业、交通运输、电子商务、零售业、制造业和生物信息学等多个行业拥有20多年的技术和领导经验。他是Next-Generation Big Data(Apress,2018)的作者,也是人工智能促进协会(AAAI)和美国科学促进会(AAAS)的成员。

    本文摘编自《基于Spark的下一代机器学习》,经出版方授权发布。

    延伸阅读《基于Spark的下一代机器学习》

    点击上图了解及购买

    转载请联系微信:DoctorData

    推荐语:本书先简单介绍了Spark和Spark MLlib,然后介绍标准Spark MLlib库之外的更强大的第三方机器学习算法和库。通过阅读本书,你将能够通过几十个实际的例子和深刻的解释,将所学到的知识应用到真实世界的用例。

    划重点????

    干货直达????

    更多精彩????

    在公众号对话框输入以下关键词

    查看更多优质内容!

    PPT | 读书 | 书单 | 硬核 | 干货 讲明白 | 神操作

    大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化

    AI | 人工智能 | 机器学习 | 深度学习 | NLP

    5G | 中台 | 用户画像 1024 | 数学 | 算法 数字孪生

    据统计,99%的大咖都关注了这个公众号

    ????

    以上是关于吐血整理:机器学习的30个基本概念,都在这里了(手绘图解)的主要内容,如果未能解决你的问题,请参考以下文章

    吐血整理:人工智能机器学习领域13个常见概念

    吐血整理!内部包含大数据机器学习推荐系统实战资料,仅分享一次!

    机器学习- Numpy基础 吐血整理

    机器学习资料与攻略超强整理吐血推荐

    吐血整理 | 史上最全推荐系统资料合集

    机器学习-Pandas 知识点汇总(吐血整理)