Keras用LSTM字母顺序预测

利用双向LSTM进行数据的预测 双向LSTM 我们为什么要用双向LSTM? 双向卷积神经网络的隐藏层要保存两个值, A 参与正向计算, A’ 参与反向计算。最终的输出值 y 取决于 A 和 A’: 即正向计算时,隐藏层的 s_t 与 s_t-1 有关;反向计算时,隐藏层的 s_t 与 s_t+1 有关 现在们利用tensorflow提供双向LSTM函数来进行手写识别的分类案例,时间序列数据数据的预测也可以通过修改数据集来实现... 阅读详情

这个只是一个LSTM Demo,输入一个字母预测下一个字母。可扩展成数据预测、代码生成、聊天机器人等复杂应用。

import keras as K
import matplotlib.pyplot as plt
import numpy as np
import math

alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'  # 26
# 字符与序号对应的字典
char_to_int = dict((c, i) for i, c in enumerate(alphabet))
int_to_char = dict((i, c) for i, c in enumerate(alphabet))
input_length = 1  # 输入序列长度,训练的步长
input_dim = 1  # 输入维度,输入参数数量
output_length = 1  # 输出序列长度,输出的步长
output_dim = 1  # 输出维度,输出参数数量
dataX = []
dataY = []
# 训练数据集
for i in range(0, len(alphabet) - input_length - output_length + 1, 2):
    seq_in = alphabet[i:i + input_length]
    seq_out = alphabet[i + input_length: i + input_length + output_length]
    dataX+=[[[char_to_int[char]]] for char in seq_in]
    dataY+=[[[char_to_int[char]]] for char in seq_out]
    print(seq_in, '->', seq_out)

dataX=np.array(dataX)
dataY=np.array(dataY)
print('dataX',dataX)
print('dataX',dataX.shape)
print('dataY',dataY)
print('dataY',dataY.shape)

# 定义神经网络结构
input_value = K.Input((input_length, input_dim),
                      name="input")  # 1个时间维度,1个输入参数
print('input_value',input_value.shape)
# LSTM stateful有状态的,一个batch后状态不清空。返回全部序列
x = K.layers.LSTM(32, activation=K.activations.relu,
                  return_sequences=True)(input_value)
print('x',x.shape)
output_value = K.layers.Dense(output_length)(x)
print('output_value',output_value.shape)

model = K.Model(inputs=input_value, outputs=output_value, name="test")
# 编译,定义损失函数
model.compile(K.optimizers.Adadelta(lr=0.5),
                    loss=[K.losses.mean_absolute_error],
                    metrics=[K.metrics.mean_absolute_error])
# 训练
history = model.fit(dataX, dataY, epochs=500, batch_size=1, validation_data=(dataX, dataY))


'''
    对数据绘图
'''
plt.plot(history.history['loss'], label='train')
plt.plot(history.history['val_loss'], label='test')
plt.legend()
plt.show()

for i in range(0,len(alphabet)-1):
    out=model.predict(np.array([i]).reshape((-1,input_length, input_dim)))
    print(int_to_char[i],int_to_char[int(np.round(max(min(out,25),0),0))],out)

 

使用循环长短期记忆网络生成文本 它们特别有用,因为它们可以记住数据中的长期依赖关系,这在处理通常具有跨越多个单词或句子的上下文的文本时至关重要。文本生成是 NLP 的一部分,我们在涉及大量文本数据的数据集上训练模型,我们的 LSTM 模型将使用它来训练模型。:在文本上滑动的步长。注意:下面给出的前两个函数引用自 Keras 的官方文本生成示例的文档。在这里,我们在训练后生成 30 个字符的文本,多样性为 0.5。: 我们存储每个子序列之后的下一个字符,这将是模型的目标输出。:我们定义模型将学习预测的每个输入子序列的长度。 阅读详情

相关推荐

keras 自然语言处理 lstm_seq2seq 案例分析

