4 Alice熹爱学习

尚未进行身份认证

做个终身学习者,持续迭代;公众号-极客X养成计划;简书-不会停的蜗牛

等级
TA的排名 2k+

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

LSTM(LongShortTermMemoryNetwork)长短时记忆网络,是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,在时间序列预测问题上面也有广泛的应用。今天我们根据问题的输入输出模式划分,来看一下几种时间序列问题所对应的LSTM模型结构如何实现。1.UnivariateUnivariate是指:input为多个时间步,o...

2019-03-20 19:17:19

代码实例:如何使用 TensorFlow 2.0 Preview

去年8月13日,谷歌宣布“TensorFlow2.0iscoming”,最近几天,谷歌TensorFlow团队刚刚发布了TensorFlow2.0Preview版,可以来这里查看:现在还不是最终版本,而且可能还不太稳定,不过大家都可以开始尝试,并提出建议和反馈,请查看如何提交报告:本文结构:从TensorFlow1.12到TensorFlow2.0pre...

2019-01-14 15:33:36

图解什么是 Transformer

Transformer 是 Google 团队在 17 年 6 月提出的 NLP 经典之作,由 Ashish Vaswani 等人在 2017 年发表的论文 Attention Is All You Need 中提出。Transformer 在机器翻译任务上的表现超过了 RNN,CNN,只用 encoder-decoder 和 attention 机制就能达到很好的效果,最大的优点是可以高效...

2019-01-10 15:09:09

强化学习 8: approximate reinforcement learning

上次提到一个问题,就是如何有效的将交叉熵算法用于很大的数据量的问题上。前面说过,对于骑自行车这种可能只有十个 state,四个 aciton 的小问题上面,交叉熵可以解决,但如果在自动驾驶,或者打游戏上面,它却不行,因为这时我们没有办法再存储一个表格来记录所有可能状态的所有可能行为的概率,因为这可能有几十亿的状态,或者是一个连续空间,是没有办法做记录的。存储这样的表格不仅是不可能的,也是没有效...

2018-11-23 21:00:27

强化学习第7课:交叉熵方法的一些局限性

上次介绍的交叉熵方法,交叉熵方法虽然非常有效,但是也有一些缺点。例如,如果你只尝试100次的话,那么可能会有一些稀少的情况,在这100次中只出现那么一两次。这样的话,会得到一个非常奇怪的概率分布,可能会一直重复某一个行动。也许你可以通过增加实验的次数来改进这个问题,比如说100次增加到10000次,但是如果骑自行车摔倒1万次的话,那会非常疼。这时可以用 smoothing要做的就是在正规化之...

2018-11-23 20:59:25

强化学习第6课:什么是 Crossentropy 方法

上次讲了马尔科夫决策过程,今天让我们来看看要如何求解这个过程?求解方法不止有一个,有一种思路是,我们有一个 policy,即有了行为和状态的概率分布。对其进行初始化,可以是随机的,也可以根据具体问题用一些先验知识初始化。然后想要改进这个 policy,可以通过获得数据,玩几次游戏,不断重复,policy 会随着这个过程调整变得越来越好。符合这个思想的有一个算法叫做: crossentro...

2018-11-23 20:56:53

强化学习第5课:什么是马尔科夫决策过程

在强化学习中,有一个非常常见的决策过程叫马尔克夫决策过程。它和我们前面讲的决策过程是有一样的结构,只不过它会有更多限制。这里同样也有 agent 和环境,只不过还就多了一个状态,用 s 来表示。状态 state 是 agent 可以在环境中所观察到的东西, 然后 agent 可以选择一个行为,并从环境中获得反馈。所有的行为用 a 表示,所有的状态用 s 表示。r 代表 agent 可以获得的...

2018-11-23 20:55:42

强化学习第4课:这些都可以抽象为一个决策过程

上图是一个一般的决策过程,里面包括代理和环境。这个过程有两步,首先你的代理会观察环境的一些特质,有时是传感器感知到的,有些是输入的用户特征。然后代理会选择一个行为,将这个行为反馈给环境。之后代理不仅仅会收到在这个行为下的环境的反馈,同时还以某些方式,影响着环境改变着环境。例如,你不仅收到了用户是否点击了你的横幅广告的反馈,还影响着你的用户基础。图中这条线下面一般我们是没有办法控制的,环...

2018-11-23 20:54:56

强化学习第3课:有些问题就像个赌局

在横幅广告这个任务中,网站就是它的 agent ,是可以采取一些行动的。这个网站可以观察到用户们所浏览的网页,并且能够采取一个行动。它的 action 就是,挑选一个横幅,然后运行网页时就展示这个横幅广告。最后代理会拿到 feedback,就是这个用户是否点击了这个横幅广告。其他的例子,例如药物治疗方面。病人去看医生,医生就是这个 agent,医生观察一些症状,并给出一个治疗方案,然后...

2018-11-23 20:54:17

强化学习第2课:强化学习,监督式学习,非监督式学习的区别

