首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

预测金融时间序列——Keras 中的 MLP 模型

神经网络架构 我们将使用多层感知器作为基本模型。让我们把Keras作为一个实现框架——它非常简单、直观,你可以用它来实现相当复杂的计算图,但到目前为止我们还不需要它。...我们将从最常见的方式开始——在权重总和的L2 范数中向误差函数添加一个附加项,在Keras 中, 这是使用 keras.regularizers.activity_regularizer 完成的。...因此,值得使用近年来流行的 Dropout 技术为我们的模型添加更多的正则化——粗略地说,这是在学习过程中随机“忽略”一些权重,以避免神经元的共同适应(以便他们不学习相同的功能)。...优化超参数——窗口大小、隐藏层中的神经元数量、训练步骤——所有这些参数都是随机取的,使用随机搜索,你可以发现,也许,我们需要查看 45 天前和以较小的步长学习更深的网格。...在我们的例子中,我们设法使用前 30 天的价格窗口以 60% 的准确率预测了 5 天的趋势,这可以被认为是一个很好的结果。

5.4K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Keras中创建LSTM模型的步骤

    在这篇文章中,您将了解创建、训练和评估Keras中长期记忆(LSTM)循环神经网络的分步生命周期,以及如何使用训练有素的模型进行预测。...Samples:数据中的行 Timesteps:特征的过去观测值 features:数据中的列 假设数据作为 NumPy 数组加载,您可以使用 NumPy 中的 reshape()函数将 2D 数据集转换为...,最终输入原始数据,并在另一个数据中显示预测。...这和使用一系列新输入模式在模型上调用predict() 函数一样简单。 例如: predictions = model.predict(X) 预测将返回网络输出层提供的格式。...总结 在这篇文章中,您发现了使用 Keras 库的 LSTM 循环神经网络的 5 步生命周期。 具体来说,您了解到: 1、如何定义、编译、拟合、评估和预测 Keras 中的 LSTM 网络。

    3.7K10

    使用LSTM模型预测股价基于Keras

    股票市场的数据由于格式规整和非常容易获得,是作为研究的很好选择。但不要把本文的结论当作理财或交易建议。 本文将通过构建用Python编写的深度学习模型来预测未来股价走势。...虽然预测股票的实际价格非常难,但我们可以建立模型来预测股票价格是上涨还是下跌。本文使用的数据可以在https://github.com/mwitiderrick/stockprice下载。...特征归一化 从以前使用深度学习模型的经验来看,我们需要进行数据归一化以获得最佳的测试表现。本文的例子中,我们将使用Scikit- Learn的MinMaxScaler函数将数据集归一到0到1之间。...的一些模型来构建LSTM 1、顺序初始化神经网络 2、添加一个紧密连接的神经网络层 3、添加长短时记忆层(LSTM) 4、添加dropout层防止过拟合 from keras.models import...然后,我们指定1个单元的输出作为全连接层(Dense layer)。接着,我们使用目前流行的adam优化器编译模型,并用均方误差(mean_squarred_error)来计算误差。

    4.1K20

    Keras中的Embedding层是如何工作的

    在学习的过程中遇到了这个问题,同时也看到了SO中有相同的问题。而keras-github中这个问题也挺有意思的,记录一下。...这个解释很不错,假如现在有这么两句话 Hope to see you soon Nice to see you again 在神经网络中,我们将这个作为输入,一般就会将每个单词用一个正整数代替,这样,上面的两句话在输入中是这样的...[0, 1, 2, 3, 4] [5, 1, 2, 3, 6] 在神经网络中,第一层是 Embedding(7, 2, input_length=5) 其中,第一个参数是input_dim,上面的值是...vector就是下面这个: [[0.7, 1.7], [0.1, 4.2], [1.0, 3.1], [0.3, 2.1], [4.1, 2.0]] 原理上,从keras的那个issue可以看到,在执行过程中实际上是查表...,将输入的整数作为index,去检索矩阵的对应行,并将值取出。

    1.4K40

    如何为Keras中的深度学习模型建立Checkpoint

    深度学习模式可能需要几个小时,几天甚至几周的时间来训练。 如果运行意外停止,你可能就白干了。 在这篇文章中,你将会发现在使用Keras库的Python训练过程中,如何检查你的深度学习模型。...Checkpoint可以直接使用,也可以作为从它停止的地方重新运行的起点。 训练深度学习模型时,Checkpoint是模型的权重。他们可以用来作预测,或作持续训练的基础。...在下面的示例中,模型结构是已知的,并且最好的权重从先前的实验中加载,然后存储在weights.best.hdf5文件的工作目录中。 那么将该模型用于对整个数据集进行预测。...在这篇文章中,你将会发现在使用Keras库的Python训练过程中,如何检查你的深度学习模型。 让我们开始吧。...Checkpoint可以直接使用,也可以作为从它停止的地方重新运行的起点。 训练深度学习模型时,Checkpoint是模型的权重。他们可以用来作预测,或作持续训练的基础。

    14.9K136

    Keras中的多变量时间序列预测-LSTMs

    这在时间预测问题中非常有用,而经典线性方法难以应对多变量预测问题。 在本教程中,您将了解如何在Keras深度学习库中,为多变量时间序列预测开发LSTM模型。...如果你有任何问题: 请看这篇教程:如何在Anaconda中配置Python环境,进行机器学习和深度学习 ---- 1.空气污染预测 该教程中,我们将使用空气质量数据集。...比如: 对风向进行独热向量编码操作 通过差分和季节性调整平稳所有series 把前多个小时的输入作为变量预测该时段的情况 考虑到在学习序列预测问题时,LSTM在时间上使用反向传播,最后一点可能是最重要的...(8760, 1, 8) (8760,) (35039, 1, 8) (35039,) 现在开始定义和拟合LSTM模型 第一个隐藏层中有50个神经元,输出层中有1个神经元用于预测污染情况,输入变量为一小时里的...请记住,Kearas中LSTM的内部状态在每个训练批次结束后重置,所以作为若干天函数的内部状态可能会有作用。

    3.2K41

    Keras的基本使用(1)--创建,编译,训练模型

    Keras 是一个用 Python 编写的,高级的神经网络 API,使用 TensorFlow,Theano 等作为后端。快速,好用,易验证是它的优点。...1)Sequential 模型是多个网络层的线性堆栈,可以从 keras 的模型库中导入 Sequential 模型: from keras.models import Sequential import...)但需要注意的是,数据的 batch大小不应包含在其中 有些 2D 层,可以使用 Dense,指定第一层输入维度 input_dim 来隐含的指定输入数据的 shape,它是一个 Int 类型的数据。...model.summary() 来查看最终的模型的结构 方法二:使用Model()搭建模型 方法一是使用 Sequential() (中文文档中的翻译为:序贯模型)来搭建模型,这里使用Model()(...中文文档中的说明:Keras 函数式模型接口是用户定义多输出模型、非循环有向模型或具有共享层的模型等复杂模型的途径。

    1.3K30

    keras中的损失函数

    损失函数是模型优化的目标,所以又叫目标函数、优化评分函数,在keras中,模型编译的参数loss指定了损失函数的类别,有两种指定方法: model.compile(loss='mean_squared_error...TensorFlow/Theano张量 y_pred: 预测值. TensorFlow/Theano张量,其shape与y_true相同 实际的优化目标是所有数据点的输出数组的平均值。...categorical_crossentropy(y_true, y_pred): return K.categorical_crossentropy(y_true, y_pred) 注意: 当使用...categorical_crossentropy损失时,你的目标值应该是分类格式 (即,如果你有10个类,每个样本的目标值应该是一个10维的向量,这个向量除了表示类别的那个索引为1,其他均为0)。...为了将 整数目标值 转换为 分类目标值,你可以使用Keras实用函数to_categorical: from keras.utils.np_utils import to_categorical categorical_labels

    2.1K20

    keras中的数据集

    数据在深度学习中的重要性怎么说都不为过,无论是训练模型,还是性能调优,都离不开大量的数据。有人曾经断言中美在人工智能领域的竞赛,中国将胜出,其依据就是中国拥有更多的数据。...不过由于这些数据集由不同的组织创建,其格式也各不相同,往往需要针对不同的数据集编写解析代码。 keras作为一个高层次的深度学习框架,提供了友好的用户接口,其内置了一些公共数据集的支持。...这个数据集的数据较老,再加上房价与很多因素有关,不具有通用性。它可用于练习回归算法,对于实际项目的作用有限,如果用它来预测中国的房价,绝对谬之千里。...出于方便起见,单词根据数据集中的总体词频进行索引,这样整数“3”就是数据中第3个最频繁的单词的编码。...作为惯例,“0”不代表特定单词, 加载数据集的代码: from keras.datasets import imdb (x_train, y_train), (x_test, y_test) =

    1.8K30

    Keras 中神经网络模型的 5 步生命周期

    在这篇文章中,您将发现在 Keras 中创建,训练和评估深度学习神经网络的逐步生命周期,以及如何使用训练有素的模型进行预测。...作出预测。 ? Keras 中神经网络模型的5步生命周期 步骤 1.定义网络 第一步是定义您的神经网络。 神经网络在 Keras 中定义为层序列。这些层的容器是 Sequential 类。...这在 Keras 中是一个有用的概念,因为传统上与层相关的关注点也可以拆分并作为单独的层添加,清楚地显示它们在从输入到预测的数据转换中的作用。...例如,可以提取转换来自层中每个神经元的求和信号的激活函数,并将其作为称为激活的层状对象添加到Sequential 中。...摘要 在这篇文章中,您使用 Keras 库发现了深度学习神经网络的 5 步生命周期。 具体来说,你学到了: 如何在 Keras 中为神经网络定义,编译,拟合,评估和预测。

    1.9K30

    【Keras篇】---利用keras改写VGG16经典模型在手写数字识别体中的应用

    一、前述 VGG16是由16层神经网络构成的经典模型,包括多层卷积,多层全连接层,一般我们改写的时候卷积层基本不动,全连接层从后面几层依次向前改写,因为先改参数较小的。...3、我们保留的是除了全连接的所有层。 4、选择数据生成器,在真正使用的时候才会生成数据,加载到内存,前面yield只是做了一个标记 ?  ...代码: # 使用迁移学习的思想,以VGG16作为模板搭建模型,训练识别手写字体 # 引入VGG16模块 from keras.applications.vgg16 import VGG16 # 其次加载其他模块...from keras.datasets import mnist # 加载OpenCV(在命令行中窗口中输入pip install opencv-python),这里为了后期对图像的处理, # 大家使用...这里用include_top = False表明我们迁移除顶层以外的其余网络结构到自己的模型中 # VGG模型对于输入图像数据要求高宽至少为48个像素点,由于硬件配置限制,我们选用48个像素点而不是原来

    2.2K20

    Keras中带LSTM的多变量时间序列预测

    这在时间序列预测中是一个很大的好处,经典的线性方法很难适应多元或多输入预测问题。 在本教程中,您将了解如何在Keras深度学习库中开发用于多变量时间序列预测的LSTM模型。...提供超过1小时的输入时间步。 在学习序列预测问题时,考虑到LSTM使用反向传播的时间,最后一点可能是最重要的。 定义和拟合模型 在本节中,我们将在多元输入数据上拟合一个LSTM模型。...我们将在第一隐层中定义50个神经元,在输出层中定义1个神经元用于预测污染。输入形状将是带有8个特征的一个时间步。 我们将使用平均绝对误差(MAE)损失函数和随机梯度下降的高效Adam版本。...在以前的多个时间步中训练模型所需的更改非常少,如下所示: 首先,调用series_to_supervised()时,必须适当地构造问题。我们将使用3小时的数据作为输入。...北京PM2.5数据集在UCI机器学习库 Keras中长期短期记忆模型的5步生命周期 Python中的长时间短时记忆网络的时间序列预测 Python中的长期短期记忆网络的多步时间序列预测 概要 在本教程中

    46.4K149

    评估Keras深度学习模型的性能

    因此,有一个可靠的方法来评估神经网络和深度学习模型的性能至关重要。 在这篇文章中,你将学到使用Keras评估模型性能的几种方法。 让我们开始吧。 ?...因此,通常使用简单的数据分离将数据分成训练和测试数据集或者训练和验证数据集。 Keras提供了两种方便的方式来评估你的深入学习算法: 1.使用自动验证数据集。 2.使用手动验证数据集。...验证数据集可以通过validation_data参数指定给Keras中的fit()函数。...在下面的例子中,我们使用Python的scikit-learn机器学习库中的StratifiedKFold类,将训练数据集分为10折。...你学到了三种方法,你可以使用Python中的Keras库来评估深度学习模型的性能: 使用自动验证数据集。 使用手动验证数据集。 使用手动k-折交叉验证。

    2.2K80

    tensorflow中keras.models()的使用总结

    但,从设计上希望用户只透过TensorFlow来使用,即tf.keras。 所以在此主要记录一下tf.keras.models的使用。...函数型模型 即利用函数API,从inputs开始,然后指定前向过程,根据输入和输出建立模型。 由于Layer提供了集中函数式的调用方式,通过这种调用构建层与层之间的网络模型。 所以其编程特点: 1....Sequential类通过Layer的input与output属性来维护层之间的关系,构建网络模型; 其中第一层必须是InputLayer或者Input函数构建的张量; image.png 实例 导入和定义...layer就不再赘述,仅在步骤3、4的有所改变,可直接使用Sequential构建顺序模型,即使用add方法直接添加layer。...hide1_layer, hide2_layer, output_layer]) 之后的训练中不要忘记改变model变量。

    6.5K01

    使用Java部署训练好的Keras深度学习模型

    实时预测 现在我们已经在Java中运行了Keras模型,我们可以开始提供模型预测。我们将采用的第一种方法是使用Jetty在Web上设置端点以提供模型预测。...批量预测 Keras模型的另一个用例是批量预测,你可能需要为数百万条记录应用估算值。可以使用Keras模型直接在Python中事先这一点,但此方法的可扩展性受到限制。...在这个例子中,我从我的样本CSV总加载值,而在实践中我通常使用BigQuery作为源和同步的模型预测。...下图显示了来自Keras模型应用程序的示例数据点。 ? BigQuery中的预测结果 将DataFlow与DL4J一起使用的结果是,你可以使用自动扩展基础架构为批量预测评分数百万条记录。...这篇文章展示了,用Python中Keras库训练的神经网络可以使用Java中的DL4J库进行批量和实时的预测

    5.3K40

    在tensorflow2.2中使用Keras自定义模型的指标度量

    使用Keras和tensorflow2.2可以无缝地为深度神经网络训练添加复杂的指标 Keras对基于DNN的机器学习进行了大量简化,并不断改进。...我们在这里讨论的是轻松扩展keras.metrics的能力。用来在训练期间跟踪混淆矩阵的度量,可以用来跟踪类的特定召回、精度和f1,并使用keras按照通常的方式绘制它们。...自tensorflow 2.2以来,添加了新的模型方法train_step和test_step,将这些定制度量集成到训练和验证中变得非常容易。...keras.Sequential)、编译并训练一个顺序模型(处理函数和子类化API的过程非常简单,只需实现上面的函数)。...6左右,但是训练本身是稳定的(情节没有太多跳跃)。 最后,让我们看看混淆矩阵,看看类6发生了什么 ? 在混淆矩阵中,真实类在y轴上,预测类在x轴上。

    2.5K10

    6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现

    90 模型的 Keras 代码: # define model【Vanilla LSTM】 model = Sequential() model.add( LSTM(50, activation='...: X, 70, 75, 145 80, 85, 165 90, 95, 185 模型的 Keras 代码: # define model【Vanilla LSTM】 model = Sequential...: X, [70, 80, 90] 模型的 Keras 代码: # define model【Vanilla LSTM】 model = Sequential() model.add(LSTM(100,...为输出的 y 每次考虑几个时间步 n_features 为输入有几个序列,此例中 = 2,因为输入有 2 个并行序列 和 Univariate 相比: 模型结构的定义中,多了一个 return_sequences...为输出的 y 每次考虑几个时间步 n_features 为输入有几个序列 这里我们和 Multi-Step 的 Encoder-Decoder 相比: 二者的模型结构,只是在最后的输出层参数不同,

    10.4K51

    Keras中神经网络模型的5阶段生命周期

    在这篇文章中,您将了解在Keras中创建,训练和评估深度学习神经网络的模型生命周期的每一步,以及如何使用训练好的模型进行预测。...[jp0j2317q1.png] Keras中神经网络模型的5阶生命周期 第1步 定义网络 第一步是定义你的神经网络。 神经网络在Keras中的本质是一系列堆叠起来的层。...例如,我们可以提取每个层中把各个神经元的输出信号的进行求和的激活函数,并将其作为一个新的层,称为Activation层,再添加到Sequential序列中。...网络可以在训练数据上进行评估,但是这并不能提供关于这个网络预测能力的信息,因为这个网络模型就是在训练数据上建立起来的。 我们可以在另一个在训练时没有用到的数据集上评估网络的性能。...具体来说,你了解到: 如何在Keras中定义,编译,拟合,评估和预测神经网络。 如何为分类和回归问题选择激活函数和配置输出层结构。 如何在Keras开发和运行您的第一个多层感知机模型。

    3.1K90
    领券