机器学习之术
文章平均质量分 86
本专栏着重介绍各类常用的经典机器学习方法之原理思路、数学细节、应用实践(基于Python, R和MATLAB),具体涉及内容包括但不限于支持向量机、期望最大化模型、AdaBoost、GDBT、概率图模型(包括贝叶斯网络及HMM)、kNN、朴素贝叶斯、k均值、CART和C4.5决策树等
白马负金羁
数据挖掘 | 统计分析 | 图像处理 | 程序设计
展开
-
欢迎订阅我的专栏,好文章一网打尽
博主当前围绕人工智能、图像处理、系统安全这几个主题开设了五个专栏:【机器学习之术】、【机器学习之道】、【自然语言处理】等,这些文章皆为以往博客中精华内容的汇总,已经收录的文章超过200篇(日后笔者还会适时更新),总计有近350万次点阅。希望这些内容可以帮助读者解开学习过程中的一些疑惑,使得订阅者能最大程度地从中收获新知原创 2020-04-15 05:55:17 · 14259 阅读 · 9 评论 -
异常检测(Anomaly Detection)——基于MATLAB的实例(1)
异常检测(anomaly detection)是数据挖掘中的一类常见任务,它是指对“与预期模式或数据集中的项目、事件或观测值不相匹配的”数据点进行识别的过程。因此,它也被称作异常值检测(outlierdetection)。通常,这些异常值的检测会在不同的应用场景中被转变成银行欺诈、结构缺陷、网络攻击等类型的问题原创 2024-03-09 12:15:05 · 550 阅读 · 3 评论 -
successful NUMA node read from SysFS had negative value (-1)告警的处理方法
在使用 TensorFlow或者Keras时,可能会遇到下面这个告警“successful NUMA node read from SysFS had negative value (-1)”,本文将介绍该告警的处理方法原创 2023-02-11 07:34:26 · 2367 阅读 · 0 评论 -
Keras实例教程(1)
Keras是一个高层神经网络API,它由纯Python编写而成并基Tensorflow和Theano以后端。用Keras来构建深度神经网络模型是一件非常简单和直观的事情,本文是Keras系列教程中的第1篇,主要通过一个简单的线性回归的例子来演示Keras搭建NN的四个主要步骤原创 2017-10-29 13:01:59 · 10616 阅读 · 3 评论 -
Keras实例教程(2)
Keras是一个高层神经网络API,它由纯Python编写而成并基Tensorflow和Theano为后端。用Keras来构建深度神经网络模型是一件非常简单和直观的事情,本文是Keras系列教程中的第2篇,主要通过一个简单的手写数字识别例子来演示Keras应用于Classifier的方法原创 2017-10-29 15:34:58 · 10425 阅读 · 23 评论 -
Keras实例教程(3)
我们在之前的Keras教程中介绍了用Sequential model的形式来搭建神经网络模型的基本方法。然而,Keras中还提供了另外一种基于函数式编程思想的神经网络组建方法,我们称其为functional API。如果你对类似Haskell这样的函数式编程语言比较熟悉的话,那么上手Keras中的functional API是非常容易的。更重要的是,functional API允许你在Keras中...原创 2018-06-16 12:12:49 · 12546 阅读 · 4 评论 -
Keras实例教程(4)之迁移学习
迁移学习(Transfer Learning)是机器学习中的一个重要研究话题,也是在实践中具有重要价值的一类技术。Transfer learning focuses on storing knowledge gained while solving one problem and applying it to a different but related problem. 举例来说,在之前的文章...原创 2018-06-20 16:20:54 · 18736 阅读 · 7 评论 -
Keras实例教程(5)之用VGG进行物体识别
卷积神经网络(CNN,Convolutional neural networks)在计算机视觉领域已经取得了巨大成功,特别是在各种物体识别竞赛上率摘桂冠。Keras 作为当前深度学习框架中的四大天王之一,使用起来是极其简便的,它所提供的各种友好而灵活的API,即使对于新手而言,相比于TensorFlow也非常容易上手...原创 2018-06-15 08:00:42 · 13948 阅读 · 7 评论 -
Keras实例教程(6)之保存已经训练好的模型
在Keras中我们可以非常优雅地把整个模型(包括已经训练好的参数和神经网络的结构)存储起来,而且这一切都“非常非常”简单,本文主要基于之前搭建好的NN模型来演示在Keras中保存以及载入模型的方法原创 2014-12-23 22:22:06 · 22872 阅读 · 5 评论 -
Keras实例教程(7)之构建模型的第三种方式
曾几何时,在TensorFlow中搭建深度学习模型对于很多人来说其实仍然是比较困难的。相比之下,Keras作为独立于TensorFlow的一种深度学习框架则要简单很多。在TensorFlow与PyTorch的竞争中逐渐式微的情况下,TensorFlow团队终于宣布Keras将成为在tensorflow2.0中构建和训练模型的核心高级API原创 2023-02-15 11:50:22 · 576 阅读 · 0 评论 -
在Ubuntu 18.04安装NVIDIA GPU驱动
随着深度学习的持续火热,Ubuntu系统得使用变得越来越广泛。为了配合深度学习的需求,现在Ubuntu系统也在持续提升它的方便性。通常,深度学习中需要使用GPU资源进行加速,但安装和配置GPU计算环境往往比较复杂。幸运的是,在最新的18.04版本的Ubuntu系统,环境的配置已经变得越来越简单...原创 2018-03-16 14:01:00 · 7347 阅读 · 16 评论 -
在Ubuntu 18.04中配置GPU环境:安装CUDA 9.0等
近些年来,深度学习才突然变得异常火爆。这其中一个很大的原因正是由于当前硬件设备(尤其是GPU技术)的发展,使得深层神经网络的超大计算量不再是洪水猛兽。本文演示在Ubuntu 18.04系统上配置GPU环境(主要是安装CUDA)的基本过程与注意事项...原创 2019-04-25 09:14:31 · 17630 阅读 · 28 评论 -
Ubuntu上安装配置Tensorflow及Jupyter详解(20170919)
想玩深度学习?框架怎能少?今天就来谈谈最流行的深度学习框架Tensorflow在Ubuntu上的配置ABC。Tensorflow对类Unix的操作系统支持非常好。但如果你的系统是Windows,其实Windows上面也可以使用Tensorflow,据说坑会比较多,所以最好的方法是装一个虚拟机。然后在虚拟机上装Ubuntu操作系统,这样也会省去很多麻烦原创 2017-09-20 07:12:11 · 6824 阅读 · 1 评论 -
Ubuntu 18.04安装Docker CE+NVIDIA-Docker+TensorFlow
Docker 是一个开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖,然后放到一个可移植的容器中,并实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。英伟达基于Docker 提供的NVIDIA-Docker可用于容器化 GPU 加速的应用程序原创 2019-05-04 08:12:42 · 8426 阅读 · 2 评论 -
Ubuntu22.04深度学习GPU环境配置:Nvidia CUDA 11.7、cuDNN 8.5 详细解读(20220910)
假设你已经成功安装了最新版本的Ubuntu22.04 LTS 操作系统,并已经配备了支持深度学习的英伟达GPU,本文将手把手详细解读如何配置环境,包括安装必要的软件:例如驱动515,CUDA 11.7,以及cuDNN 8.5等原创 2022-09-12 06:47:47 · 3970 阅读 · 2 评论 -
在Docker中使用TensorFlow(GPU版+Ubuntu 20.04)
在此前的文章中,我们介绍了如何在Ubuntu 20.04中安装Docker。本文将介绍如何在其中使用TensorFlow(GPU)版。安装完成Docker并检查安装正确后,如果需要Docker容器中有GPU支持,需要再安装NVIDIA-Docker原创 2022-03-29 10:21:47 · 3445 阅读 · 0 评论 -
libnvinfer.so, libnvinfer_plugin.so : cannot open shared object file 错误解决
在使用GPU加速你的深度学习程序时,你是否遇到过如下警告:Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7原创 2023-02-08 09:02:09 · 3429 阅读 · 0 评论 -
绘制ROC曲线图并计算AUC值:超好用的Python和Matlab代码
ROC曲线一般指接受者操作特征曲线is a graphical plot that illustrates the diagnostic ability of a binary classifier system as its discrimination threshold is varied。对于二分类问题,如果实例是正类并且也被预测成正类,为True positive,如果实例是负类被预测成正类,称False positive原创 2015-09-12 23:01:34 · 2216 阅读 · 1 评论 -
时间序列分析之AR、MA、ARMA、ARIMA详解(1)
时间序列模型是一种关于时间的随机过程(stochastic process)模型。时间序列分析是计量经济学、统计学、机器学习、数据挖掘的等数据科学领域的重要研究方向。在传统的经济学研究中,建立回归模式时,需要着重考虑自变量与因变量之间的内在联系,但即使做了反复的论证,也不能排除其他未纳入考虑因素的影响。时间序列模型中考虑的是序列的历史,认为如果能够了解时间序列的随机结构,就可以对该时间序列的未来值进行预测原创 2013-09-02 16:57:44 · 32628 阅读 · 3 评论 -
时间序列分析之AR、MA、ARMA、ARIMA详解(2)
大千世界中存在着大量与时间序列(time series)有关的数据,例如股票价值的波动、GDP的历史数据等等。时间序列分析是计量经济学、统计学、机器学习、数据挖掘的等数据科学领域的重要研究方向。时间序列模型是一种关于时间的随机过程(stochastic process)模型。因为模型中考虑的是序列的历史,在此类模型中,认为如果能够了解时间序列的随机结构,就可以对该时间序列的未来值进行预测原创 2015-10-23 20:17:41 · 6330 阅读 · 3 评论 -
时间序列分析之AR、MA、ARMA、ARIMA详解(3)
时间序列分析是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。它包括一般统计分析(如自相关分析,谱分析等),统计模型的建立与推断,以及关于时间序列的最优预测、控制与滤波等内容原创 2015-10-23 20:19:56 · 5520 阅读 · 1 评论 -
时间序列分析之AR、MA、ARMA、ARIMA详解(4)
时间序列分析是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。它包括一般统计分析(如自相关分析,谱分析等),统计模型的建立与推断,以及关于时间序列的最优预测、控制与滤波等内容原创 2015-12-04 21:09:12 · 36440 阅读 · 0 评论 -
时间序列分析之AR、MA、ARMA、ARIMA详解(5)
时间序列分析是一种动态数据处理的统计方法。该方法基于随机过程理论和数理统计学方法,研究随机数据序列所遵从的统计规律,以用于解决实际问题。它包括一般统计分析(如自相关分析,谱分析等),统计模型的建立与推断,以及关于时间序列的最优预测、控制与滤波等内容原创 2021-05-14 10:56:01 · 2346 阅读 · 2 评论 -
在Python中使用贝叶斯网络的实例
我们在之前的文章中已经介绍了贝叶斯网络的基本原理,以及基于贝叶斯网络进行概率推断(Exact Inference)的消去法。本文将结合一个具体的例子来演示在Python中构建贝叶斯网络和概率推断的步骤与方法,最后还会介绍一个带有图形用户界面的贝叶斯网络分析工具原创 2020-05-17 03:08:17 · 13419 阅读 · 10 评论 -
格兰杰因果关系检验(原理及Python实例)
格兰杰因果检验是计量经济学中一种用于推断要素间相关影响关系的重要方法,由诺贝尔经济学奖得主克莱夫·格兰杰提出。它以向量自回归(VAR,Vector Auto regression)模型为基础,结合统计推断中的F统计量,发展而来。本文将在解释格兰杰因果检验原理的基础上,演示在Python中进行格兰杰因果检验的具体步骤原创 2016-01-03 22:14:15 · 21423 阅读 · 27 评论 -
格兰杰因果关系检验(原理及R语言应用实例)
诺贝尔经济学奖获得者,计量经济学大师克莱夫·格兰杰(Clive Granger)从预测的角度给出了因果关系的一种描述性定义,这就是我们现在所熟知的Granger因果关系。格兰杰因果关系检验是计量经济方法中常用的一种检验方法原创 2010-05-14 13:00:00 · 55309 阅读 · 25 评论 -
机器学习资料与攻略超强整理吐血推荐(一)
谷歌的AlphaGo对弈世界顶级围棋棋手韩国人李世石。最终,AlphaGo以五局四胜的战绩击败李世石,一时风光无限,同时也在网络上极大的激发了小伙伴们对人工智能的兴趣。但令人无奈的是想进入AI的圈子门槛似乎不低,很多人对此都表示望而却步或者望洋兴叹。似乎功夫也没少下,但却还是只能在门外转悠。希望下面的一些建议和资料能让大家少走一些弯路或者尽快走上正路原创 2017-02-20 15:37:29 · 17362 阅读 · 7 评论 -
机器学习资料与攻略超强整理吐血推荐(二)
本文将介绍关于机器学习的理论与工具方面的各种王牌资料。既有教你如何利用工具(R, Python, Matlab, WEKA)进行机器学习实践的资料,也有教你如何攻关克难,打通理论脉络的经典图书,同时还推荐了各种免费的在线课程资源和博客资源,绝对良心推荐,绝对不可错过原创 2017-02-22 19:56:43 · 11830 阅读 · 5 评论 -
机器学习与数据挖掘网上资源搜罗——良心推荐
做机器学习和数据挖掘方面的研究和开发,常会在线搜索一些资源,日积月累便挖出了一堆比较牛的博主,特别说明:做这个方向的人很多,牛人也很多,但是这些资源大部分主要突出实用主义,相关博主也并不一定是这个领域中的泰山北斗(至少大部分都不是学校里的教授),但是他们的空间里真的有料,可以学到很多。不断更新中,但大浪淘沙,我只保留最值得推荐的原创 2016-01-06 12:59:21 · 25176 阅读 · 10 评论 -
梯度提升树(GBDT)详解之一:回归举例
梯度提升是一种用于回归和分类问题的机器学习技术,其产生的预测模型是弱预测模型的集成,如采用典型的决策树作为弱预测模型,这时则得到了所谓的梯度提升树(GBDT)。GBDT是在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,它与AdaBoost一起都是提升算法的代表,也是集成学习里的经典算法原创 2009-10-12 01:53:00 · 5226 阅读 · 20 评论 -
梯度提升树(GBDT)详解之二:分类举例
梯度提升是一种用于回归和分类问题的机器学习技术,其产生的预测模型是弱预测模型的集成,如采用典型的决策树作为弱预测模型,这时则得到了所谓的梯度提升树(GBDT)。GBDT是在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,它与AdaBoost一起都是提升算法的代表,也是集成学习里的经典算法原创 2020-03-24 08:57:58 · 6270 阅读 · 4 评论 -
梯度提升树(GBDT)详解之三:原理推导
本文是GBDT系列文章的最后一弹,它将侧重梯度提升树的原理及其中的数学推导。梯度提升是一种用于回归和分类问题的机器学习技术,其产生的预测模型是弱预测模型的集成,如采用典型的决策树作为弱预测模型,这时则得到了所谓的梯度提升树(GBDT)。GBDT是在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,它也是集成学习里的经典算法原创 2020-04-02 03:48:57 · 5401 阅读 · 19 评论 -
从朴素贝叶斯分类器到贝叶斯网络(上)
事实上,在很长一段时间里,人们都没有注意到贝叶斯公式所潜藏的巨大价值。直到二十世纪人工智能、机器学习等崭新学术领域的出现,人们才从一堆早已蒙灰的数学公式中发现了贝叶斯公式的巨大威力。本文介绍机器学习中的朴素贝叶斯分类法,并通过一个实例来演示该算法的具体应用原创 2015-12-31 16:56:03 · 25038 阅读 · 4 评论 -
从朴素贝叶斯分类器到贝叶斯网络(下)
贝叶斯网络(Bayesian Network)是一种用于表示变量间依赖关系的数据结构,有时它又被称为信念网络(Belief Network)或概率网络(Probability Network)。在统计学习领域,概率图模型(PGM,Probabilistic Graphical Models)常用来指代包括贝叶斯网络在内的更加宽泛的一类机器学习模型,例如隐马尔可夫模型(HMM,Hidden Markov Model)也是一种PGM原创 2016-01-04 00:49:20 · 19386 阅读 · 6 评论 -
密度聚类之DBSCAN算法详解
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法。与划分和层次聚类方法不同,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类原创 2016-02-25 14:59:20 · 13426 阅读 · 3 评论 -
数据挖掘十大算法之决策树详解(1)
在2006年12月召开的 IEEE 数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms )。本博客已经介绍过的位列十大算法之中的5个。本文主要介绍机器学习中的决策树模型。决策树模型是一类算法的集合,在数据挖掘十大算法中,具体的决策树算法占有两席位置,即C4.5和CART算法原创 2016-11-20 10:51:32 · 91583 阅读 · 8 评论 -
数据挖掘十大算法之决策树详解(2)
在2006年12月召开的 IEEE 数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms )。本博客的十大数据挖掘算法系列已经介绍过其中的5个。本文主要介绍决策树中的C4.5,这也是当年位列十大数据挖掘算法之首的经典算法,最后,我们还将演示在Weka(怀卡托智能环境)中进行数据挖掘的实际操作方法原创 2016-11-20 15:05:14 · 15480 阅读 · 6 评论 -
数据挖掘十大算法之CART详解
在2006年12月召开的 IEEE 数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),本博客的十大数据挖掘算法系列文章已经介绍了其中的六个,本文主要讨论CART,即分类回归树(Classification And Regression Tree),一个具体的例子将帮助大家更好地理解相关内容原创 2016-11-23 11:47:57 · 52284 阅读 · 14 评论 -
数据挖掘十大算法之Apriori详解
在2006年12月召开的 IEEE 数据挖掘国际会议上,与会的各位专家选出了当时的十大数据挖掘算法( top 10 data mining algorithms ),在本系列已经发布的文章中我们已经讨论了其中的七个。本文主要介绍Apriori算法,它是用于关联规则挖掘的经典算法。关联规则挖掘是数据挖掘中非常重要的研究话题,在商业数据分析中占据重要十分的地位,经典的“啤酒”与“尿片”的故事即来源于此原创 2016-12-06 11:59:59 · 108968 阅读 · 26 评论 -
机器学习中的k-means聚类及其Python实例
k-means聚类算法思路简洁,但是在实践中却相当有效。在此前的文章中,我们给出的实例是基于R语言实现的。本文将演示在Python语言中利用scikit-learn提供的函数来进行基于 k-means之机器学习的实例。最后,本文还会演示 k-means算法在图像处理中的一个重要应用原创 2017-09-07 07:22:20 · 16267 阅读 · 0 评论