自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(111)
  • 收藏
  • 关注

原创 用python做时间序列预测十:时间序列实践-航司乘客数预测

本文以航司乘客数预测的例子来组织相关时间序列预测的代码,通过了解本文中的代码,当遇到其它场景的时间序列预测亦可套用。航司乘客数序列预测步骤# 加载时间序列数据_ts = load_data()# 使用样本熵评估可预测性print(f'原序列样本熵:{SampEn(_ts.values, m=2, r=0.2 * np.std(_ts.values))}')# 检验平稳...

2020-06-16 09:32:00 2480 1

原创 用python做时间序列预测九:ARIMA模型简介

本篇介绍时间序列预测常用的ARIMA模型,通过了解本篇内容,将可以使用ARIMA预测一个时间序列。什么是ARIMA?ARIMA是'Auto Regressive Integrated Moving Average'的简称。ARIMA是一种基于时间序列历史值和历史值上的预测误差来对当前做预测的模型。ARIMA整合了自回归项AR和滑动平均项MA。ARIMA可以建模任何存在一...

2020-06-16 09:30:00 7415 2

原创 用python做时间序列预测八:Granger causality test(格兰杰因果检验)

如果想知道一个序列是否对预测另一个序列有用,可以用Granger causality test(格兰杰因果检验)。Granger causality test的思想如果使用时间序列X和Y的历史值来预测Y的当前值,比仅通过Y的历史值来预测Y的当前值得到的误差更小,并且通过了F检验,卡方检验,则X对Y的预测是有一定帮助的。了解了Granger causality test的思想之...

2020-06-10 09:30:00 9760 2

原创 用python做时间序列预测七:时间序列复杂度量化

本文介绍一种方法,帮助我们了解一个时间序列是否可以预测,或者说了解可预测能力有多强。Sample Entropy (样本熵)Sample Entropy是Approximate Entropy(近似熵)的改进,用于评价波形前后部分之间的混乱程度,熵越大,乱七八糟的波动越多,越不适合预测;熵越小,乱七八糟的波动越小,预测能力越强。具体思想和实现如下:思想Sample ...

2020-06-10 09:28:00 1487 1

原创 用python做时间序列预测六:相关函数图、偏相关函数图、滞后图

经典的时间序列预测方法都是假设如果一个时间序列有显著的自相关性,那么历史值对预测当前值会很有帮助,但是究竟取多少阶的历史值,就需要通过分析相关函数图和偏相关函数图来得到。本文介绍如何什么是相关函数图和偏相关函数图,另外还会介绍一下滞后图。什么是自相关和偏自相关函数?先来解释下滞后阶数n,如果当前值和前2期的值有关,则n=2,那么可以用时间序列和它的2阶滞后序列来训练一个自回归...

2020-06-08 20:17:00 3466 2

原创 用python做时间序列预测五:时间序列缺失值处理

有的时候,一些时刻或连续时间段内的值无法采集到,或者本身就没有值,本文将介绍如何处理这种情况。一般而言,有以下几种方法:对所有的缺失值用零填充。前向填充:比如用周一的值填充缺失的周二的值后向填充:比如用周二的值填充缺失的周一的值采用n最近邻均值法填充:比如n取2,则用t-2,t-1,t+1,t+2时刻的平均值来填充缺失的t时刻的值。单线性插值:取某个缺失值的时间点,做...

2020-06-08 20:06:00 6218 1

原创 用python做时间序列预测四:平稳/非平稳时间序列

上篇文章简单提到了应该用平稳时间序列做预测,本文将介绍具体概念和原因。Stationary Series 平稳序列平稳序列有三个基本标准:1、序列的均值(mean)不应该是时间的函数(意思是不应该随时间变化),而应该是一个常数。下面的左图满足这个条件,而右图的均值受时间的变化影响。2、序列的方差(variance)不应该是时间的函数。这种特性称为homoscedastici...

2020-06-02 16:39:00 4302 2

原创 用python做时间序列预测三:时间序列分解

在初始概念篇中,我们简单提到了时间序列由趋势、周期性、季节性、误差构成,本文将介绍如何将时间序列的这些成分分解出来。分解的使用场景有很多,比如当我们需要计算该时间序列是否具有季节性,或者我们要去除该时间序列的趋势和季节性,让时间序列变得平稳时都会用到时间序列分解。加法和乘法时间序列时间序列的各个观测值可以是以上成分相加或相乘得到:Value = Trend + Seasonal...