图片来源现在让我们看一下强化学习和其他机器学习方法的对比。在监督式学习中,我们有数据集,还有数据对应的标签。主要的任务是要让预测值尽量接近于这些标签。监督学习还有一个很重要的特点,就是它的数据要满足独立性。这对于使用SGD等算法,需要对数据进行采样时非常重要。而在强化学习中却没有这些假设条件:我们没有数据集,但是我们有一个系统,可以从中取样数据。我们也没有想要得到的结果标签,因为没...

2018-11-23 20:52:44

强化学习第1课:像学自行车一样的强化学习

机器学习算法主要可以分为监督式,非监督式,强化学习三类。在监督式学习中,我们有数据 x 和标签 y。我们想要找到一个函数来连接 x 和 y。可以选择决策树,线性回归等模型,然后训练这些模型使损失函数达到最小。例如我们有一个横幅广告预测点击率的问题:横幅的特征可以是,主题,想要推广的内容,挂在哪个页面,会浏览这个页面的用户的特征。想要预测的变量只有一个,就是用户是否会点击这个横幅广告。这...

2018-11-23 20:52:03

5 分钟入门 Google 最强NLP模型:BERT

BERT(BidirectionalEncoderRepresentationsfromTransformers)10月11日,GoogleAILanguage发布了论文BERT:Pre-trainingofDeepBidirectionalTransformersforLanguageUnderstanding提出的BERT模型在11个NLP任务...

2018-11-23 20:46:53

如何应用 BERT :Bidirectional Encoder Representations from Transformers

上一篇文章介绍了 Google 最新的BERT (Bidirectional Encoder Representations from Transformers) ,这个模型在 11 个 NLP 任务上刷新了纪录。Google 还开源了 BERT 的代码:https://github.com/google-research/bert大家可以下载在维基百科语料上使用 TPU 预训练好的模型,包括...

2018-11-23 20:45:36

用一个小游戏入门深度强化学习

今天我们来用深度强化学习算法 deep Q-learning 玩 CartPole 游戏。强化学习是机器学习的一个重要分支,通过强化学习我们可以创建一个 agent,让它与环境不断地互动,不断试错,自主地从中学习到知识,进而做出决策。如图所示,agent 收到环境的状态 state,做出行动 action,行动后会得到一个反馈,反馈包括奖励 reward 和环境的下一个状态 next_stat...

2018-10-05 03:16:07

什么是 Q-learning

我们以一个迷宫寻宝的游戏为例来看什么是 Q-learning。在这个游戏中,agent 从一个给定的位置开始,即起始状态。 在不穿越迷宫墙壁的前提下,在每个状态时,都可以选择上下左右四个方向走一步,或者原地不动, 上下左右这四个动作的每一个都会将 agent 带到网格的一个新的单元格,即新的状态, 在迷宫中有一个网格处有宝箱,这个网格就是目标状态, 此外,在某些网格处还有一些炸弹, ...

2018-09-15 01:35:58

为什么在优化算法中使用指数加权平均

本文知识点:什么是指数加权平均?为什么在优化算法中使用指数加权平均?β 如何选择?1. 什么是指数加权平均指数加权平均(exponentially weighted averges),也叫指数加权移动平均,是一种常用的序列数据处理方式。它的计算公式如下:其中,θtθtθ_t:为第 t 天的实际观察值,VtVtV_t: 是要代替 θtθtθ_t 的估...

2018-08-05 08:22:02

为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例

本文知识点:什么是 mini-batch 梯度下降mini-batch 梯度下降具体算法为什么需要 mini-batch 梯度下降batch, stochastic ,mini batch 梯度下降的比较如何选择 mini batch 的参数 batch size 呢在 TensorFlow 中应用举例之前写过一篇文章: 如何选择优化器 optimizer里面对 ...

2018-07-30 06:38:30

梯度消失问题与如何选择激活函数

本文结构:什么是梯度消失?梯度消失有什么影响?是什么原因?解决方案有哪些?如何选择激活函数?1. 什么是梯度消失?梯度消失,常常发生在用基于梯度的方法训练神经网络的过程中。当我们在做反向传播,计算损失函数对权重的梯度时,随着越向后传播,梯度变得越来越小,这就意味着在网络的前面一些层的神经元,会比后面的训练的要慢很多,甚至不会变化。2. 有什么...

2018-07-17 00:45:40

cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset

本文结构:将 Logistic 表达为 神经网络 的形式构建模型 导入包获得数据并进行预处理: 格式转换,归一化整合模型: A. 构建模型 a. 初始化参数:w 和 b 为 0b. 前向传播:计算当前的损失c. 反向更新:计算当前的梯度B. 梯度更新求模型参数C. 进行预测绘制学习曲线1. 将 Logistic 表达为 神经网络 的形式本文的目的是要...

2018-06-27 12:38:01

用 TensorFlow.js 在浏览器中训练神经网络

本文结构:什么是TensorFlow.js为什么要在浏览器中运行机器学习算法应用举例:regression和tflearn的代码比较1.什么是TensorFlow.jsTensorFlow.js是一个开源库,不仅可以在浏览器中运行机器学习模型,还可以训练模型。具有GPU加速功能,并自动支持WebGL可以导入已经训练好的模型,也可以在浏览器中重...

2018-06-20 11:17:10

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!