深度学习-循环神经网络-RNN实现股价预测-LSTM自动生成文本

news2024/10/7 6:40:58

序列模型(Sequence Model)

image.png
image.png
基于文本内容及其前后信息进行预测
image.png
基于目标不同时刻状态进行预测
image.png
image.png
基于数据历史信息进行预测
序列模型:输入或者输出中包含有序列数据的模型
突出数据的前后序列关系
两大特点:

  1. 输入(输出)元素之间是具有顺序关系。不同的顺序,得到的结果应该是不同的,比如“不吃饭”和“吃饭不”这两个短语意思是不同的
  2. 输入输出不定长。比如文章生成、聊天机器人

循环神经网络(RNN)

image.png
前部序列的信息经处理后,作为输入信息传递到后部序列
任务:
自动寻找语句中的人名:
image.png
词汇数值化:建立一个词汇-数值一一对应的字典,然后把输入词汇转化数值矩阵
image.png
image.png
image.png
字典生成的另外一种方式
image.png

不同类型的RNN模型

RNN常见结构
image.png
image.png
多输入对多输出、维度相同RNN结构
应用:特定信息识别
image.png
应用:情感识别
举例:I feel happy watching the movie
判断:positive
image.png
应用:序列数据生成器
举例:文章生成、音乐生成
image.png
应用:语言翻译

普通RNN结构缺陷

  • 前部序列信息在传递到后部的同时,信息权重下降,导致重要信息丢失
  • 求解过程中梯度消失

需要提高前部特定信息的决策权重
image.png
长短期记忆网络(LSTM)
image.png
image.png
image.png

  • 忘记门:选择性丢弃a与x中不重要的信息
  • 更新门:确定给记忆细胞添加哪些信息
  • 输出门:筛选需要输出的信息

image.png

  • 在网络结构很深(很多层)的情况下,也能保留重要信息
  • 解决了普通RNN求解过程中的梯度消失问题

双向循环神经网络(BRNN)
image.png
做判断时,把后部序列信息也考虑
深层循环神经网络(DRNN)
解决更复杂的序列任务,可以把单层RNN叠起来或者在输出前和普通mlp结构结合使用
image.png

实战准备

实战一:RNN实现股价预测

提取序列数据:

def extract_data(data,slide):
	x=[]
    y=[]
	for i in range(len(data)-slide):
        x.append([a for a in data[i:i+slide]])
        y.append(data[i+slide])
    x=np.array(x)
	x=x.reshape(x.shape[0],x.shape[1],1)
	return x,y

建立普通RNN模型:

from keras.models import Sequential
from keras.layers import Dense,SimpleRNN
model = Sequential()
#增加一个RNN层
model.add(SimpleRNN(units=5,input_shape=(X.shape[1],X.shape[2]),activation='relu'))
#增加输出层
model.add(Dense(units=1,activation='linear'))
model.compile(optimizer='adam',loss='mean_squared_error')

image.png

实战二:LSTM自动生成文本

文本加载:

rew_data = open('flare').read()
# 移除换行字符'\n'
data = rew_data.replace('\n','').replace('\r','')

字符字典建立:

#字符去重
letters = list(set(data))
#建立数字到字符的索引字典
int_to_char = {
   a:b for a,b in enumerate(letters)}
