标签分类
当前位置:首页 > 程序设计电子书 > 算法电子书网盘下载
强化学习精要:核心算法与TensorFlow实现 强化学习精要:核心算法与TensorFlow实现
码小辫

码小辫 提供上传

资源
34
粉丝
3
喜欢
53
评论
13

    强化学习精要:核心算法与TensorFlow实现 PDF 超清完整版

    算法电子书
    • 发布时间:

    给大家带来的一篇关于算法相关的电子书资源,介绍了关于算法、TensorFlow方面的内容,本书是由电子工业出版社出版,格式为PDF,资源大小87.5 MB,冯超编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.1,更多相关的学习资源可以参阅 程序设计电子书、等栏目。

  • 强化学习精要:核心算法与TensorFlow实现 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1iYVEbXaX5k-E_uNpUO1Zzw
  • 分享码:cxt3
  • 强化学习精要:核心算法与TensorFlow实现

    强化学习精要:核心算法与TensorFlow实现

    内容介绍

    《强化学习精要:核心算法与TensorFlow 实现》用通俗幽默的语言深入浅出地介绍了强化学习的基本算法与代码实现,为读者构建了一个完整的强化学习知识体系,同时介绍了这些算法的具体实现方式。从基本的马尔可夫决策过程,到各种复杂的强化学习算法,读者都可以从本书中学习到。本书除了介绍这些算法的原理,还深入分析了算法之间的内在联系,可以帮助读者举一反三,掌握算法精髓。书中介绍的代码可以帮助读者快速将算法应用到实践中。

    目录

    • 第一部分强化学习入门与基础知识
    • 1 引言2
    • 1 1 强化学习的概念            2
    • 1 1 1 巴浦洛夫的狗      3
    • 1 1 2 俄罗斯方块        4
    • 1 2 站在被实验者的角度看问题           5
    • 1 3 强化学习效果的评估      8
    • 1 3 1 不断试错            8
    • 1 3 2 看重长期回报      8
    • 1 4 强化学习与监督学习      9
    • 1 4 1 强化学习与监督学习的本质   9
    • 1 4 2 模仿学习            10
    • 1 5 强化学习的实验环境      11
    • 1 5 1 Arcade Learning Environment    12
    • 1 5 2 Box2D               12
    • 1 5 3 MuJoCo               13
    • 1 5 4 Gym                 14
    • 1 6 本书的主要内容            15
    • 1 7 参考资料       16
    • 2 数学与机器学习基础17
    • 2 1 线性代数基础              17
    • 2 2 对称矩阵的性质            21
    • 2 2 1 特征值与特征向量             21
    • 2 2 2 对称矩阵的特征值和特征向量              22
    • 2 2 3 对称矩阵的对角化             23
    • 2 3 概率论         24
    • 2 3 1 概率与分布        24
    • 2 3 2 最大似然估计      27
    • 2 4 重要性采样     29
    • 2 5 信息论基础     33
    • 2 6 KL 散度         35
    • 2 7 凸函数及其性质            39
    • 2 8 机器学习的基本概念      41
    • 2 9 机器学习的目标函数      43
    • 2 10 总结             45
    • 3 优化算法47
    • 3 1 梯度下降法     47
    • 3 1 1 什么是梯度下降法             47
    • 3 1 2 优雅的步长        48
    • 3 2 动量算法       53
    • 3 3 共轭梯度法     59
    • 3 3 1 精妙的约束        59
    • 3 3 2 共轭                60
    • 3 3 3 优化步长的确定    63
    • 3 3 4 Gram-Schmidt 方法             64
    • 3 3 5 共轭梯度            65
    • 3 4 自然梯度法     69
    • 3 4 1 基本概念            69
    • 3 4 2 Fisher 信息矩阵    71
    • 3 4 3 自然梯度法目标公式           76
    • 3 5 总结             77
    • 4 TensorFlow 入门78
    • 4 1 TensorFlow 的基本使用方法           78
    • 4 2 TensorFlow 原理介绍      82
    • 4 2 1 创建变量的scope                83
    • 4 2 2 创建一个Variable 背后的故事              89
    • 4 2 3 运算操作            94
    • 4 2 4 tf gradients           96
    • 4 2 5 Optimizer             102
    • 4 2 6 TensorFlow 的反向传播技巧   106
    • 4 2 7 arg_scope 的使用               109
    • 4 3 TensorFlow 的分布式训练               113
    • 4 3 1 基于MPI 的数据并行模型     114
    • 4 3 2 MPI 的实现:mpi_adam          121
    • 4 4 基于TensorFlow 实现经典网络结构   122
    • 4 4 1 多层感知器        122
    • 4 4 2 卷积神经网络      124
    • 4 4 3 循环神经网络      126
    • 4 5 总结             129
    • 4 6 参考资料       129
    • 5 Gym 与Baselines 130
    • 5 1 Gym              130
    • 5 1 1 Gym 的安装        130
    • 5 1 2 Gym 的基本使用方法           132
    • 5 1 3 利用Gym 框架实现一个经典的棋类游戏:蛇棋       134
    • 5 2 Baselines        138
    • 5 2 1 Baselines 中的Python 3 新特性              139
    • 5 2 2 tf_util                 141
    • 5 2 3 对Gym 平台的扩展             142
    • 5 3 总结             144
    • 6 强化学习基本算法145
    • 6 1 马尔可夫决策过程          145
    • 6 1 1 MDP:策略与环境模型         145
    • 6 1 2 值函数与Bellman 公式         147
    • 6 1 3 “表格式”Agent                151
    • 6 2 策略迭代       153
    • 6 2 1 策略迭代法        153
    • 6 2 2 策略提升的证明    159
    • 6 2 3 策略迭代的效果展示           160
    • 6 3 价值迭代       162
    • 6 3 1 N 轮策略迭代      162
    • 6 3 2 从动态规划的角度谈价值迭代              165
    • 6 3 3 价值迭代的实现    167
    • 6 4 泛化迭代       168
    • 6 4 1 两个极端            168
    • 6 4 2 广义策略迭代法    169
    • 6 4 3 泛化迭代的实现    170
    • 6 5 总结             171
    • 第二部分最优价值算法
    • 7 Q-Learning 基础173
    • 7 1 状态转移概率:从掌握到放弃     

    上一篇:Go语言从入门到进阶实战  下一篇:项目管理:计划、进度和控制的系统方法

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    算法相关电子书
    学习笔记
    网友NO.480978

    Tensorflow 同时载入多个模型的实例讲解

    有时我们希望在一个python的文件空间同时载入多个模型,例如 我们建立了10个CNN模型,然后我们又写了一个预测类Predict,这个类会从已经保存好的模型restore恢复相应的图结构以及模型参数。然后我们会创建10个Predict的对象Instance,每个Instance负责一个模型的预测。 Predict的核心为: class Predict: def __init__(self....): 创建sess 创建恢复器tf.train.Saver 从恢复点恢复参数:tf.train.Saver.restore(...) def predict(self,...): sess.run(output,feed_dict={输入}) 如果我们直接轮流生成10个不同的Predict 对象的话,我们发现tensorflow是会报类似于下面的错误: File "/home/jiangminghao/.local/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status pywrap_tensorflow.TF_GetCode(status))tensorflow.python.framework.errors_impl.InvalidArgumentError: Assign requires shapes of both tensors to match. lhs shape= [256,512] rhs shape= [640,512] [[Node: save/Assign_14 = Assign[T=DT_FLOAT, _class=["loc:@fullcont/Variable"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/cpu:0"](fullcont/Variable, save/RestoreV2_14)]]During handling of the above exception, another exception occurred:Traceback (most recent call last): File "PREDICT_WITH_SPARK_DATAFLOW_WA.py", line 121, in module pre2=Predict(label=new_list[1]) File "PREDICT_WITH_SPARK_DATAFLOW_WA.py", line 47, in __init__ se……

    网友NO.736685

    tensorflow实现图像的裁剪和填充方法

    tensorflow里面提供了实现图像进行裁剪和填充的函数,就是tf.image.resize_image_with_crop_or_pad(img,height,width )。img表示需要改变的图像,height是改变后图像的高度,width是宽度。 例如: import matplotlib.pyplot as plt;import tensorflow as tf; image_raw_data_jpg = tf.gfile.FastGFile('11.jpg', 'r').read() with tf.Session() as sess:img_data_jpg = tf.image.decode_jpeg(image_raw_data_jpg)img_data_jpg = tf.image.convert_image_dtype(img_data_jpg, dtype=tf.float32)crop = tf.image.resize_image_with_crop_or_pad(img_data_jpg, 500, 500)pad = tf.image.resize_image_with_crop_or_pad(img_data_jpg, 2000, 2000) plt.figure(1)plt.imshow(crop.eval())plt.figure(2)plt.imshow(pad.eval())plt.show() 结果: 以上这篇tensorflow实现图像的裁剪和填充方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。 ……

    网友NO.494464

    tensorflow实现简单逻辑回归

    逻辑回归是机器学习中很简答的一个栗子,这篇文章就是要介绍如何使用tensorflow实现一个简单的逻辑回归算法。 逻辑回归可以看作只有一层网络的前向神经网络,并且参数连接的权重只是一个值,而非矩阵。公式为:y_predict=logistic(X*W+b),其中X为输入,W为输入与隐含层之间的权重,b为隐含层神经元的偏置,而logistic为激活函数,一般为sigmoid或者tanh, y_predict为最终预测结果。 逻辑回归是一种分类器模型,需要木便函数不断的优化参数,这里目标函数为y_predict与真实标签Y之间的L2距离,使用随机梯度下降算法来更新权重和偏置。 废话不多说,贴代码: # -*- coding:utf-8 -*-#功能: 使用tensorflow实现一个简单的逻辑回归import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt #创建占位符X=tf.placeholder(tf.float32)Y=tf.placeholder(tf.float32) #创建变量#tf.random_normal([1])返回一个符合正太分布的随机数w=tf.Variable(tf.random_normal([1],name='weight'))b=tf.Variable(tf.random_normal([1],name='bias')) y_predict=tf.sigmoid(tf.add(tf.mul(X,w),b))num_samples=400cost=tf.reduce_sum(tf.pow(y_predict-Y,2.0))/num_samples #学习率lr=0.01optimizer=tf.train.AdamOptimizer().minimize(cost) #创建session 并初始化所有变量num_epoch=500cost_accum=[]cost_prev=0#np.linspace()创建agiel等差数组,元素个素为num_samplesxs=np.linspace(-5,5,num_samples)ys=n……

    网友NO.909252

    tensorflow 恢复指定层与不同层指定不同学习率的方法

    如下所示: #tensorflow 中从ckpt文件中恢复指定的层或将指定的层不进行恢复:#tensorflow 中不同的layer指定不同的学习率 with tf.Graph().as_default():#存放的是需要恢复的层参数 variables_to_restore = [] #存放的是需要训练的层参数名,这里是没恢复的需要进行重新训练,实际上恢复了的参数也可以训练 variables_to_train = [] for var in slim.get_model_variables(): excluded = False for exclusion in fine_tune_layers: #比如fine tune layer中包含logits,bottleneck if var.op.name.startswith(exclusion): excluded = True break if not excluded: variables_to_restore.append(var) #print('var to restore :',var) else: variables_to_train.append(var) #print('var to train: ',var) #这里省略掉一些步骤,进入训练步骤: #将variables_to_train,需要训练的参数给optimizer 的compute_gradients函数 grads = opt.compute_gradients(total_loss, variables_to_train) #这个函数将只计算variables_to_train中的梯度 #然后将梯度进行应用: apply_gradient_op = opt.apply_gradients(grads, global_step=global_step) #也可以直接调用opt.minimize(total_loss,variables_to_train) #minimize只是将compute_gradients与apply_gradients封装成了一个函数,实际上还是调用的这两个函数 #如果在梯度里面不同的参数需要不同的学习率,那么可以: capped_grads_and_vars = []#[(MyCapper(gv[0]), gv[1]) for gv in grads_and_vars] #update_gradient_vars是需要更新的参数,使用的是全局……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明