
机器学习
文章平均质量分 89
CS229课程讲义翻译、机器学习相关算法、python的应用实践
Roaring Kitty
供应链算法专家,量化交易爱好者,You Only Live Once!,技术交流:AllenYZXL
展开
-
全自动机器学习神器:H2OAutoML
引言做机器学习的老铁们在平时训练模型时,对交叉验证、模型集成想必是绞尽了脑汁。现在我将给各位介绍一个神器。叫做H2O。在读了这篇文章后,你将会: 了解H2O是什么,在哪些地方大放异彩 H2O的安装与初步使用 迫不及待地去安装使用(哈哈哈) H2O概述H2O是一个开源的、内存、分布式、快速和可扩展的机器学习和预测分析平台,允许诸位在大数据上构建机器学习模型,并原创 2018-02-01 10:35:32 · 13644 阅读 · 3 评论 -
Facebook时序预测工具Prophet实战分析
引言去年Facebook开源了一套时序预测工具叫做Prophet。Prophet是一个预测时间序列数 据的模型。 它基于一个自加性模型,用来拟合年、周、季节以及假期等非线性趋势。 它在至少有一年历史数据的日常周期性数据,效果最好。 Prophet对缺失值,趋势的转变和大量的异常值是有极强的鲁棒性。Prophet中文翻译是:“先知”。名字还是挺贴切的。在看完本篇文章后,你将会知道:原创 2018-01-31 19:10:00 · 21720 阅读 · 2 评论 -
智能网联汽车计算平台关键算法综述
摘要本文以日本无人驾驶开源软件Autoware为参考,汇总分析了无人驾驶所涉及的基本算法,最后给出了在一些典型数据集上测试的效果。介绍本文将自动驾驶算法部分分成以下三个部分:场景识别、路径规划及车辆控制。每一类别都是由多种算法组成的。例如场景识别需要定位,物体检测及追踪算法。路径规划通常由任务、运动规划组成,车辆控制则对应路径跟随。下图1,显示了算法基本的控制及数据流。接下来本文将按照原创 2018-01-10 18:54:11 · 2280 阅读 · 0 评论 -
Word2vec-Tensorflow实战
Word2vec:Tensorflow实战本文代码可视化过程:传送门引言前面我曾系统分析过Word2vec的理论及工具包的使用,那么在深度学习框架tensorflow中如何实现Word2Vec呢?接下来,我们将介绍tensorflow中word2vec简化版实现方法。Minimalistic ImplementationStep1 下载数据这里我们直接从这个网站原创 2018-01-04 20:29:07 · 2053 阅读 · 8 评论 -
K-means聚类算法原理分析与实际应用案例分析(案例分析另起一篇博客)
引言在数据分析中,我们常常想将看上去相似或者行为形似的数据聚合在一起。例如,对一个营销组织来说,将不同客户根据他们的特点进行分组,从而有针对性地定制营销活动,这很重要。又比如,对学校老师来说,将学生分组同样能够有所侧重的进行教育活动。分类与聚类是数据挖掘领域两大基础方法,分类被用于监督学习中而聚类算法属于无监督的。聚类算法主要是将相似的数据聚合在一起形成不同的组别,但是组与组之间相差很大。 在本次原创 2017-12-26 20:59:42 · 30822 阅读 · 3 评论 -
Jupyter Notebook远程登陆
引言最近买了台性能比较好的主机,准备在上面跑跑算法之类的,本来想做个利用tensorflow实现word2vec的demo,但是我一直在笔记本上办公,笔记本上有没有安装tensorflow环境,于是我配置了主机jupyter notebook环境,从而实现了远程访问jupyter-notebook并编码的功能。现总结如下登陆远程服务器这里我设置了SSH登陆生成配置文件$原创 2018-01-04 18:51:04 · 1756 阅读 · 1 评论 -
Word2Vec总结
最近一段时间,我写了好几篇关于Word2vec的文章,从理论部分到具体实践,现总结如下:理论部分轻松理解skip-gram模型 轻松理解CBOW模型 上述两篇博文从理论角度,讲述了Word2Vec两大模型实践部分Word2vec使用手册 这一篇文章主要从工具箱的角度,讲述如何使用现成的API来直接使用Word2VecWord2vec之情感语义分析实战(part原创 2017-12-16 19:37:43 · 2555 阅读 · 1 评论 -
Word2vec之情感语义分析实战(part3)--利用分布式词向量完成监督学习任务
引言这篇博客将基于前面一篇博客Part2做进一步的探索与实战。 demo代码与数据:传送门单词的数值化表示前面我们训练了单词的语义理解模型。如果我们深入研究就会发现,Part2中训练好的模型是由词汇表中单词的特征向量所组成的。这些特征向量存储在叫做syn0的numpy数组中:# Load the model that we created in Part 2from gensim.models原创 2017-12-16 18:37:43 · 6757 阅读 · 0 评论 -
Word2vec之情感语义分析实战(part2)
引言这一部分的内容主要是衔接前面分享的一篇文章:Word2vec之情感语义分析实战(part1)做进一步深入探讨。在本次文章中,我们将把重心放在使用Word2Vec算法创建的词向量表达上去。Word2vec是由谷歌在2013年发布的,是一种学习分布式语言表示的神经网络实现。在此之前,已经提出了其他深度或递归的神经网络体系结构来学习单词表示,但是这些模型的主要问题是需要很长时间来训练模型。与其他模型相原创 2017-12-15 00:13:44 · 7247 阅读 · 0 评论 -
Word2vec之情感语义分析实战(part1)
引言前面我分享了三篇文章,其中一篇:Word2vec使用手册主要专注于工具包gensim的讲解;另外两篇文章:轻松理解skip-gram模型、轻松理解CBOW模型。主要专注于Google出的关于Word2vec的两篇论文中两个模型的理论讲解。而接下来的这篇文章,我将系统地讲解如何在IMDB电影评论数据集上应用word2vec进行情感分析。代码与数据集:传送门NLPNLP(Natural Langua原创 2017-12-07 17:20:54 · 12185 阅读 · 1 评论 -
轻松理解CBOW模型
引言前面我分析了Word2vec的一种模型叫做skip-gram模型。在这篇文章中,我将讲述另一个word2vec模型——连续词袋模型(CBOW)模型。如果你理解skip-gram模型,那么接下来的CBOW模型就更好理解了,因为两者模型互为镜像。我们先来看看CBOW模型与skip-gram模型对比图: 如何,这是不是镜像关系?所以接下来的讲解也会和skip-gram那篇文章极其类似。前向传播接原创 2017-12-05 20:59:53 · 79801 阅读 · 31 评论 -
Word2vec使用手册
引言Google开源的Word2vec是自然语言处理领域里面,比较好用的工具。这篇博客主要就是介绍如何在一些开源工具中使用这套工具。官方网址:传送门安装Gensim开发了一套工具箱叫做gensim,里面继承了Word2vec方法。 因此安装方法就是:pip install --upgrade gensimNote:依赖环境 Python >= 2.6 NumPy >= 1.3 Sc原创 2017-12-04 14:24:06 · 16913 阅读 · 14 评论 -
轻松理解skip-gram模型
引言在许多自然语言处理任务中,许多单词表达是由他们的tf-idf分数决定的。即使这些分数告诉我们一个单词在一个文本中的相对重要性,但是他们并没有告诉我们单词的语义。Word2vec是一类神经网络模型——在给定无标签的语料库的情况下,为语料库中的单词产生一个能表达语义的向量。这些向量通常是有用的: 通过词向量来计算两个单词的语义相似性 对某些监督型NLP任务如文本分类,语义分析构造特征原创 2017-12-05 16:01:00 · 90173 阅读 · 21 评论 -
Lightgbm-GPU运行出错(2017.11)boost::filesystem::create_directory...Abort (core dumped)
问题描述在编译lightgbm GPU版本时并没有出错,但是在运行demo时发生了错误,错误如下: 解决方法后来发现,源文件目录:src/treelearner/gpu_tree_learner.h的第26行代码:#define BOOST_COMPUTE_USE_OFFLINE_CACHE如果包含这个这个宏 BOOST_COMPUTE_USE_OFFLINE_CACHE,就会导致要寻找缓存目录,原创 2017-11-24 10:23:56 · 3871 阅读 · 0 评论 -
国内外无人驾驶技术相关调研
引言最近在做无人驾驶相关的调研,主要调研目前主流无人驾驶公司的数据来源,软件平台,硬件平台相关的内容,现整理如下,权当做个笔记~ 接下来我将以Waymo公司的无人驾驶技术来详细讲讲这里面的一些细节。Waymowaymo理所当然是目前全球领域最顶尖的无人驾驶技术公司了,依托于Google这个庞大的技术平台(16年末从Alphabet拆分出去)。很可惜waymo人家不开源,因此我们只能从他们的官网以及原创 2017-11-27 15:32:46 · 6312 阅读 · 3 评论 -
无人驾驶避障方法研究
引言老师和学生的关系是建立在一份错觉上。老师错以为自己可以教学生什么,而学生错以为能从老师那里学到什么。重要的是,维持这份错觉对双方而言都是件幸福的事。因为看清了真相,反而一点好处都没有。我们在做的事,不过是教育的扮家家酒而已。——东野奎吾 《恶意》无人驾驶避障综述嗯,很惨,距离上次做 国内外无人驾驶技术相关调研没多久,就来做无人驾驶避障调研。为什么调研我要发博客呢,因为在我看来调研的结果给实验室看原创 2017-12-02 17:32:58 · 21529 阅读 · 8 评论 -
Xgboost参数调优的完整指南及实战
引言Xgboost是一种高度复杂的算法可以处理各种各样的数据。相信每个用过Xgboost的人都有过这样的感受:利用Xgboost构建模型十分简单,但是用Xgboost来调参提升模型就很难了。该算法使用多个参数。为了改进模型,必须对参数进行优化。但是我们很难找到实际问题的答案——你应该调整哪些参数?这些参数的理想值是什么?以前我写过一篇Xgboost与lightgbm参数对比的文章,但是感觉应该把Xg原创 2017-11-14 17:09:34 · 64364 阅读 · 12 评论 -
Gini coefficient直观的解释与实现
引言大家在机器学习中经常会看到基尼系数的词汇,有时候在做比赛的时候,有些赛题的Scoring Metric就是基尼系数。我们去Google或者Baidu,得到的都是些不甚满意的经济学相关的解释。那么在机器学习、数据挖掘领域,基尼系数在实际的应用场景中又该如何解释以及如何实现呢?基尼系数的经济学解释首先,我们先看一张从Wiki上找来的经典图片: 基尼系数是一个分布不平衡程度的度量。它被定义成大小原创 2017-11-14 12:10:07 · 16614 阅读 · 8 评论 -
在分类及预测任务中对高维类别(category)变量的预处理方法
引言众所周知,数据挖掘中大约有80%的时间被用来做数据预处理。其中高维类别数据是数据挖掘算法(比如神经网络、线性or逻辑回归、SVM)最具挑战性的数据类型。事实上,在一些像决策树或者一些规则归纳的学习算法中,对类别数据并不需要额外的处理。但是一些回归算法却需要将每一个输入特征都转变成数值类型的特征。而且在现实生活中,我们需要解决的分类或者预测问题的数据集中,充满了类别属性,比如:ZIP码,SIC,I原创 2017-11-12 19:20:48 · 11189 阅读 · 9 评论 -
特征分析之SVD
引言前面我们分享降维分析之PCA分析及实现,说PCA除了应用在数据降维上,还可用于特征分析。今天我们就来分享个新的特征分析的方法,叫做奇异值分解(Singular Value Decomposition,SVD)。SVD背后的数学原理我们如果在Google搜索引擎中输入SVD这个单词,会弹出好多图片,如下其中一幅: ;如果我们在Baidu搜索引擎中搜索SVD的话,百度百科的解释是这样的:SVD德拉原创 2017-11-09 11:56:36 · 1488 阅读 · 1 评论 -
降维分析之PCA分析及实现
引言不知道大家还记不记得前面我们分享 支持向量机(SVM)的分析及python实现时说过,当数据遇到线性不可分时,我们可以利用kernel技巧将低维数据映射到高维数据上,从而使得数据线性可分,这是个“升维”操作。那么本章我们就来分享个“降维”操作。为什么要降维众所周知,降维的目标就是对输入的数据进行削减,由此剔除数据中的噪声并提高机器学习方法的性能。那么为什么会有降维的操作呢?那是因为高维空间会出现原创 2017-11-09 10:17:43 · 2539 阅读 · 0 评论 -
FP-growth算法
demo 代码:传送门引言上次分享Apriori算法时,我们有提到Apriori算法在每次增加频繁项集的大小时,会重新扫描整个数据集。当数据集很大时,这会显著降低频繁项集发现的速度。而本次分享的FP-growth(frequent patten)算法就能高效地发现频繁项集。 那么在现实生活中,是否存在应用FP-growth算法的产品呢?答案是存在的,如下图所示: 上图中,我们在Google搜原创 2017-11-08 21:09:50 · 1591 阅读 · 0 评论 -
关联分析之Apriori算法
本文demo源码、实验数据:传送门引言如题,关联分析这个词语对于初学者而言或许比较陌生。但是我若将关联分析换成另一个短语“尿布与啤酒”大家就会很熟悉了。据报道,美国中西部的一家连锁店发现,男人们会在周四购买尿布和啤酒。这样商店实际上可以将尿布和啤酒放在一块,并确保在周四的销售中获利。“尿布与啤酒”是关联分析中最著名的例子。那么关联分析的定义也就呼之欲出了:从大规模数据集中寻找物品间的隐含关系被称作关原创 2017-11-08 14:03:41 · 7132 阅读 · 9 评论 -
K-means聚类算法原理分析与实际应用案例分析(案例分析另起一篇博客)
引言在数据分析中,我们常常想将看上去相似或者行为形似的数据聚合在一起。例如,对一个营销组织来说,将不同客户根据他们的特点进行分组,从而有针对性地定制营销活动,这很重要。又比如,对学校老师来说,将学生分组同样能够有所侧重的进行教育活动。分类与聚类是数据挖掘领域两大基础方法,分类被用于监督学习中而聚类算法属于无监督的。聚类算法主要是将相似的数据聚合在一起形成不同的组别,但是组与组之间相差很大。 在本次原创 2017-11-02 16:05:28 · 10024 阅读 · 0 评论 -
CART分类回归树分析与python实现
引言前面我们分享过一篇决策树算法叫ID3:ID3决策树原理分析及python实现。首先我们来回顾下ID3算法。ID3每次选取最佳特征来分割数据,这个最佳特征的判断原则是通过信息增益来实现的。这种按某种特征切分完数据集后,当前特征在下次切分数据集时就不再起作用,因此会存在切分方式过于迅速地问题。ID3算法还存在另一个问题就是它不能直接处理连续型特征,因此算法需要改进。于是有人提出了二元切分法很好的解决原创 2017-11-01 16:27:16 · 8185 阅读 · 0 评论 -
线性回归、局部加权线性回归、岭回归、lasso及逐步线性回归
demo:传送门引言前面几篇博客,我们主要分享了一些分类算法。这一篇文章,我们将首次介绍回归算法即对连续性的数据做出预测。回归一词的来历由来已久。“回归”是由英国著名生物学家兼统计学家高尔顿(Francis Galton,1822~1911.生物学家达尔文的表弟)在研究人类遗传问题时提出来的。为了研究父代与子代身高的关系,高尔顿搜集了1078对父亲及其儿子的身高数据。他发现这些数据的散点图大致呈直线原创 2017-10-31 21:01:41 · 6773 阅读 · 0 评论 -
集成学习之bagging、boosting及AdaBoost的实现
本文所有代码都是基于python3.6的,数据及源码下载:传送门引言前面博客分享,我们已经讲解了不少分类算法,有knn、决策树、朴素贝叶斯、逻辑回归、svm。我们知道,当坐重要决定时,大家可能都会考虑吸取多个专家而不是一个人的意见。机器学习处理问题时同样如此。集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时被称为多分类器学习系统、基于委员会的学习等。个体与集原创 2017-10-31 10:22:12 · 3075 阅读 · 0 评论 -
支持向量机(SVM)的分析及python实现
本文所有代码都是基于python3.6的,数据及源码下载:传送门引言今天我们算是要来分享一个“高级”的机器学习算法了——SVM。大家自学机器学习一般都会看斯坦福的CS229讲义,初学者们大都从回归开始步入机器学习的大门。诚然回归学习起来与使用起来都很简单,但是这能达到我们的目的么?肯定不够的,要知道,我们可以做的不仅仅是回归。如果我们把机器学习算法看作是一种带斧子,剑,刀,弓,匕首等的武器,你有各种原创 2017-10-29 09:52:58 · 149667 阅读 · 33 评论 -
基于时间序列的短期数据预测--ARMA模型的设计与实现(每个步骤附实现源码)
前面我有分享两篇关于时间序列模型的文章,一篇是 [Holt-Winters模型原理分析及代码实现(python)](http://blog.youkuaiyun.com/u010665216/article/details/78051192),[一篇是 LSTM模型分析及对时序数据预测的具体实现(python实现)](http://blog.youkuaiyun.com/u010665216/article/details/78140106)。holt-winters是典型的平滑法,一般用于趋势分析和预测。LSTM是一种时间递归神原创 2018-04-13 11:27:37 · 19827 阅读 · 15 评论 -
Logistic Regression及python实现
本文所有代码都是基于python3.6的,数据及源码下载:传送门引言本次分享,我们将介绍一个经典的二分类算法——逻辑回归。逻辑回归虽然不在十大数据挖掘算法之列,但是这个算法是机器学习从统计学领域借鉴的一种算法,其算法最经典之处是使用到了最优化算法。关于线性回归与逻辑回归的详细介绍与数学推导,在我前面翻译的CS229讲义里都有提到:CS229 Lecture Note 1(监督学习、线性回归)、 CS原创 2017-10-22 12:24:38 · 11207 阅读 · 1 评论 -
安装MySql+连接数据库+读取数据并存储成dataframe(python3.6)
环境安装安装依赖环境$ sudo apt-get install python-pip python-dev libmysqlclient-dev安装MySqldb$ pip install mysqlclient #python3.6$ pip install MySQL-python #python 2.7连接数据库+读取数据+存储#!/usr/bin原创 2017-10-11 20:11:43 · 1125 阅读 · 0 评论 -
基于概率论的分类方法:朴素贝叶斯及优快云_RSS源分析
本文所有代码都是基于python3.6的,数据及源码下载:传送门引言最简单的解决方法通常是最强大的,朴素贝叶斯呢就是一个很好的证明。尽管在过去的几年里机器学习取得了巨大的进步,各种优秀算法层出不穷,但朴素贝叶斯依旧证明了它不仅简单,而且快速、准确、可靠。朴素贝叶斯已经成功地用于许多机器学习领域,但它在自然语言处理(NLP)问题上尤其有效。 朴素贝叶斯是一种利用概率论和贝叶斯定理来预测样本类别的概率原创 2017-10-14 09:12:21 · 2467 阅读 · 1 评论 -
ID3决策树原理分析及python实现
本文所有代码都是基于python3.6的,数据及源码下载:传送门引言今天我们来分享下决策树的相关算法,众所周知,树在我们现实生活中,有许多算法应用。对机器学习领域也有着极其广泛影响,主要涉及分类和回归。在决策分析中,一个决策树可以用于可视化和显示地表示决策和决策制定的过程。顾名思义,它使用树状的决策模型,这也是本次分享我们所关注的重点。什么是决策树那么到底什么才是决策树呢?我们采用wiki上的一段定原创 2017-10-08 09:08:53 · 10509 阅读 · 3 评论 -
基于改进的K-means算法在共享交通行业客户细分中的应用
对应实现代码:传送门(实现代码专注于方案的实现,k-means算法的改进并没有在代码云中体现,为方便实现直接采用sklearn标准库算法)摘要:信息时代的来临使得企业营销焦点从产品中心转变为客户中心,客户关系管理成为企业的核心问题。准确的客户分类结果是企业优化营销资源分配的重要依据,客户分类越来越成为客户关系管理中亟待解决的关键问题之一。面对共享单车行业激烈的市场竞争,各个共享交通公司都...原创 2018-05-30 19:32:23 · 3316 阅读 · 12 评论 -
LSTM模型分析及对时序数据预测的具体实现(python实现)
具体代码看代码云:传送门,有问题欢迎随时私信~引言这篇博客衔接上一篇博客: Holt-Winters模型原理分析及代码实现(python),我们在三次指数平滑的基础上,来进一步讨论下对时序数据的预测。LSTM原理分析(参考博文:Understanding LSTM Networks)Long Short Term 网络–LSTM,是神经网络的一种简单延伸,也是一种特殊的RNN模型。可以用来学习长期原创 2017-09-30 10:28:08 · 22714 阅读 · 2 评论 -
superset之安装与部署(Ubuntu16.10)
引言Superset 是Airbnb的数据科学部门开源的一套工具,它是一个自助式数据分析工具,它的主要目标是简化我们的数据探索分析操作,它的强大之处在于整个过程一气呵成,几乎不用片刻的等待。Superset通过让用户创建并且分享仪表盘的方式为数据分析人员提供一个快速的数据可视化功能。现在,我们就来安装部署下这个工具,看看到底好不好玩。安装下载地址superset的源码可以在github上找到。pip原创 2017-09-27 10:10:59 · 4048 阅读 · 5 评论 -
K近邻算法讲解与python实现(附源码demo下载链接)
k近邻算法概述K近邻(k-Nearest Neighbor,简称kNN)算法,是一种应用很广泛的监督学习算法。它非常有效且易于掌握,其工作机制也很简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个"邻居"的信息来进行预测。K近邻既可以用于分类又可以用于回归,在分类问题中:我们使用"投票法",即选择这k个样本中出现最多的类别标记作为预测结果;在回归问题中:我原创 2017-09-25 18:56:02 · 2558 阅读 · 2 评论 -
Holt-Winters模型原理分析及代码实现(python)
引言最近实验室老师让我去预测景区内代步车辆的投放量,于是乎,本着“一心一意地输出年富力强的劳动力”这份初心,我就屁颠屁颠地去找资料,然后发现了Holt-Winters模型 , 感觉这个模型可以有,于是就去研究一番,并总结成这篇博客了。原理分析移动平均(The simple moving average (SMA))直观上,最简单的平滑时间序列的方法是实现一个无权重的移动平均,目前已知的方法是用窗口函原创 2017-09-21 13:54:15 · 65576 阅读 · 32 评论 -
树回归python实现
引言在我前面一篇博客预测数值型数据:回归一文中提到了线性回归包含了一些强大的方法,但除了加权线性回归,其余线性回归方法创建的模型需要拟合所有的数据样本即构建一个全局的模型,但实际应用场景下,很多问题是非线性的,特征不仅多而且趋于复杂,不可能用全局线性模型来拟合任何数据。 那么我们该如何解决这个问题呢?有人提出了将数据集切分成很多很多份易于建模的数据,然后利用前面提到的线性回归技术来建模。原创 2017-09-08 11:06:38 · 602 阅读 · 0 评论 -
Xgboost与Lightgbm参数对比
最近在使用Xgboost与Lightgbm模型来训练数据,众所周知,lightgbm是2016年末微软开源的工具,具体相关信息可以参考一下链接:Lightgbm: https://github.com/Microsoft/LightGBMXgboost:https://github.com/dmlc/xgboost两大神器的优缺点,咱们就不讨论了,微软官方给了一些example对比原创 2017-07-19 14:34:30 · 7192 阅读 · 0 评论