2020-06-02 16:37:00 4321 2

原创 用python做时间序列预测二:时间序列的一般数据格式和可视化

本文将介绍如何通过python来读取、展现时间序列数据。读取时间序列数据一般用cvs等电子表格的形式存储,这里以cvs为例:from dateutil.parser import parse from datetime import datetimeimport matplotlib as mplimport matplotlib.pyplot as pltimport...

2020-06-02 16:36:00 1107

原创 用python做时间序列预测一:初识概念

利用时间序列预测方法,我们可以基于历史的情况来预测未来的情况。比如共享单车每日租车数,食堂每日就餐人数等等,都是基于各自历史的情况来预测的。什么是时间序列?时间序列,是指同一个变量在连续且固定的时间间隔上的各个数据点的集合,比如每5分钟记录的收费口车流量,或者每年记录的药物销量都是时间序列。时间序列的类型根据时间间隔的不同,时间序列可以是按年度(Annual)、...

2020-06-02 16:33:00 609

原创 深度学习环境搭建:window10+CUDA10.0+CUDNN+pytorch1.2.0

去年底入手一台联想Y7000P,配置了Nvidia GeForce GTX 1660 Ti GPU,GPU内存6G,但是因为有GPU服务器,所以一直没有在这台笔记本上跑过模型,如今经过一番折腾,终于在此笔记本上搭建好了环境,并成功使用GPU训练了一些模型,本篇记录了环境搭建的过程。检查你的GPU首先确保你的电脑有Nvidia的GPU,并且支持CUDA,可以参考这个网址。安装vs...

2020-05-06 20:22:00 1104

原创 理解中台

前段时间参加了IAS2019(互联网架构峰会),本次峰会以中台为主题,所以又称中台战略大会,据说是全国首届关于中台战略的会议,会议上有许多优秀的企业架构师带来了他们各自在实践中台过程中的心得。本文就笔者对自己参与的会场的情况做一些分享,同时也写写自己参会以及查阅相关资料后关于中台这一概念的理解和体会。什么是中台?中台不是一个新名词。然而你如果想找到它的源头,可能真不太好找...

2020-01-14 16:10:00 307

原创 OAuth2.0概念以及实现思路简介

一、什么是OAuth?OAuth是一个授权规范,可以使A应用在受限的情况下访问B应用中用户的资源(前提是经过了该用户的授权,而A应用并不需要也无法知道用户在B应用中的账号和密码),资源通常以REST API的方式暴露。二、什么是OAuth2.0?有2.0自然有1.0,相比1.0,2.0有如下不同:授权过程比1.0更简洁全程使用https,保证...

2020-01-10 11:05:00 814

原创 理解CART决策树

CART算法原理CART全称为Classification and Regression Tree。回归树相比ID3,CART遍历所有的特征和特征值,然后使用二元切分法划分数据子集,也就是每个节点都只会分裂2个分支。接着计算数据子集的总方差来度量数据子集的混乱程度,总方差越小数据子集越纯,最后选择总方差最小的划分方式对应的特征和特征值,而二元切分的依据就是将小于等于这个特征值和大...

2020-01-07 17:19:00 296

原创 理解ID3决策树

决策树是一个树形结构,类似下面这样:上图除了根节点外,有三个叶子节点和一个非叶子节点。在解决分类问题的决策树中,叶子节点就表示所有的分类,比如这里的分类就有3种:无聊时阅读的邮件、需及时处理的邮件、无需阅读的邮件。使用决策树来分类某个样本数据,就是利用根节点选取的特征,将当前输入样本划分到根节点下的某个子节点上,然后再利用子节点表示的特征来将当前样本划分到该子节点下的某个子节点上...

2020-01-07 12:20:00 333

原创 信息熵为什么要定义成-Σp*log(p)?

信息熵为什么要定义成-Σp*log(p)?在解释信息熵之前,需要先来说说什么是信息量。信息量是对信息的度量,单位一般用bit。信息论之父克劳德·艾尔伍德·香农(Claude Elwood Shannon)对信息量的定义如下:在解释这个公式之前,先看看下面的例子。比如一个黑箱里有2个苹果,8个橙子我们把从黑箱里取苹果、橙子看成是一个随机过程,X={苹果,橙子}。当我们了解到...

