RNN时间序列预测(1)-Tensorflow入门,MNIST学习
来源:互联网 发布:java高并发架构 编辑:程序博客网 时间:2024/05/17 22:24
2.1.1 MNIST数据集
import input_datamnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
数据集为3类:训练、测试、验证
每个MNIST的数据单元由两部分:图片+图片标签
图片:为二维28*28,可展开为向量784
图片标签:假设为0~9,则可将其转化为10维向量,是第i个标签,对应值就是1,其他为0
2.1.2 softmax regression介绍
softmax模型可以用来给不同的对象分配概率
softmax regression 步骤:
(1)对输入被分类对象属于某个类的“证据”相加求和
(2)将此“证据”的和转化为概率
“证据”:
(1)如果图片的像素强有力的体现属于某一个类,则为正,否则为负
(2)额外“证据”引入:Bias(偏置)
目的:希望“证据”代表了与输入无关的判断证据
2.1.3 实现回归模型
由于在运算过程共,如果在python内完成,其资源浪费严重、效率低下。tensorflow可以预先将模型相关的定义,可以用图描述这些可交互的计算操作,然后一起在python外运行。
也就是正常情况下,我们调用定义的函数,一般会在python里直接运行了,但是tensorflow的机制,更像是把函数的调用编程了新的函数证明·声明,存到变量里面,最后同伙特殊的会话操作启动运算。
(1)导入tensorflow:
import tensorflow as tf
(2)通过符号变了存储可交互的操作单元:
x = tf.placeholder("float",[None, 784])
x是一个占位符,定义了2维浮点张量来表示MNIST图像,张量形状[None,784], None表示可以是任意值
(3)定义模型参数权重、偏置
W = tf.Variable(tf.zeros[784, 10])b = tf.Variable(tf.zeros[10])
W和b都是模型需要学习的参数,初始化可以随意设置为0
(4)实现模型
y = tf.nn.softmax(tf.matmul(x,W)+b)
2.1.4 训练模型
(1)模型指标定义
指标用于度量模型的成本(cost)or损失(lost),然后尽量最小化这个指标
经典成本函数:交叉熵(cross-entropy),可以理解为衡量预测值用于描述真想的低效性
交叉熵计算:
y = tf.placeholder("float", [None, 10])cross_entropy = -tf.reduce_sum(y_*tf.log(y))
(2)选择优化方案
Tensorflow拥有一张秒速你各个计算单元的图,可以自动地利用反向传播算法有效地确定你的变量如何影响你想要最小化的那个成本值,它会用你选的优化算法来不断的修改变量,以减低成本
trian_step = tf.train.GrandientDescentOptimizer(0.01).minimize(cross_entropy)0.01 = 学习率
(3)初始化创建的变量
init = tf.initialize_all_variables()
(4)用“会话”模型启动
sess = tf.Session()sess.run(init)
(5)模型训练
for i in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x:batch_xs, y_:batch_ys})
模型训练1000次,每次随机抓取一批处理数据点(100个),用这一批的数据点作为参数,替换之前的占位符来训练train_step
2.1.5 模型评估
(1)检测预测与真值是否匹配
correct_prediction = tf.equal(tf.argmax(y,1), tf.argmax(y_1,1))tf.argmax(y,1) = 代表模型认为最可能的标签tf.argmax(y_,1) = 正确的标签
(2)根据匹配结果布尔,定义正确预测比
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
(3)计算测试集正确率
print sess.run(accuracy, feed_dict={x:mnist.test.images, y_:mnist.test.labels})
- RNN时间序列预测(1)-Tensorflow入门,MNIST学习
- RNN时间序列预测(2)-Tensorflow入门,RNN操作
- Tensorflow入门(MNIST学习)
- 循环神经网络(rnn)的时间序列预测
- TensorFlow MNIST RNN LSTM
- Tensorflow-rnn(mnist分类)
- tensorflow70 《深度学习原理与TensorFlow实战》05 RNN能说会道 01 正弦序列预测
- <二>、TensorFlow之MNIST机器学习入门(1)
- TensorFLow学习(一),Mnist入门
- TensorFlow学习笔记(二)MNIST入门
- tensorflow MNIST机器学习入门
- tensorflow- MNIST机器学习入门
- Tensorflow入门程序MNIST学习
- tensorflow-MNIST机器学习入门
- Tensorflow学习: RNN-LSTM应用于MNIST数据分类
- Tensorflow LSTM时间序列预测的尝试
- Tensorflow LSTM时间序列预测的尝试
- Tensorflow MNIST机器学习入门 分类学习
- vue.js 实现 todo list 任务表单-2
- hdu1162 Eddy's picture 最小生成树 prim
- READING NOTE: FastMask: Segment Multi-scale Object Candidates in One Shot
- 新水手上船
- Java垃圾回收
- RNN时间序列预测(1)-Tensorflow入门,MNIST学习
- LeetCode 141 Linked List Cycle(链表判环)
- C++ 复制字符串/字符数组
- 巧用模板,不仅能提升AS开发效率,还能装逼
- Linux Kernel 学习笔记4:自动创建设备节点
- MongoDB的安装和配置
- 系统延迟及定时机制
- C#中using用法
- fl2440添加USB驱动,并添加ntfs的写入