
python
最老程序员闫涛
关注全文检索、数据挖掘、推荐引擎技术,Android开发技术,互联网及移动互联网创业。
展开
-
深度学习算法实践1---开发环境搭建
本文将在Mac环境下,配置深度学习算法的开发环境,我们会采用python3.x作为开发语言,在深度学习框架方面,没有选择最为流行的TensorFlow,而是在研究者中比较流行的Theano。主要是因为TensorFlow虽然很热,但是将基础理论与框架结合的文档较少,Theano作为教学框架,这方面的资料非常丰富,所以以学习和实现为目的的项目,采用Theano会较大的优势。而我们知道,目前深度学习的应用,大多是试验性质的,因此采用Theano可以在学习深度学习基本理论的同时,动手实验各种算法,对实际项目的帮助原创 2016-08-03 18:00:47 · 5573 阅读 · 0 评论 -
Python操作SQLServer
安装开发环境要进行SQLServer的开发,首先需要在本机上安装SQLServer,建立本机开发环境。可以从微软官网上下载类似cn_sql_server_2012_enterprise_edition_with_sp1_x86_x64_dvd_1234493.iso文件,可以直接双击安装,安装过程极为复杂,对于习惯mysql的用户来说可以说是难以想象。历尽千辛苦安装之后,就可以启动SQL Se...原创 2018-08-28 09:38:20 · 12124 阅读 · 2 评论 -
斯坦福自然语言处理习题课2---softmax函数详解
从现在开始,我们就要正式开始向大家讲解斯坦福大学CS224n作业的实现了。我们首先业看作业关于softmax函数实现部分。我们在这里将先向大家介绍softmax函数的具体应用场景和物理意义,以及采用numpy和python实现中需要注意的地方,在下一篇文章中,我们再向大家介绍CS224n作业1中softmax的具体实现。之所以这样安排,是因为数学是一个非常优雅的建模工具,可以非常优雅的描述物理过程...原创 2018-11-07 14:43:27 · 1350 阅读 · 0 评论 -
深度学习量化交易实践---7.1.时序信号特点
时序信号我们以上证综指收盘指数为例,其就是一个典型的时序信号。上证综指文件中,每天作为一行,表示该日的指数信息,各列信息如下所示:Indexcd:指数代码,000001表示上证综合指数;trddt:交易日期,格式为yyyy-MM-dd;daywk:星期日期,0星期日,1星期一,…,6星期六opnindex:开盘指数hiindex:最高价loindex:最低价clsindex:收盘价...原创 2018-11-22 17:47:58 · 2298 阅读 · 0 评论 -
深度学习量化交易---0.1.股票K线图绘制
研究股票交易的基本功就是看K线图,所以在这一节里面,我们的任务就是拿到一支股票的历史数据,我们用python画出其K线图,这是进行下一步技术分析的基础。我们以上证综指为例,之所以没拿某支股票为例,是因为股票容易被操控,而上证综指很难被操控,因为规律性会更强一些。...原创 2018-11-25 12:54:57 · 5365 阅读 · 5 评论 -
深度学习量化交易---0.2.基于长短时记忆网络预测股票价格1
在这一节中,我们将先向大家介绍长短时记忆网络(LSTM),然后详细讲解怎样使用长短时记忆网络(LSTM)来预测股票价格,为了避免人为因素干拢,我们还以上证综指为例来进行说明。长短时记忆网络(LSTM)股票交易数据是一种典型的时序信号,需要处理较长的时间序列,有时为了准确的进行股票价格预测,可能会需要看几周甚至几个月的历史数据,如果采用普通的多层感知器模型的话,那么要求输入层维度就非常大,整个网...原创 2018-11-27 14:59:41 · 1659 阅读 · 0 评论 -
深度学习量化交易---0.2.基于长短时记忆网络预测股票价格2
在上一篇博文中,我们介绍了长短时记忆网络的基本概念,在这一节中,我们将以长短时记忆网络(LSTM)为例,讲解深度学习算法在股票价预测中的应用。我们要分析的数据如下所示:各列依次为:股票代码、日期、开盘价、收盘价、最低、最高、交易量、金额、涨跌幅、第二天的最高价。我们首先读入训练样本集,代码如下所示:import numpy as npimport pandas as pdimport...原创 2018-11-28 10:58:06 · 2500 阅读 · 2 评论 -
python量化交易笔记---10.numpy库使用
numpy是python中一个重要的科学计算库,是当前机器学习和深度学习的基础库之一。在numpy中最重要的就是多维数组,我们在这里重点向大家介绍一下多维数组的用法。创建多维数组range函数直接创建采用range函数,创建下标由零开始的一维数组(其后可以通过reshape变为多维数组),数组元素值为由零开始的整数:import numpy as np# 定义数组并显示其内容、形状、类...原创 2019-02-08 17:48:10 · 1067 阅读 · 0 评论 -
python量化交易笔记---13.描述性统计
统计分为描述统计和推断统计,我们在这一章里,主要讲解描述性统计。我们用到的数据如下所示:images/c13f004.png上图中,gsyh代表工商银行收益率,pfyh代表浦发银行收益率,zglt代表中国联通收益率,我们仅以工商银行收益为例计算各个统计量。1.频数分布我们以2014年工商银行股票的收益率为例,来看频数分布。我们将收益率(下图中ysgh列)按0.025为一段,统计收益率...原创 2019-02-09 13:52:10 · 1552 阅读 · 0 评论 -
python量化交易笔记---14.随机变量
随机变量用大写字母来表示,如XXX,其具体的观测值用小写字母来表示,如xxx。我们希望通过观测到的结果,来推断出随机变量的真实分布。根据随机变量的取值,分为离散随机变量和连续随机变量,在量化交易中,绝大多数数据都是连续随机变量。1.概率与概率分布1.1.离散型随机变量假设离散型随机变量XXX,其所有取值的集合为{ak},k=1,2,3,...\{a_k\}, k=1,2,3,...{ak}...原创 2019-02-09 19:48:17 · 973 阅读 · 0 评论 -
Python量化交易笔记---16.方差分析
方差分析是一种多变量之间关系的定性分析方法,通过研究多个变量之间存在的关系,我们可以提高预测的准确性。1.概述在股票研究中,我们经常按行业版块来进行研究,假设不同行业间收益率为相互独立的,我们想要知道化工行业与金融行业相比,收益率是高还是低。在这个问题中,行业版块我们称之为因子(Factor)变量,因子变量可以取实数值,也可以取如行业类型这样离散状态值,我们称之为水平;我们研究的收益率称之为反...原创 2019-02-11 11:20:44 · 1376 阅读 · 3 评论 -
深度学习在线教育平台实践---推荐算法TensorFlow实现
在前面几节中,我们向大家介绍了基于深度学习的推荐系统的数学原理,在这一节中,我们讨论怎样使用TensorFlow来实现这些数学原理。我们知道,TensorFlow对于深度学习算法的实现有很多资料参考,但是我们前面介绍的推荐系统,与一般的深度学习网络有很大的不同,属于Matrix Factorization的一种,所以在具体实现中,需要对TensorFlow有一个较为深入的了解,才能写出一个较好的解...原创 2018-08-14 13:59:01 · 3770 阅读 · 8 评论 -
人工智能自动代码生成1---前言
代码自动生成技术的历史非常长,人们采用过各种代码自动生成系统,取得了程度不同的成功。例如各种IDE中的Wizard,可以视为被动式代码生成的成功例子,目前还在各种IDE中广泛存在。在诸如PHP、Python的Web开发中,大量使用的模板技术,如Smarty和Mako,也可以视作主动代码生成的一个成功案例。目前在很多大公司内部,也都或多或少的应用了代码自动生成技术。但是这些成功应用的实例,虽然在各自原创 2017-03-08 20:41:46 · 5417 阅读 · 1 评论 -
深度学习算法实践2---线性代数和Numpy的使用
使用Theano和Numpy实现一些线性代数的基本操作,如常数与矩阵相乘,标量加法和矩阵乘法。原创 2016-08-04 14:54:24 · 3666 阅读 · 0 评论 -
深度学习算法实践3---神经网络常用操作实现
在这篇文章中,我们介绍了实现一个神经网络中最简单的感知器模型,我们介绍了Theano中的相关函数,并对其中的关键步聚给出了代码实现,读者可以基于这些代码,参考神经网络教材,实现出一个完整的感知器模型。原创 2016-08-05 10:46:00 · 3428 阅读 · 0 评论 -
深度学习算法实践4---Theano常用技巧
在上一篇文章中介绍了神经网感知器模型中用到的一些算法,在这篇文章中,将继续介绍这些常用的算法,首先是随机数的生成,因为感知器模型必须用随机数来初始化连接权值,其次是求导数,因为感知器学习算法是,会用到梯度下降算法,涉及到求导问题。在讨论随机数生成算法之前,我们先来讨论一下共享变量,这很像C语言中的静态变量,假设我们要对网站的内容的热度进行统计分析,我们用hottness来表示热度,用visitWe原创 2016-08-08 13:20:09 · 2833 阅读 · 0 评论 -
深度学习算法实践11---卷积神经网络(CNN)之卷积操作
卷积神经网络(CNN)主要特性有:稀疏连接和权值共享、卷积操作、池化。在前一篇博文中我们已经讨论了稀疏连接和权值共享,在本篇博文中,我们将介绍卷积操作和池化。正是由于对图像进行卷积操作,卷积神经网络才得以其名,可见卷积操作是其核心。在这篇博文中,我们将讨论卷积操作的实现其及物理含义。原创 2016-08-29 18:20:48 · 11046 阅读 · 5 评论 -
深度学习算法实践12---卷积神经网络(CNN)实现
在搞清楚卷积神经网络(CNN)的原理之后,在本篇博文中,我们将讨论基于Theano的算法实现技术。我们还将以MNIST手写数字识别为例,创建卷积神经网络(CNN),训练该网络,使识别误差达到1%以内。原创 2016-08-30 12:50:35 · 8153 阅读 · 0 评论 -
深度学习算法实践5---线性回归算法实现
在学习了基本的Theano的概念之后,我们可以将这些知识用来进行一些简单的应用,在这篇文章中,我们将实现一个简旱的逻辑回归算法,并将该算法用于二维平面上的点是位于y=x之上还是之下。其实,Theano网站的教程中,有一个线性回归的例子,但是那个例子是一个用于手写字符识别的例子,没有给出实际的数据集,非常不直观,而其他例子直接就上MNIST的手写字符识别,由于问题比较复杂,很难有一个直观的认识。因此原创 2016-08-10 14:11:27 · 9966 阅读 · 0 评论 -
深度学习算法实践7---前向神经网络算法原理
在本文中,我们对感知器模型的算法进行了推导,为我们对多层前馈网络(BP)的误差反向传播算法打下基础。原创 2016-08-22 18:16:30 · 6240 阅读 · 3 评论 -
深度学习算法实践6---逻辑回归算法应用
在上篇博文中,我们介绍了深度学习算法的实现,并且以MNIST手写数字识别为例,验证了该算法的有效性。但是我们学习逻辑回归算法的目的是解决我们的实际问题,而不是学习算法本身。逻辑回归算法在实际中的应用还是很广泛的,例如在医学领域的疾病预测中,我们就可以列出一系疾病相关因素,然后根据某位患者的具体情况,应用逻辑回归算法,判断该患者是否患有某种疾病。当然,逻辑回归算法还是有局限性的,其比较适合于处理线性原创 2016-08-11 14:45:50 · 4198 阅读 · 0 评论 -
深度学习算法实践14---去噪自动编码机(dA)的Theano实现
在明白了去噪自动编码机(dA)的理论之后,在本篇博文中,我们将讨论用Theano来实现一个去噪自动编码机。通过上篇博文的讨论,我们知道去噪自动编码机(dA)工作主要有四步组成:第一步是向原始输入信号中加入随机噪音(使原始信号在某些维度上值为零);第二步是将加入噪音的信号输入网络,经过编码器部分,在中间层生成输入信号的压缩信号;第三步是经过解码器层,在输出层得到输出信号;第四步将输出信号与原始输入信原创 2016-09-02 11:00:12 · 5207 阅读 · 1 评论 -
深度学习算法实践8---BP算法详解
BP算法是关于误差的反向传播算法,就是从输出层开始,将结果与预期结果相比较,求出误差,然后按照梯度最大下降方向,调整神经元的联接权值,然后依次逐层调整各层之间的连接权值,对于批量学习方式而言,不断重复上述过程,直到误差达到足够小时为止。对于输出层而言,我们可以直接使用在上一篇博文中关于感知器模型的算法,BP算法的难点在于,如何处理隐藏层,因为隐藏层没有正确的输出信息用来计算误差。下面我们将从输出层原创 2016-08-24 19:06:51 · 6253 阅读 · 0 评论 -
ubuntu环境下Theano开发环境搭建
在Ubuntu系统中安装Python 3.x,并配置Theano开发环境。原创 2016-09-03 22:15:28 · 2252 阅读 · 0 评论 -
深度学习算法实践9---用Theano实现多层前馈网络
我们到目前为止,使用逻辑回归模型已经可以对简单的线性可分问题进行了研究,不仅对MNIST手写数字识别样本集进行了训练和识别,我们还对二维平面上的点是否在y=x这条直线上进行了判断,有了这两个例子,尤其是第二个例子,读者应该可以将逻辑回归模型应用到自己的项目中了。虽然逻辑回归问题不能解决线性不可分问题,但是对于很多线性不可分问题,还是可以找到一个尽量好的超平面,得到令人满意的分类结果。由于逻辑回归算原创 2016-08-25 17:39:24 · 3500 阅读 · 0 评论 -
深度学习算法实践16---限制性波尔兹曼机(RBM)原理1
我们目前的讨论的神经网络,虽然学习算法不同,但基本上架构还是相同的,就是都是分层网络,即神经元按层进行组织,层内神经元无连接,层间神经元间有连接。我们在这篇博文中,将讨论一种非常不同的神经网络,这类神经网络是由没层次关系的神经元全连接网络进化而来,采用有别于梯度下降算法进行学习的网络。这类网络首先起源于Holpfield网络,这是一种全联接的网络,神经元之前进行全连接,我们可以给这个网络定义一个能原创 2016-09-21 17:12:21 · 9647 阅读 · 4 评论 -
深度强化元学习教程---元学习概述
深度强化元学习是近期深度学习技术的一个另人瞩目的新兴领域,其利用元学习,解决了深度学习需要大数据集的问题,以及强化学习收敛慢的问题。同时元学习还可以适用于环境不断改变的应用场景,具有巨大的应用前景。元学习概述元学习简介提到元学习,我们通常想到Few-Shot Learning、One-Shot Learning、Zero-Shot Learning,其实这些都是K-Shot Learning...原创 2019-07-29 16:16:30 · 2050 阅读 · 0 评论