2020-01-07 12:01:00 1314 1

原创 用机器学习打造聊天机器人(七) 总结篇

本文是用机器学习打造聊天机器人系列的最后一篇啦,请耐心看完吧。本系列文章展示了一个聊天机器人的打造过程,现阶段更高级的聊天机器人会加入更多语料,更多意图模式,用更好的算法,以及其他更多的小技巧,比如:我们可以结合上一个系列《手把手教你做命名实体识别》中介绍的bert模型,来代替这里的词向量模型,让句向量更好的表示出原句子中各词汇之间的相关性,比如“我喜欢苹果”和"我喜欢苹果笔记...

2019-12-20 17:46:00 602

原创 用机器学习打造聊天机器人(六) 原理篇

本文是用机器学习打造聊天机器人系列的第六篇,主要介绍代码中用到的相关算法的原理。了解算法原理,可以让我们知道程序背后都做了些什么,为什么有时候会出现错误以及什么场景下选择哪种算法会更合适。word2vec我们使用的词向量模型就是基于word2vec训练的,word2vec 是 Google 在 2013 年推出的一个 NLP 工具,它的特点 是将所有的词向量化,这样词与词之间就...

2019-12-20 17:44:00 297

原创 用机器学习打造聊天机器人(五) 接入篇

本文是用机器学习打造聊天机器人系列的第五篇,在特性介绍中提到过,我们采用非侵入式设计,通过几个简单的 API 就可以接入聊天机器人到其他项目中,下面来看看具体步骤。接入步骤提供符合要求的领域问答语料的 txt 文件,按照意图类型划 分成不同的txt文件,替换本引擎自带的txt语料文件,txt语料文件示例如下:可以看到,闲聊的语料文件以QA_talk-开头,业务类的以QA_s...

2019-12-20 17:41:00 283

原创 用机器学习打造聊天机器人(四) 代码篇

本文是用机器学习打造聊天机器人系列的第四篇,将先对主要模块的代码进行展示和解读,末尾会给出完整代码的地址。建议先看主要模块的代码解读,有助于理解核心代码的思路,然后浏览完整项目代码的README文档,将项目跑起来体验以下,再针对性的根据接口去阅读各模块代码的实现。主要模块代码构造特征向量特征向量的构造有两种思想,一种是one-hot,一种是Dristributed Repres...

2019-12-10 16:45:00 278

原创 用机器学习打造聊天机器人(三) 设计篇

本文是用机器学习打造聊天机器人系列的第三篇,通过阅读本文你将对聊天机器人的实现有一个大致的思路。我们的聊天机器人将具备什么样的特性?用户可以使用人类自然语言的方式来表达自己的意图。可以依据用户的反馈进行在线增量学习,使用的越久,能回答得问题越多。采用非侵入式设计,通过几个简单的API就可以接入。语料数据使用简单的txt格式,只要更换txt,就可以服务于不同的知识领域。提...

2019-12-09 17:00:00 225

原创 用机器学习打造聊天机器人(二) 概念篇

本文是用机器学习打造聊天机器人系列的第二篇,有助我们先了解下聊天机器人的相关概念。什么是聊天机器人?聊天机器人是一个程序,该程序会回应人类的话,其载体可以是一个网页、一个桌面应用、一个app。人类使用文字或者语音的方式和其交流,其同样以文字或者语音的方式反馈给人类。如果为这样的程序套上一个音箱外表,就是智能音箱;套上一个动物外表,就是机器宠物;套上一个高仿真妹子外表,就是机器...

2019-12-09 16:43:00 146

原创 用机器学习打造聊天机器人(一) 前言

还记得手把手教你做物体检测、手把手教你做命名实体识别系列的文章吗?满满的干货有没有O(∩_∩)O,大部分读者跟着步骤来,最后都实现了其中的物体检测和命名实体识别项目。物体检测命名实体识别本系列文章,依然秉承实践为主,理论为辅,让大家"做的出,看的懂"的原则,效果展示、特性介绍、设计思路、代码实现(python)、算法原理等多个方面的内容都有涉及,通过学习本系列文章,...

2019-12-05 20:27:00 299

原创 做为GPU服务器管理员,当其他用户需要执行某个要root权限的命令时,除了告诉他们root密码,还有没有别的办法?...