这部分代码主要是使用Keras构建了一个LSTM Seq2Seq模型,将一个序列映射到另一个序列。简单的说,就是将输入语句翻译成另外一种语言。在该模型中主要分为编码器和解码器两个部分,建议在理解代码和注释后再进行深入学习。

示例和笔记 794

[译]在keras 上实践,通过keras例子来理解lastm循环神经网络

说明:本文是对这篇博文的翻译和实践: Understanding Stateful LSTM Recurrent Neural Networks in Python with Keras 原来优快云上也已经有人翻译过了,但是我觉得翻译得不太好,有一些关键的代码或论述丢掉了,所以我基于这篇blog再翻译一下[doc]正文一个强大而流行的循环神经网络(RNN)的变种是长短期模型网络(LSTM)。它

林学渊的博客 6606

基于LSTM与Django的股票预测系统设计与实现

深度学习在金融时间序列预测中展现出强大潜力,特别是LSTM网络因其优异的时序建模能力成为研究热点。通过结合CNN提取局部特征与Attention机制聚焦关键时段,混合神经网络架构能有效捕捉股价波动的非线性规律。在工程实现层面,Django框架提供了完善的Web开发支持,TensorFlow生态系统则简化了从模型训练到服务的全流程。这种技术组合特别适用于需要处理高频金融数据、实现实时预测的量化分析场景,为构建数据驱动的投资决策辅助系统提供了可靠方案。项目实践表明,合理的特征工程(如技术指标计算)和模型优化(如

dianning8393的博客 291

【LSTM分类】基于白鲸算法优化双向长短期记忆神经网络的数据分类预测附matlab代码 BWO-BiLSTM

白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于2022年提出,该算法模拟了白鲸游泳,觅食和“鲸鱼坠落”行为。在本文中,提出了一种新的基于群体的元启发式算法,其灵感来自白鲸的行为,称为白鲸优化 (BWO),以解决优化问题。BWO中建立了探索、开发和鲸落三个阶段,分别对应成对游泳、猎物和落鲸的行为。BWO中的平衡因子和鲸落概率具有自适应性,对控制探索和开发能力起着重要作用。此外,还引入了 Levy 飞行以增强开发阶段的全局收敛性。

matlab_dingdang的博客 354

LSTM原理与实战:从时间维度拆解门控机制和细胞状态

长短期记忆网络(LSTM)是一种专为建模时序依赖而设计的循环神经网络结构,其核心在于通过遗忘门、输入门、输出门与独立演化的细胞状态C_t,解决标准RNN固有的梯度消失问题。这种‘门控+记忆分离’的设计使模型能选择性保留长期信息,在语音识别、传感器分析、文本生成等任务中保持稳定梯度流与强时序建模能力。理解units参数的本质、return_sequences对输出形状的影响,以及stateful模式下的跨批次状态管理,是工程落地的关键。本文结合Keras实现与手算推演,深入解析LSTM在真实场景中的行为逻辑与

aocaiti5781的博客 418

基于Keras_bert模型的Bert使用与字词预测

Keras_bert学习使用

当回首往事的时候,不会因虚度年华而悔恨,也不会因碌碌无为而羞愧。 2958

keras lstm参数 中_如何用Keras来构建LSTM模型,并且调参

原标题:如何用Keras来构建LSTM模型,并且调参Choosing the right Hyperparameters for a simple LSTM using Keras作者 |Karsten Eckhardt翻译 |涂世文、小Y的彩笔校对 | 邓普斯•杰弗 审核| 酱番梨 整理 | 菠萝妹https://towardsdatascience.com/choosing-the-right...

weixin_39593469的博客 1505

利用RNN及实现字母预测

由于有些数据是与时间序列相关,是可以根据上文预测出下文的。 循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取, 循环核的表示如上图所示, 我们可以设定记忆体的个数改变记忆容量,当记忆体的个数被指定输入Xt,输出Yt维度被指定,周围这些待训练参数的维度也就被限定了。记忆体内存储着每个时刻的状态信息ht,记忆体当前时刻存储的状态信息ht等于当前时刻的输入特征xt乘以矩阵Wxh,加上记忆体上一时刻存储的状态信息ht-1乘以矩阵Whh再加上偏置项bh,它们...

bigData1994pb的博客 1067

Keras实现LSTM

一、先看一个Example 1、描述,输入为一个字母,输出为这个字母的下一个顺序字母 A->B B->C C->D 2、Code import numpy from keras.models import Sequential from keras.layers import Dense from keras.layers import LSTM ...

weixin_30413739的博客 466

使用双向 LSTM 网络的需求预测:使用双向长短期记忆 (biLSTM) 的需求预测-matlab开发

使用双向长短期记忆 (biLSTM) 进行需求预测这是一个回归问题。 在这个问题中,我们想根据过去记录中的 3 个因素来预测未来的需求。 您可以更改选择的数量(过去的记录数量)。 此外,您可以更改输入的数量。 例如,您也可以包括过去的需求,或删除一些输入。

双隐层LSTM和双向LSTM

使用双隐层LSTM模型(DHLSTM)和双向LSTM(Bi-LSTM)模型两种方法,实现MNIST数据集分类

lstm keras 权重 理解_用 Keras 来理解状态 LSTM 递归神经网络

阅读这篇文章后,您将知道:1、如何为序列预测问题开发朴素的LSTM网络。2、如何使用LSTM网络通过批处理和功能仔细管理状态。3、如何在LSTM网络中手动管理状态以进行状态预测。4、用几行代码,通过18个循序渐进的教程和9个项目,探索如何为一系列预测建模问题开发深度学习模型。问题描述:学习字母在本教程中,我们将开发和对比许多不同的LSTM递归神经网络模型。这些比较的上下文将是学习字母的简...

weixin_39846361的博客 358

vasp和ms_武汉理工大学赵焱课题组开发脚本 MS建模一键获取VASP输入文件POSCAR

本文给大家推介并分享一个通过Materials Studio一键获取VASP输入文件POSCAR的脚本,xsd2pos.pl。此脚本是武汉理工大学首席教授赵焱在帮助学生解决VASP计算问题时编写,解决了其他间接非手动获取POSCAR存在的问题,同时也相较于其他方法更为便捷,相信会对从事VASP计算的同行们带来便利。赵焱老师怀着哺育天下学子的情怀,希望给大家分享一下。下文介绍一下它的使用方法以及它所...

weixin_39706367的博客 2286

Tensorflow③ Keras的LSTM和TF的LSTM实现的源码剖析

最近在做可以转成pb模型的RNN/LSTM层的实现细节分析。经过一些分析,发现了在Keras里面常见的keras.layers.LSTM和Tensorflow的tf.contrib.rnn.LSTMCell有一些实现上面的区别。本文将立足于Keras和Tensorflow源码,分别搭建两个简单的一层LSTM的神经网络,验证权重的解析顺序及计算逻辑的正确性。Let’s roll~ 0. 常见的L...

g11d111的博客 9434

保姆级教程:用Kalibr搞定Intel D435i三目(RGB+双目)相机联合标定,附完整ROSbag录制避坑指南

本文详细介绍了如何使用Kalibr工具对Intel D435i三目相机(RGB+双目)进行高精度联合标定,包括硬件准备、ROSbag录制技巧、Kalibr标定实战及结果验证。特别针对实际工程中的常见问题提供了解决方案,帮助开发者提升SLAM和三维重建等应用的精度。

weixin_42524762的博客 405

STM32L431电池供电项目实战:用STOP2模式把功耗降到5uA以下(CubeMX配置详解)

本文详细介绍了如何在STM32L431电池供电项目中利用STOP2模式实现5μA以下的超低功耗设计。通过CubeMX配置、硬件优化和软件策略,成功将农业温湿度监测节点的待机功耗控制在4.7μA,确保CR2032电池供电下3年以上的工作寿命。文章包含完整的低功耗实现路径和实测数据,特别适合物联网边缘设备开发者参考。

weixin_30345577的博客 393

python时间序列如何拟合曲线_【Python】keras使用LSTM拟合曲线

keras生成的网络结构如下图:代码如下:from sklearn.preprocessing import MinMaxScalerfrom keras.models import Sequentialfrom keras.layers import LSTM, Dense, Activationfrom keras.utils.vis_utils import plot_modelimport...

weixin_39917090的博客 1868

【DeepSeek+Office/WPS】智能办公新时代的全新利器

DeepSeek是一家专注于通用人工智能技术研发的中国科技公司,其核心产品DeepSeek-R1是一款开源的推理大模型,专注于复杂任务的高效处理,支持智能对话、文本生成、语义理解、计算推理、代码生成与补全等多种应用场景。作为国产、免费、开源且强大的AI平台,DeepSeek不仅致力于为终端用户提供高质量的智能服务,还为开发者提供了一整套完善的技术解决方案,帮助他们快速构建和部署自己的智能应用。

2303_77200324的博客 2791

TensorFlow搭建循环神经网络:字母单步预测与多步预测、股票预测

Keras搭建循环神经网络,实践字母单步预测与多步预测(one-hot编码与Embedding编码),股票预测。

Explore 1952

SAP CDS View association 的工作原理,与数据库传统 join 操作的区别讲解

笔者前一篇教程,介绍了 SAP CDS View 里如何创建 association:本文就来一一对这些问题进行解答。首先我们来研究如何消费创建好的 SAP CDS View 中的 association 数据。在上图 ABAP Development Tool 里展示的 CDS View 界面,点击 F8 快捷键,进入 Data Preview 即数据预览界面。我们随便选中一条行项目,右键,发现右键菜单里,赫然有一条的菜单项。看来这个功能肯定和 association 相关了。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1002

上位机图像处理和嵌入式模块部署(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 图像处理是现实生活当中很实用的一门技术。工业上一般采用的是机器视觉,以传统算法和光源控制为主,部分采用了深度学习技术。而生活当中,则主要以二维码识别、人脸识别、车牌识别和ocr识别为主,这中间深度学习与AI扮演了很重要的角色。过去,市场上的商业收费软件,主要还是以传统设备厂商提供的上位机软件为主,那这一部分是不是结合最新的npu技术,应该做出一些新的东西出来呢?

嵌入式-老费,一个分享专业嵌入式知识的blog 1334

机器学习之路七:LSTM

RNN训练与BP算法 https://blog.csdn.net/qq_22238533/article/details/79079898 如何简单的理解LSTM https://www.jianshu.com/p/4b4701beba92 LSTM的推导与实现 https://www.cnblogs.com/liujshi/p/6159007.html 有推导 有实现...

W_H_M_2018的博客 1112

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Keras中reset_states对stateful的影响探究

结合reset_states进一步理解stateful

AI量化交易实验室 2491

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

多变量LSTM股价预测:金融时序建模的实战方法论

时间序列预测是量化投资与智能投研的基础能力,其核心在于建模变量间的动态依赖关系。多变量LSTM通过门控机制有效捕捉异步、非线性、长程滞后等复杂时序特征,在金融场景中显著优于单变量ARIMA或静态树模型XGBoost。该技术的价值不仅在于提升预测精度,更在于将业务逻辑(如财报指标、利率周期、搜索热度)结构化嵌入模型,实现可解释的因果推断。典型应用场景包括个股价格趋势预判、事件驱动信号生成及宏观-微观因子联动分析。本文以谷歌(GOOGL)为案例,系统拆解多变量选择、时间对齐、滚动归一化、残差稳定性检验等关键工程

aikunjiao3421的博客 457

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 【Linux笔记】第一节:CentOS7 自定义启动服务
下一篇: 【转】6 种用 LSTM 做时间序列预测的模型结构 - Keras 实现
PPHT-H
博客等级 码龄18年 6254粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PPHT-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值