深入理解机器学习
文章平均质量分 88
《深入理解机器学习》系列不仅仅把目光局限机器学习算法的推导与实现,更多的会将目光聚焦于从数学、统计学以及统计学习的角度来深入理解机器学习算法,除此之外,我还会讨论各个机器学习算法局限与瓶颈,纵横向比较各种机器学习算法的优劣等。
von Neumann
技术日新月异,人类生活方式正在快速转变,这一切给人类历史带来了一系列不可思议的奇点。我们曾经熟悉的一切,都开始变得陌生。
展开
-
深入理解机器学习——数据预处理:归一化 (Normalization)与标准化 (Standardization)
归一化 (Normalization)和标准化 (Standardization)都是特征缩放的方法。特征缩放是机器学习预处理数据中最重要的步骤之一,可以加快梯度下降,也可以消除不同量纲之间的差异并提升模型精度。而标准化(Standardization)是在不改变原始的数据分布的情况下,将数据的分布变换为均值为0,标准差为1。所以标准化也可以视为一种特殊的归一化,故我们也称标准化为Z值归一化。归一化(Normalization)是将一组数据变换到某个固定区间中。区间,而图像中可能会映射到。原创 2023-04-30 22:00:00 · 11494 阅读 · 0 评论 -
深入理解机器学习——过拟合(Overfitting)与欠拟合(Underfitting)
机器学习的主要挑战是我们的算法必须能够在先前未观测的新输入上表现良好,而不只是在训练集上表现良好。在先前未观测到的输入上表现良好的能力被称为泛化(Generalization)。通常情况下,当我们训练机器学习模型时,我们可以使用某个训练集,在训练集上计算一些被称为 训练误差(Training Rrror)的度量误差,目标是降低训练误差。机器学习和优化不同的地方在于,我们也希望 泛化误差(Generalization Error)/测试误差(Test Rrror)很低。泛化误差被定义为新输入的误差期望。原创 2023-04-23 22:30:00 · 11282 阅读 · 0 评论 -
深入理解机器学习——偏差(Bias)与方差(Variance)
即刻画了学习问题本身的难度。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小一般来说,偏差与方差是有冲突的,这称为偏差方差窘境(Bias-Variance Dilemma)。随着训练程度的加深,学习器的拟合能力逐渐增强,训练数据发生的扰动渐渐能被学习器学到,方差逐渐主导了泛化错误率:在训练程度充足后,学习器的拟合能力已非常强,训练数据发生的轻微扰动都会导致学习器发生显著变化,若训练数据自身的、非全局的特性被学习器学到了,则将发生过拟合,原创 2023-03-07 19:45:35 · 11128 阅读 · 1 评论 -
深入理解机器学习——数据集的划分与模型评估方法
通常我们把分类错误的样本数占样本总数的比例称为错误率(Error Rate),即如果在mmm个样本中有aaa个样本分类错误,则错误率E=amE=\frac{a}{m}E=ma相应的,Accuracy=1−am\text{Accuracy}=1-\frac{a}{m}Accuracy=1−ma称为准确率(Accuracy),即“精度=1-错误率”。更一般地,我们把学习器的实际预测输出与样本的真实输出之间的差异称为误差(Error),学习器在训练集上的误差称为训练误差(Training Error)/经验误原创 2022-04-03 14:43:52 · 13965 阅读 · 0 评论 -
深入理解机器学习——关联规则挖掘:基础知识
许多商业企业在日复一日的运营中积聚了大量的数据。例如,食品商店的收银台每天都收集大量的顾客购物数据。下图给出一个这种数据的例子,通常称作购物篮事务(Market Basket Transaction)。表中每一行对应一个事务,包含一个唯一标识TID和给定顾客购买的商品的集合。零售商对分析这些数据很感兴趣,以便了解他们的顾客的购买行为。可以使用这种有价值的信息来支持各种商务应用,如市场促销,库存管理和顾客关系管理等。原创 2023-01-20 12:50:10 · 15293 阅读 · 0 评论 -
深入理解机器学习——概率图模型(Probabilistic Graphical Model):条件随机场(Conditional Random Field,CRF)
例如在自然语言处理的词性标注任务中,观测数据为语句(即单词序列),标记为相应的词性序列,具有线性序列结构,如下左图所示;但在现实应用中,尤其是对标记序列建模时,最常用的仍是下图所示的链式结构,即“链式条件随机场”(Chain-structured CRF)。但条件随机场处理的是条件概率,而马尔可夫随机场处理的是联合概率。是定义在观测序列的两个相邻标记位置上的转移特征函数(Transition Feature Function),用于刻画相邻标记变量之间的相关关系以及观测序列对它们的影响,原创 2022-12-24 17:52:00 · 13284 阅读 · 0 评论 -
深入理解机器学习——概率图模型(Probabilistic Graphical Model):马尔可夫随机场(Markov Random Field,MRF)
马尔可夫随机场(Markov Random Field,MRF)是典型的马尔可夫网,这是一种著名的无向图模型,图中每个结点表示一个或一组变量,结点之间的边表示两个变量之间的依赖关系。上图显示出一个简单的马尔可夫随机场,对于图中结点的一个子集,若其中任意两结点间都有边连接,则称该结点子集为一个“团”(Clique),若在一个团中加入另外任何一个结点都不再形成团,则称该团为“极大团(Maximal Clique);换言之,极大团就是不能被其他团所包含的团,例如,在上图中。上,由于它的存在,使我们不再需为团。原创 2022-12-09 20:28:27 · 12995 阅读 · 0 评论 -
深入理解机器学习——EM算法/最大期望算法(Expectation-Maximization Algorithm, EM)
简要来说,EM算法使用两个步骤交替计算:第一步是期望E步,利用当前估计的参数值来计算对数似然的期望值;第二步是最大化M步,寻找能使E步产生的似然期望最大化的参数值。事实上,隐变量估计问题也可通过梯度下降等优化算法求解,但由于求和的项数将随着隐变量的数目以指数级上升,会给梯度计算带来麻烦;在前面的讨论中,我们一直假设训练样本所有属性变量的值都已被观测到,即训练样本是“完整”的。的利器,它是一种送代式的方法,其基本想法是:若参数。的值已知,则可方便地对参数做极大似然估计(M步)。是隐变量,上式无法直接求解。原创 2022-09-05 20:58:30 · 10478 阅读 · 0 评论 -
深入理解机器学习——概率图模型(Probabilistic Graphical Model):隐马尔可夫模型(Hidden Markov Model,HMM)
在语音识别等任务中,观测值为语音信号,隐藏状态为文字,目标就是根据观测信号来推断最有可能的状态序列(即对应的文字),即上述第二个问题;在大多数现实应用中,人工指定模型参数已变得越来越不可行,如何根据训练样本学得最优的模型参数,怡是上述第三个问题,值得庆幸的是,基于条件独立性,隐马尔可夫模型的这三个问题均能被高效求解。它以图为表示工具,最常见的是用一个结点表示一个或一组随机变量,结点之间的边表示变量间的概率相关关系,即“变量关系图”。如下图所示,隐马尔可夫模型中的变量可分为两组,第一组是状态变量。...原创 2022-08-30 12:45:55 · 11491 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):样本采样技术-[人工采样技术之ADASYN采样法]
从上式不难看出,与Borderline-SMOTE算法相似,ADASYN算法更关注那些位于决策边界附近的少数类样本,它们被选作主样本的频次远远高于那些位于少数类决策区域内的样本。与Borderline-SMOTE算法相类似,ADASYN(AdaptiveSyntheticSampling)算法也是一种改进的SMOTE算法。该算法于2008年提出,其主要思想是充分利用样本的密度分布信息来确定各少数类样本用作主样本的频次,中取出全部多数类与少数类样本,组成多数类训练样本集。个少数类样本的多数类近邻数记为。...原创 2022-07-14 20:24:22 · 11554 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):样本采样技术-[人工采样技术之SMOTE采样法及Borderline-SMOTE采样法]
分类目录:《深入理解机器学习》总目录针对随机采样技术的缺点,人们陆续开发出了一些更为高级的采样算法,这类算法均或多或少地利用了样本的局部先验分布信息,并利用这些信息,通过人工干预的方式来移除多数类样本或添加人工合成的少数类样本,从而达到了提升分类性能的目的。在此,我们将此类算法统称为“人工采样技术”。本文及后续文章将对此类技术中最具代表性的五种算法做展开介绍。SMOTE(Synthetic Minority Oversampling Technique)算法于2002年为Chawla等人所提出,主要用于解决原创 2022-07-12 21:49:47 · 12098 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):样本采样技术-[随机采样技术]
随机采样是最为简单也是应用最为广泛的一类采样技术,主要分为以下两个类别:随机降采样(Random Under-Sampling,RUS)及随机过采样(Random Over-Sampling, ROS)。其中,前者通过随机移除一定数量的多数类样本来缓解类分布不均衡的影响,而后者则通过简单复制少数类样本的方式来达成不同类在训练样本规模上的平衡。下面将分别对上述两类算法的流程及特点进行简要介绍。随机降采样法随机降采样(Random Under-Sampling, RUS)算法的基本思想是随机地移除一定数量或原创 2022-05-26 21:17:35 · 15870 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):样本采样技术-[基础知识]
如前所述采样技术是一种数据层的处理方法,它通过修正数据集的方式来平衡训练样本的类分布,以达到修复分类结果的目的。严格来讲,采样可被视作一种数据预处理技术,其最为突出的优点即是与后期选用何种分类算法无关。实际上,因其简便性,采样也是在类别不平衡学习领域中应用最为广泛的一项技术,在面向实际应用问题时,人们首先会考虑采用此技术。原创 2022-05-24 21:24:12 · 11826 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):性能评价测度
相关文章:· 机器学习模型的性能度量性能评价测度是用于评价分类模型“好坏”的一种量度。对于绝大多数了解分类问题的读者来讲,可能接触最多的一种性能评价测度就是分类准确率(Accuracy)。假设有一个具有mmm个样本的数据集D={(x1,y1),(x2,y2),⋯ ,(xm,ym)}D=\{(x_1, y_1), (x_2, y_2), \cdots, (x_m, y_m)\}D={(x1,y1),(x2,y2),⋯,(xm,ym)},其中yiy_iyi是示例xix_ixi的真实标记,则对原创 2022-05-02 16:46:36 · 17555 阅读 · 8 评论 -
深入理解机器学习——机器学习模型的性能度量
对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量(performance measure)。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果;这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。在预测任务中,给定样例集D={(x1,y1),(x2,y2),⋯ ,(xm,ym)}D=\{(x_1, y_1), (x_2, y_2), \cdots, (x_m, y原创 2022-04-05 15:47:48 · 12467 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):影响因素
从《类别不平衡分布对传统分类器性能的影响机理》文章可以看出,类别不平衡分布是会对各种传统分类算法的性能产生负面影响的。然而,这种负面影响的大小却与很多因素有关,本文和大家探讨这些影响因素。类别不平衡比率如《类别不平衡分布对传统分类器性能的影响机理》所述,在不平衡分类问题中,类别不平衡比率(Imbalanced Ratio, IR)是一个较为重要的概念,其具体可表示为多数类样本数与少数类样本数的比值,即IR=N−N+\text{IR}=\frac{N^-}{N^+}IR=N+N−。一般而言,IR值越高,原创 2022-05-02 15:13:55 · 14136 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning): 类别不平衡分布对传统分类器性能的影响机理
文章《类别不平衡学习(Imbalanced Learning):常用技术概览》已经以样本分布图的形式为读者直观地呈现了类别不平衡分布的负面影响。然而,读者可能仍不清楚其对各传统分类器性能的影响机理。在本文中,将分别以朴素贝叶斯、支持向量机及极限学习机这三种常用的分类器为例,从其各自的独特构造出发,在理论上分析类别不平衡分布对它们性能的影响机理,从而使读者能对类别不平衡分布的危害有更加深刻的认识。朴素贝叶斯众所周知,朴素贝叶斯分类器是提出较早且应用较为广泛的一种分类模型。该模型具有较强的理论基础,主要理论原创 2022-05-01 14:44:52 · 12167 阅读 · 2 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):应用领域
类别不平衡学习技术并不仅仅停留在理论上,在很多现实世界的应用领域中,都会用到此类技术。其应用领域包括但不限于以下几方面。网络入侵检测目前,随着互联网产业的快速发展,人类的日常生活和网络的联系也变得日益紧密。每天,有不计其数的服务器、计算机以及移动设备在彼此通过互联网传输海量的数据。这些数据中的绝大部分都是健康可用的,然而其中也包括了一小部分的恶意攻击程序,包括病毒、蠕虫、木马、后门、广告插件以及黑客程序等。网络入侵检测系统(Intrusion Detection System, IDS)的任务就是要准确原创 2022-04-18 19:28:13 · 11683 阅读 · 0 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):基础知识
传统的分类技术通常存在一个致命缺陷,即当其在样本分布不均衡的数据上训练时(如:采用99个健康人和1个病人的体检指标创建疾病诊断模型或99990个正常数据包和10个病毒数据包构建网络入侵检测模型等),往往会出现分类面偏倚的现象,从而无法得到理想的分类效果,在严重情况下,模型甚至会完全失效。上述问题在机器学习与数据挖掘领域通常被称为类别不平衡(Class Imbalanced)问题,人们也习惯地将用于解决上述问题的算法统称为类别不平衡学习算法。自20世纪90年代末以来,类别不平衡学习一直是机器学习与数据挖掘领原创 2022-04-17 16:15:09 · 13134 阅读 · 1 评论 -
深入理解机器学习——类别不平衡学习(Imbalanced Learning):常用技术概览
自20世纪90年代末,研究人员开始注意到类别不平衡问题起,已有多种学习技术被开发并用于解决此问题,主要包括以下几种。样本采样技术样本采样,也称数据层处理方法,顾名思义,即通过增加少数类样本或减少多数类样本的方式来获得相对平衡的训练集,以解决类别不平衡问题。增加少数类样本的方法被称为过采样(Oversampling),而减少多数类样本的方法则被称为降采样或欠采样(Undersampling)。以前文中的不平衡数据集为例,下图分别给出了该数据集在经过降采样与过采样处理后的样本分布情况。随机过采样(Ran原创 2022-04-17 20:37:24 · 12969 阅读 · 1 评论 -
深入理解机器学习——集成学习(Ensemble Learning):袋装法Bagging
我们在《集成学习(一):基础知识》中提到,欲得到泛化性能强的集成,集成中的个体学习器应尽可能相互独立;虽然“独立”在现实任务中无法做到,但可以设法使基学习器尽可能具有较大的差异。给定一个训练数据集,一种可能的做法是对训练样本进行采样,产生出若干个不同的子集,再从每个数据子集中训练出一个基学习器。这样,由于训练数据不同,我们获得的基学习器可望具有比较大的差异。然而,为获得好的集成,我们同时还希望个体学习器不能太差。如果采样出的每个子集都完全不同,则每个基学习器只用到了一小部分训练数据,甚至不足以进行有效学习原创 2021-11-07 21:57:42 · 16725 阅读 · 0 评论 -
深入理解机器学习——集成学习(Ensemble Learning):提升法Boosting与Adaboost算法
Boosting是一族可将弱学习器提升为强学习器的算法。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值TTT,最终将这TTT个基学习器进行加权结合。Boosting族算法最著名的代表是AdaBoost:Adaboost算法输入:\qquad 训练集:D=(x1,y1),(x2,y2),⋯ ,(xN,yN原创 2021-11-07 15:36:34 · 15820 阅读 · 0 评论 -
深入理解机器学习——集成学习(Ensemble Learning):基础知识
集成学习 (Ensemble Learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统( Multi-classifier System)、基于委员会的学习( Committee-based Learning)等。上图显示出集成学习的一般结构:先产生一组“个体学习器”),再用某种策略将它们结合起来。个体学习器通常由一个现有的学习算法从训练数据产生,例如C4.5决策树算法、BP神经网络算法等,此时集成中只包含同种类型的个体学习器,例如“决策树集成”中全是决策树,“神经网络集成”中原创 2021-11-07 14:26:30 · 18399 阅读 · 0 评论 -
深入理解机器学习——k近邻(kNN,k-Nearest Neighbor)算法:算法定义
k近邻算法简单、直观:给定一个训练数据集DDD,对新的输入实例,在训练数据集中找到与该实例最邻近的kkk个实例,这kkk个实例的多数属于某个类,就把该输入实例分为这个类。下面先叙述kkk近邻算法,然后再讨论其细节:k近邻(k-Nearest Neighbor)算法输入:\qquad 训练集:D=(x1,y1),(x2,y2),⋯ ,(xN,yN)D = {(x_1, y_1), (x_2, y_2), \cdots, (x_N, y_N)}D=(x1,y1),(x2,y2),⋯,(xN,y原创 2021-11-06 14:39:56 · 16346 阅读 · 0 评论 -
深入理解机器学习——k近邻(kNN,k-Nearest Neighbor)算法:基础知识
k近邻(k-Nearest Neighbor,kNN)算法是一种常用的监督学习方法,其工作机制非常简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的kkk个训练样本,然后基于这kkk个“邻居”的信息来进行预测。通常,在分类任务中可使用“投票法”,即选择这kkk个样本中出现最多的类别标记作为预测结果;在回归任务中可使用“平均法”,即将这kkk个样本的实值输出标记的平均值作为预测结果;还可基于距离远近进行加权平均或加权投票,距离越近的样本权重越大。与前面介绍的学习方法相比,k近邻学习有一个明显的不同原创 2021-11-06 14:03:07 · 17444 阅读 · 0 评论 -
深入理解机器学习——机器学习概览
机器学习算法是一种能够从数据中学习的算法。卡耐基梅隆大学计算机科学学院机器学习系主任Mitchell给出了机器学习算法的定义:对于某类任务TTT和性能度量PPP,一个计算机程序被认为可以从经验EEE中学习是指,通过经验EEE改进后,它在任务TTT上由性能度量PPP衡量的性能有所提升。经验EEE,任务TTT和性能度量PPP的定义范围非常宽广,我们会在接下来的文章中提供直观的解释和示例来介绍不同的任务、性能度量和经验,这些将被用来构建机器学习算法。任务TTT机器学习可以让我们解决一些人为设计和使用确定性程原创 2021-10-07 15:15:42 · 19814 阅读 · 0 评论 -
深入理解机器学习——基于决策树(Decision Tree)的模型:分类树和回归树
决策树(Decision Tree)是一种基本的分类与回归方法。本文会讨论决策树中的分类树与回归树,后续文章会继续讨论决策树的Boosting和Bagging的相关方法。决策树由结点和有向边组成。结点有两种类型:内部结点和叶结点,其中内部结点表示一个特征或属性,叶结点表示一个类。分类树分类树是一种描述对实例进行分类的树形结构。 用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测...原创 2018-09-17 09:57:47 · 313485 阅读 · 40 评论