通常一台GPU服务器(这里指linux系统)不可能只有一个帐号能用的,比如当其他用户想要在GPU服务器上安装一些软件的时候,会需要用到apt-get命令,但是apt-get命令需要root用户的操作权限,如果GPU服务器由你管理,那么你如何在不直接给root密码的情况下,让其他用户可以执行该命令呢?可以使用sudo命令,sudo命令就是为了让普通用户可以在不知道root密码的情况下...

2019-11-30 14:04:00 367

原创 Viterbi(维特比)算法在CRF(条件随机场)中是如何起作用的?

之前我们介绍过BERT+CRF来进行命名实体识别,并对其中的BERT和CRF的概念和作用做了相关的介绍,然对于CRF中的最优的标签序列的计算原理,我们只提到了维特比算法,并没有做进一步的解释,本文将对维特比算法做一个通俗的讲解,以便大家更好的理解CRF为什么能够得到最优的标签序列。通过阅读本文你将能回答如下问题:什么是维特比算法?为什么说维特比算法是一种动态规划算法?维特比...

2019-11-26 20:16:00 605 1

原创 使用t-SNE做降维可视化

最近在做一个深度学习分类项目,想看看训练集数据的分布情况,但由于数据本身维度接近100,不能直观的可视化展示,所以就对降维可视化做了一些粗略的了解以便能在低维空间中近似展示高维数据的分布情况,以下内容不会很深入细节,但足以让你快速使用这门技术。什么是降维可视化?简而言之,降维是在2维或3维中展现更高维数据(具有多个特征的数据,且彼此具有相关性)的技术。降维思想主要有两种:仅...

2019-11-15 10:41:00 1204

原创 用深度学习做命名实体识别(七)-CRF介绍

还记得之前介绍过的命名实体识别系列文章吗,可以从句子中提取出人名、地址、公司等实体字段,当时只是简单提到了BERT+CRF模型,BERT已经在上一篇文章中介绍过了,本文将对CRF做一个基本的介绍。本文尽可能不涉及复杂晦涩的数学公式,目的只是快速了解CRF的基本概念以及其在命名实体识别等自然语言处理领域的作用。什么是CRF?CRF,全称 Conditional Random Field...

2019-10-17 12:38:00 1032

原创 用深度学习做命名实体识别(六)-BERT介绍

什么是BERT?BERT,全称是Bidirectional Encoder Representations from Transformers。可以理解为一种以Transformers为主要框架的双向编码表征模型。所以要想理解BERT的原理,还需要先理解什么是Transformers。Transformers简单来说是一个将一组序列转换成另一组序列的黑盒子,这个黑盒子内部由编码器和解...

2019-10-10 12:01:00 1484

原创 BERT论文解读

本文尽量贴合BERT的原论文,但考虑到要易于理解,所以并非逐句翻译,而是根据笔者的个人理解进行翻译,其中有一些论文没有解释清楚或者笔者未能深入理解的地方,都有放出原文,如有不当之处,请各位多多包含,并希望得到指导和纠正。论文标题Bert:Bidirectional Encoder Representations from Transformers一种从Transformers...

2019-10-10 10:03:00 2528 1

原创 我是如何通过高级系统架构师软考的?

今年的系统架构师考试又临近了,你是否准备好成为一名持证上岗的架构师了呢?先看看证书长什么样O(∩_∩)O考试时间一般是每年的11月份,是的,一年只能考一次。其他的高级软考一年都可以考两次。这也体现了系统架构师证书的含金量。考试内容共3部分,上午是选择题,下午是案例分析和论文。一般情况是3门都达到45分或以上就算是过了。考证过程笔者备考了一个月的时间,因为还要工作,所...

2019-10-09 11:04:00 2266

原创 目标检测中常提到的IoU和mAP究竟是什么?

看完这篇就懂了。IoUintersect over union,中文:交并比。指目标预测框和真实框的交集和并集的比例。mAPmean average precision。是指每个类别的平均查准率的算术平均值。即先求出每个类别的平均查准率(AP),然后求这些类别的AP的算术平均值。其具体的计算方法有很多种,这里只介绍PASCAL VOC竞赛(voc2010之前)中采用的mAP...

2019-09-26 09:33:00 1068

原创 还再@微信官方要国旗?这才是正确的打开方式~