#建立字符到数字的索引字典
char_to_int = {
   b:a for a,b 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1405625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

10分钟入手一套监控系统

写在前面的话 在这里,我将分享一些观测云的小技巧,让您能更好地注册、接入和利用免费额度。 pv每天是2000的免费额度,这里有个技巧,就是支持配置采样率,以1%的采样率来计算,每天也有20万的额度了就是采样设…

【方法】如何把Excel“只读方式”变成可直接编辑?

Excel在“只读方式”下,编辑后是无法直接保存原文件的,那如何可以直接编辑原文件呢?下面来一起看看看吧。 如果Excel设置的是无密码的“只读方式”,那在打开Excel后,会出现对话框,提示“是否以只读方式打开…

CTF CRYPTO 密码学-5

题目名称:山岚 题目描述: 山岚 f5-lf5aa9gc9{-8648cbfb4f979c-c2a851d6e5-c} 解题过程: Step1:根据题目提示栅栏加密 分析 观察给出的密文发现有f、l、a、g等字符有规律的夹杂的密文中间,看出都是每3个字符的第1…

「我在淘天做技术」智能对话新纪元:百万日活对话机器人的 LLM 落地实践

作者:智能小蜜团队 一、前言 阿里小蜜家族(阿里小蜜、店小蜜、万象),从 2015 年发展至今,已经成为了覆盖淘天 P-C(平台-消费者)、B-C(商家-消费者)、P-B(平台…

浅谈公有云、私有云、混合云

云计算有三种形态,分别是私有云、公有云和混合云。以下是它们各自的简介: 私有云(Private Clouds):这种云服务是为一个客户单独使用而构建的,可以提供对数据、安全性和服务质量的最有效控制。公司拥有基础…

随机森林中每个树模型分裂时的特征选取方式

随机森林中每个树模型分裂时的特征选取方式 随机森林中每个树模型的每次分裂都是基于随机选取的特征子集进行分裂的。 具体来说,对于每个决策树,在每个节点的分裂过程中,随机森林算法会从原始特征集合中随机选择一个特征子集,然…

NQA测试机制—UDP Jitter测试

概念 UDP Jitter是以UDP报文为承载,通过记录在报文中的时间戳信息来统计时延、抖动、丢包的一种测试方法。Jitter(抖动时间)是指相邻两个报文的接收时间间隔减去这两个报文的发送时间间隔。 UDP Jitter测试的过程如下: 1. 源端(RouterA)以一定的时间间隔向目的端(Route…

【GitHub项目推荐--Go语言学习指南】【转载】

Go语言学习指南是一份涵盖大部分 Golang 程序员所需要掌握的核心知识,拥有 Go语言教程、Go开源书籍、Go语言入门教程、Go语言学习路线。零基础学习 Go语言、Go编程,首选 GoGuide。 地址:https://github.com/coderit666/GoGuide

惬意上手Python —— 装饰器和内置函数

1. Python装饰器 Python中的装饰器是一种特殊类型的函数,它允许用户在不修改原函数代码的情况下,增加或修改函数的行为。 具体来说,装饰器的工作原理基于Python的函数也是对象这一事实,可以被赋值给变量、作为参数传递给其他函数或者作为其他…

SpringBoot:Bean生命周期自定义初始化和销毁

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、Bean注解指…

什么是EJB?

什么是EJB? EJB (Enterprise JavaBeans) 是一种用于开发企业级应用程序的 Java 服务器端组件模型。它是一种分布式对象架构,用于构建可移植、可伸缩和可事务处理的企业级应用。 EJB 提供了一种将业务逻辑组件化、模块化的方式,使开发人员能够…

【每日一题】2.LeetCode——删除有序数组中的重复项

📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点&…

深度学习(3)--递归神经网络(RNN)和词向量模型Word2Vec

目录 一.递归神经网络基础概念 二.自然语言处理-词向量模型Word2Vec 2.1.词向量模型 2.2.常用模型对比 2.3.负采样方案 2.4.词向量训练过程 一.递归神经网络基础概念 递归神经网络(Recursive Neural Network, RNN)可以解决有时间序列的问题,处理诸如树、图这样…

算法题解析与总结(一)

不含重复字符的最长子字符串 思路 var lengthOfLongestSubstring funtion(s){// 初始化最大值、长度let max 0;let len s.length;let str ;for(let i 0; i < len; i){let index str.indexOf(s[i])if(index ! )}str }二叉树的中序遍历 给定一个二叉树的根节点 roo…

three.js从入门到精通系列教程004 - three.js透视相机(PerspectiveCamera)滚动浏览全景大图

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>three.js从入门到精通系列教程004 - three.js透视相机&#xff08;PerspectiveCamera&#xff09;滚动浏览全景大图</title><script src"js/three.js"&g…

一文读懂JavaScript DOM节点操作(JavaScript DOM节点操作详解)

一、什么是节点 DOM模型是树状结构模型&#xff0c;二组成这棵树的就是一个个点&#xff0c;在网络术语中称之为节点。 节点是一个模型中最基本的组成单位。DOM模型是由一个个节点组成的&#xff0c;DOM节点也有其不同的类型。 二、节点类型 DOM节点分为5种类型&#xff1a;…

eclipse基础操作+基础知识(一)

&#x1f58a;作者 : D. Star. &#x1f4d8;专栏 :JAVA &#x1f606;今日分享 : 电影版–花千骨 背景&#xff1a;eclipse已经安装完成。 eclipse版本&#xff1a;2020.06 tomcat版本&#xff1a;8.5 文章目录 一、进入eclipse二、创建JAVA项目三、创建Web项目1. 打开eclipse…

YTM32的HSM模块在信息安全场景中的应用

YTM32的HSM模块在信息安全场景中的应用 文章目录 YTM32的HSM模块在信息安全场景中的应用引言应用场景&#xff1a;一点点密码学基础硬件&#xff1a;YTM32的信息安全子系统HCU外设模块硬件特性基本的应用操作流程&#xff0c;以计算AES-ECB为例硬件上对处理多块数据上的一些设计…

S7-200 SMART 编程连接故障常见诊断方法

使用 S7-200 SMART PLC 时&#xff0c;您是否遇到过无法下载、上传或监控程序状态的情况&#xff1f;或者通信接口一片空白、编程电缆的驱动不存在、搜索不到 CPU 的 IP 地址、编程软件提示端口被占用等情况…… 本文将针对 S7-200 SMART 无法建立编程连接的情形&#xff0c;从…

架构的演进

1.1单体架构 单体架构也称之为单体系统或者是单体应用。就是一种把系统中所有的功能、模块耦合在一个应用中的架构方式。 存在的问题&#xff1a; 代码耦合&#xff1a;模块的边界模糊、依赖关系不清晰&#xff0c;整个项目非常复杂&#xff0c;每次修改代码都心惊胆战迭代困…