机器学习之道
文章平均质量分 84
本专栏侧重机器学习的理论基础,采用循序渐进的方式,系统地引领读者进入机器学习的世界。如果说学习有“道”和“术”的层次之分,那么本专栏将更偏向于“道”的层面,跳脱具体算法,探讨一些更泛华化的概念,例如降维、采样、MCMC、正则化等。既娓娓道来,又刨根问底,希望能够带领读者实现破茧化蝶的自我提升
白马负金羁
数据挖掘 | 统计分析 | 图像处理 | 程序设计
展开
-
异常检测(Anomaly Detection)——基于MATLAB的实例(1)
异常检测(anomaly detection)是数据挖掘中的一类常见任务,它是指对“与预期模式或数据集中的项目、事件或观测值不相匹配的”数据点进行识别的过程。因此,它也被称作异常值检测(outlierdetection)。通常,这些异常值的检测会在不同的应用场景中被转变成银行欺诈、结构缺陷、网络攻击等类型的问题原创 2024-03-09 12:15:05 · 550 阅读 · 3 评论 -
【订阅前必读】机器学习的“道”与“术”专栏的说明
本专栏着重介绍各类常用的经典机器学习方法之原理思路、数学细节、应用实践(基于Python, R和MATLAB),具体涉及内容包括但不限于支持向量机、期望最大化模型、AdaBoost、GDBT、概率图模型(包括贝叶斯网络及HMM)、kNN、朴素贝叶斯、k均值、CART和C4.5决策树等原创 2021-02-02 12:15:05 · 2392 阅读 · 0 评论 -
机器学习与数据挖掘的学习路线图
应部分朋友要求,特奉上“机器学习与数据挖掘的学习路线图”,供有兴趣的读者研究。本文主要介绍路线图中的第一条路线。原创 2015-11-17 19:13:44 · 40074 阅读 · 10 评论 -
机器学习背后的数学:希尔伯特空间
核理论(Kernel)在机器学习中是非常重要的一个概念,例如在SVM中,借助Kernel可以使得那些本来线性不可分的数据集在新空间中变得线性可分,此外,还有Kernel PCA等。而在学习与Kernel有关的一些知识或阅读文献时,难免会遇到希尔伯特空间这个数学名词。希尔伯特空间是泛函分析中的一个重要概念,以德国数学家大卫·希尔伯特的名字命名原创 2016-01-16 16:38:16 · 15962 阅读 · 1 评论 -
机器学习背后的数学:范数与赋范空间
范数这个数学名词在机器学习中应该是十分常用的。例如在讨论正则化相关的话题时,或者更具体地在介绍LASSO和岭回归时,还有深度学习中很多优化的目标函数(或者Loss function)的定义中都需要用到范数。本文就从泛函分析中的范数概念说起,并介绍与赋范空间有关的知识原创 2016-02-01 22:47:58 · 7173 阅读 · 0 评论 -
从牛顿法到拟牛顿法(SR1、DFP、BFGS)【1】
牛顿法(Newton method)和拟牛顿法(Quasi-Newton method)是求解无约束最优化问题的常用方法,有收敛速度快的优点。牛顿法是迭代算法,每一步都需求解目标函数的海塞矩阵(Hessian Matrix),计算比较复杂。拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵,简化了这一计算过程原创 2020-10-05 08:39:12 · 1245 阅读 · 0 评论 -
从牛顿法到拟牛顿法(SR1、DFP、BFGS)【2】
牛顿法(Newton method)和拟牛顿法(Quasi-Newton method)是求解无约束最优化问题的常用方法,有收敛速度快的优点。牛顿法是迭代算法,每一步都需求解目标函数的海塞矩阵(Hessian Matrix),计算比较复杂。拟牛顿法通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵,简化了这一计算过程原创 2020-10-05 15:47:25 · 1362 阅读 · 0 评论 -
从小蝌蚪找妈妈谈“机器学习VS数据挖掘”
机器学习VS数据挖掘——雾里看花是否能清清楚楚,明明白白?大家都热衷于机器学习、数据挖掘这么时髦的名词时,会否认为基于统计学的数据分析技术已经过时?从小蝌蚪找妈妈这个故事里能否都出关于机器学习的些许启示?现在五花八门,名字听起来很吓人的各种模型是否真的能够拯救我们的数据危机?原创 2016-04-29 14:01:21 · 4479 阅读 · 0 评论 -
Generative vs Discriminative Models
Generative Models(生成模型) 和 Discriminative Models(判别模型)是机器学习中两个非常重要的概念,它体现了不同的机器学习算法内在的某种特殊属性,辨析这对概念将有助于深化读者对机器学习整体机制上的认识和理解原创 2009-12-26 22:10:00 · 4797 阅读 · 26 评论 -
经验分布函数(Empirical Distribution Functions)
一、顺序统计量设 (X1,X2,⋯,Xn)(X_1,X_2,\cdots,X_n) 是总体 XX 的一个样本。如果 X∗i(i=1,2,⋯,n)X_i^*(i=1,2,\cdots,n) 是样本 (X1,X2,⋯,Xn)(X_1,X_2,\cdots,X_n) 这样的函数:它总是取样本观察值 (x1,x2,⋯,xn)(x_1,x_2,\cdots,x_n) 按从小到大排序后第 ii 个值为自己原创 2016-06-20 15:38:30 · 66271 阅读 · 4 评论 -
详解机器学习中的“正则化”(Regularization)
一般地,把类似平方误差(也可能有其他形式)这样的项做经验风险,把上面整个控制过拟合的这个过程叫做正则化,所以也就把r(d)叫做正则化项,然后把平方误差+r(d) 叫做结构风险,进而可知正则化过程其实就是将结构风险最小化的过程原创 2009-07-07 10:20:00 · 4972 阅读 · 33 评论 -
详解机器学习中的VC维
机器学习中的经典算法SVM(支持向量机)最初是由前苏联数学家Vladimir Vapnik 和 Alexey Chervonenkis 在 1963年提出的。二人合作完成的另外一个之于机器学习的重要贡献就是所谓的VC维,本文主要解释机器学习中的VC维这个概念原创 2015-04-03 16:10:03 · 12638 阅读 · 20 评论 -
NFL原理与Hoeffding不等式
天下没有免费的午餐。这句常理在数学中有一个定理专门描述它,这个定理就叫做没有免费午餐定理。最原始的没有免费午餐定理是在最优化理论中出现的,而后又推广到例如机器学习这样的领域。NFL其实就告诉我们对于具体问题必须具体分析。不存在某种方法,能放之四海而皆准原创 2009-09-23 13:07:00 · 3504 阅读 · 2 评论 -
机器学习中的Accuracy,Precision,Recall和F1-Score
在应用机器学习中的二分类模型时,需要通过 Accuracy、 Precision、 Recall 和 F1 Score 等指标来对所构建的模型进行评估,但是这些概念常常令人混淆不清,本文就来对这些概念加以辨析原创 2010-05-10 19:21:00 · 7876 阅读 · 11 评论 -
关于数据挖掘中“多重共线性”的确定方法(有图有真相)
回归分析是数据挖掘中最基本的方法,其中基于普通最小二乘法的多元线性回归要求模型中的特征数据不能存在有多重共线性,否则模型的可信度将大打折扣。但是就是技术而言,如何确定模型中的各各特征之间是否有多重共线性呢?本文详细介绍了在SPSS中的诊断方法。原创 2015-11-12 15:39:42 · 38968 阅读 · 3 评论 -
机器学习中的核方法(Kernel Method)
说到机器学习中的核方法(Kernel Method),大部分人应该是在学习SVM的时候认识到它或者听说它。它的基本思想是说,普通的SVM分类超平面只能应对线性可分的情况,而对于线性不可分的情况我们则需要引入一个Kernel,这个Kernel可以把数据集从低维映射到高维,使得原来线性不可分的数据集变得线性可分。关于在SVM中应用Kernel Trick的具体方法及示例,有兴趣的读者可以参考...原创 2018-02-26 08:21:22 · 32278 阅读 · 3 评论 -
机器学习之详解Logistic回归
之前的几篇博客文章里,我们已经向读者介绍了机器学习中Logistic回归的具体应用(主要是在微博Sentiment Analysis中的分类应用)以及在Python中利用Scikit-Learn提供的函数进行基于Logistic回归的数据挖掘的一般方法。而本文旨在从源头上解释一下Logistic回归的原理到底是什么。原创 2016-04-18 11:38:17 · 14236 阅读 · 2 评论 -
牛顿法解机器学习中的Logistic回归
这仍然是近期系列文章中的一篇。在这一个系列中,我打算把机器学习中的Logistic回归从原理到应用详细串起来。本文将结合之前介绍的Logistic回归的原理,解释牛顿法在优化问题中的应用,特别是在求解Logistic回归时的具体原理。原创 2016-04-18 19:26:09 · 13234 阅读 · 6 评论 -
Python机器学习之Logistic回归
大数据时代,数据犹如一座巨大的金矿,等待我们去发掘。而机器学习和数据挖掘的相关技术,无疑就是你挖矿探宝的必备利器!工欲善其事,必先利其器。很多初涉该领域的人,最先困惑的一个问题就是,我该选择哪种“工具”来进行数据挖掘和机器学习。作为一个范例,今天将演示在Python 中利用Scikit-Learn所提供的函数来实现基于Logistic Regression分类机器学习技术原创 2016-04-14 17:11:38 · 24769 阅读 · 1 评论 -
Multinomial Logistic Regression
通常的逻辑回归只用来处理二分类问题,所以又称这种逻辑回归为 Binary (或Binomial) Logistic Regression。本文主要讨论如何处理多分类问题,这也就引出了通常所说的 Multinomial Logistic Regression。MLR还有很多听起来可能更加熟悉的名字,如最大熵模型MaxEnt,Softmax, 玻尔兹曼分布Boltzmann distribution,条件随机场CRF原创 2016-06-19 13:37:57 · 14068 阅读 · 0 评论 -
解析信息论中的熵
熵是信息论中一个重要的概念。但由于这个概念比较抽象,面对它的定义式,很难把握其真正意涵。本文将详解其来龙去脉原创 2009-07-10 21:16:00 · 5300 阅读 · 6 评论 -
差分熵与Kullback–Leibler散度
信息论的香农熵是对离散型随机变量而言的。现在我们要把这一概念推广到连续型随机变量的情况,此时便会得到一个非常重要的概念——差分熵。无论是香农熵还是差分熵,都可以采用Kullback–Leibler divergence来(非对称地)度量两个概率分布P和Q的差别。Kullback–Leibler divergence又称相对熵(Relative entropy)原创 2009-08-05 13:07:00 · 4344 阅读 · 10 评论 -
最大熵模型(MaxEnt):万法归宗(上)
熵这个概念在机器学习中被用到的地方很多,例如决策树、最大熵模型等。最大熵模型利用最大熵原理来选择或构建最佳分类器。最大熵模型(MaxEnt)与多元逻辑回归、Softmax等本质上是统一的,而且在最大熵学习算法的推导中还会综合地用到广义拉格朗日乘数法等多种数学技巧原创 2018-01-07 11:55:58 · 23325 阅读 · 2 评论 -
最大熵模型(MaxEnt):万法归宗(下)
熵这个概念在机器学习中被用到的地方很多,例如决策树、最大熵模型等。最大熵模型利用最大熵原理来选择或构建最佳分类器。最大熵模型(MaxEnt)与多元逻辑回归、Softmax等本质上是统一的,而且在最大熵学习算法的推导中还会综合地用到广义拉格朗日乘数法等多种数学技巧原创 2018-01-07 14:40:08 · 4535 阅读 · 7 评论 -
主成分分析(PCA)与Kernel PCA
本博客在之前的文章【1】中曾经介绍过PCA在图像压缩中的应用。其基本思想就是设法提取数据的主成分(或者说是主要信息),然后摒弃冗余信息(或次要信息),从而达到压缩的目的。本文将从更深的层次上讨论PCA的原理,以及Kernel化的PCA。首先我们来考察一下,这里的信息冗余是如何体现的。如下图中的左图所示,我们有一组二维数据点,从图上不难发现这组数据的两个维度之间具有很高的相关性。因为这种相...原创 2018-03-01 03:21:13 · 37916 阅读 · 6 评论 -
奇异值分解(SVD,Singular value decomposition)
奇异值分解(SVD,Singular value decomposition)是线性代数中一种非常重要的矩阵分解形式,在信号处理和自然语言处理等领域都有重要应用。而在数据挖掘中,SVD和PCA(主成分分析)也常常被用来作为数据降维的手段原创 2009-09-03 00:42:00 · 3996 阅读 · 4 评论 -
SVD与PCA之间的关系详解
PCA(principal component analysis)和SVD(Singular value decomposition)是两种常用的降维方法,在机器学习等领域有广泛的应用,而且二者之间还有着非常紧密的联系原创 2018-03-01 11:27:56 · 11188 阅读 · 5 评论 -
详解多维标度法(MDS,Multidimensional scaling)
流形学习(Manifold Learning)是机器学习中一大类算法的统称,而MDS就是其中非常经典的一种方法。多维标度法(Multidimensional Scaling)是一种在低维空间展示“距离”数据结构的多元数据分析技术,简称MDS。多维标度法解决的问题是:当n个对象(object)中各对对象之间的相似性(或距离)给定时,确定这些对象在低维空间中的表示,并使其尽可能与原先的相似性...原创 2018-03-04 05:53:04 · 31603 阅读 · 8 评论 -
机器学习中的隐马尔科夫模型(HMM)详解
本文介绍机器学习中非常重要的隐马尔可夫模型(HMM,Hidden Markov Model),它也是一种PGM。更准确地说,HMM是一种特殊的贝叶斯网络。HMM在自然语言处理、计算机视觉,以及语言识别方面都有重要应用。原创 2016-05-01 16:03:46 · 75334 阅读 · 12 评论 -
HMM的应用与Forward算法、Viterbi算法
隐马尔科夫模型(HMM)是机器学习中的一种重要技术,也是一种PGM。HMM在自然语言处理、图像处理和计算机视觉等领域都有重要应用。而要深入了解HMM,就不得不谈到用于评估、预测和 Decoding 的前向(Forward)算法以及维特比(Viterbi)算法。本文将通过一些例子来对这两个算法进行详细介绍,并讨论HMM在NLP中的应用。原创 2016-05-06 15:04:57 · 15773 阅读 · 8 评论 -
先验概率、后验概率以及共轭先验
在贝叶斯学派的观点中,先验概率、后验概率以及共轭先验的概念非常重要。而在机器学习中,我们阅读很多资料时也要频繁地跟他们打交道。所以理清这些概念很有必要。本文将通过几个例子详细解释关于先验概率、后验概率、Gamma函数、Beta分布以及共轭先验等概念。原创 2016-05-11 22:24:35 · 33240 阅读 · 17 评论 -
蒙特卡洛(Monte Carlo)法求定积分
蒙特卡洛(Monte Carlo)法是一类随机算法的统称。随着二十世纪电子计算机的出现,蒙特卡洛法已经在诸多领域展现出了超强的能力。在机器学习和自然语言处理技术中,常常被用到的MCMC也是由此发展而来。本文通过蒙特卡洛法最为常见的一种应用——求解定积分,来演示这类算法的核心思想原创 2016-12-25 15:50:16 · 63112 阅读 · 7 评论 -
马尔科夫链蒙特卡洛(MCMC)
在以贝叶斯方法为基础的机器学习技术中,通常需要计算后验概率,然后通过最大后验概率(MAP)等方法进行参数推断和决策。然而,在很多时候,后验分布的形式可能非常复杂,这个时候寻找其中的最大后验估计或者对后验概率进行积分等计算往往非常困难,此时可以通过随机采样的方法来求解原创 2016-12-30 20:34:49 · 19189 阅读 · 4 评论 -
MCMC中的Metropolis–Hastings算法与吉布斯采样
Metropolis–Hastings算法是一种具体的MCMC方法,而吉布斯采样(Gibbs Sampling)是Metropolis–Hastings算法的一种特殊形式。二者在机器学习中具有重要作用,Bishop在他的机器学习经典之作PRML中也专门用了一章的篇幅来介绍随机采样方法。本文将结合R语言实例来探讨这两种算法的相关话题原创 2017-01-06 11:59:46 · 29882 阅读 · 8 评论 -
基于Box–Muller变换的正态随机数生成方法
随机采样一直是蒙特卡洛方法的核心问题。原则上来说,计算机只能生成符合均匀分布的采样,而其他分布的采样则要由此出发通过一些技巧性的方法得到。本文主要介绍著名的Box–Muller变换,基于这种变换,我们便可以得到一个从均匀分布中得到正态分布采样的算法,本文也会详细解释其中蕴含的数学原理原创 2010-04-15 19:43:00 · 17169 阅读 · 74 评论 -
蒙特卡洛采样之拒绝采样(Reject Sampling)
蒙特卡洛(Monte Carlo)方法以概率统计理论为基础的数值计算方法,在处理一些复杂的问题时成效显著。基于蒙特卡洛思想的采样方法在机器学习中占有非常重要的位置。像Reject Sampling, Importance Sampling,以及MCMC等等都是机器学习中非常重要,但又很不容易理解和掌握的方法,本文就从Inverse CDF法开始介绍蒙特卡洛采样法中非常重要的拒绝采样和ARS方法。原创 2016-05-15 15:13:50 · 44849 阅读 · 13 评论 -
Bootstrap方法详解——技术与实例
一、Introduction如果说到Bootstrap你会想到什么?是Twitter推出的那个用于前端开发的开源工具包吗?Unfortunately,本文要讨论的并非是Bootstrap工具包,而是统计学习中一种重采样(Resampling)技术。这种看似简单的方法,对后来的很多技术都产生了深远的影响。机器学习中的Bagging,AdaBoost等方法其实都蕴含了Bootstrap的思想...原创 2016-11-17 14:33:32 · 86409 阅读 · 14 评论