最近,朋友圈被"请给我一面红旗@微信官方" 刷屏了,据说微信头像会出现一面小红旗!但我要告诉你,红旗头像是真的,不过@大法似乎并不管用,请给我一面红旗的正确打开方式来了!扫码或长按识别图中二维码,关注后点击右下方的我要国旗,或者输入“国旗”两个字,即可获取方法!小提示:如果在替换头像的时候总是提示设置失败,可能是因为访问量太大,微信头像设置功能异常,虽说这是小概率事件。但万一被...

2019-09-24 14:31:00 151

原创 机器学习常用性能度量中的Accuracy、Precision、Recall、ROC、F score等都是些什么东西?...

一篇文章就搞懂啦,这个必须收藏!我们以图片分类来举例,当然换成文本、语音等也是一样的。Positive正样本。比如你要识别一组图片是不是猫,那么你预测某张图片是猫,这张图片就被预测成了正样本。Negative负样本。比如你要识别一组图片是不是猫,那么你预测某张图片不是猫,这张图片就被预测成了负样本。TP一组预测为正样本的图片中,真的是正样本的图片数。TN:一组预测...

2019-09-24 10:36:00 379

原创 想研究BERT模型?先看看这篇文章吧!

最近,笔者想研究BERT模型,然而发现想弄懂BERT模型,还得先了解Transformer。本文尽量贴合Transformer的原论文,但考虑到要易于理解,所以并非逐句翻译,而是根据笔者的个人理解进行翻译,其中有一些论文没有解释清楚或者笔者未能深入理解的地方,都有放出原文,如有不当之处,请各位多多包含,并希望得到指导和纠正。论文标题Attention Is ALL You N...

2019-09-23 16:03:00 741

原创 使用pycharm或idea提交项目到github

pycharm和idea的操作方式几乎一样,所以下面就以pycharm为例来介绍。安装githttps://git-scm.com/download/win官网,下载慢,需翻墙https://github.com/waylau/git-for-win提供国内下载,下载快,与官网同步更新下载好之后,双击安装,一路默认安装即可(安装路径根据自己的需要调整)。生成ssh密...

2019-09-23 15:02:00 393 2

原创 用深度学习做命名实体识别(五)-模型使用

通过本文,你将了解如何基于训练好的模型,来编写一个rest风格的命名实体提取接口,传入一个句子,接口会提取出句子中的人名、地址、组织、公司、产品、时间信息并返回。核心模块entity_extractor.py关键函数# 加载实体识别模型def person_model_init(): ... # 预测句子中的实体def predict(sentence, la...

2019-09-23 13:27:00 2566

原创 用深度学习做命名实体识别(四)——模型训练

通过本文你将了解如何训练一个人名、地址、组织、公司、产品、时间,共6个实体的命名实体识别模型。准备训练样本下面的链接中提供了已经用brat标注好的数据文件以及brat的配置文件,因为标注内容较多放到brat里加载会比较慢,所以拆分成了10份,每份包括3000多条样本数据,将这10份文件和相应的配置文件放到brat目录/data/project路径下,然后就可以从浏览器访问文件内容...

2019-09-09 18:01:00 1871 7

原创 用深度学习做命名实体识别(三):文本数据标注过程

上一篇文章,我们介绍了brat的安装和配置,当成功安装和配置好了brat,我们就可以进行文本标注了。 首先,在brat项目的data目录下新建一个project目录,然后在brat项目的主目录下找到以下文件,复制到project目录: 主目录:/var/www/html/brat pro...

2019-09-06 21:03:00 1780 1

原创 手把手教你用深度学习做物体检测(七):YOLOv3介绍

YOLOv3 论文:《YOLOv3: An Incremental Improvement》 地址:https://arxiv.org/pdf/1804.02767.pdfyolov3 相比之前版本的改进 网络的特征提取部分 由Darknet-19改成了Darknet-53,更深了,速度确有下降,但是相比...

2019-09-06 13:29:00 429

原创 手把手教你用深度学习做物体检测(六):YOLOv2介绍

本文接着上一篇《手把手教你用深度学习做物体检测(五):YOLOv1介绍》文章,介绍YOLOv2在v1上的改进。有些性能度量指标术语看不懂没关系,后续会有通俗易懂的关于性能度量指标的介绍文章。YOLOv2论文:《YOLO9000: Better, Faster, Stronger》地址:https://arxiv.org/pdf/1612.08242v1.pdf...

2019-09-06 12:20:00 322

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除