莫烦PYTHON
大家说
赞助
About
教程 ▾
推荐学习顺序
Python基础 ▾
基础
多进程 multiprocessing
多线程 threading
窗口视窗 Tkinter
机器学习 ▾
有趣的机器学习
强化学习 Reinforcement Learning
进化算法 Evolutionary Algorithm
神经网络 ▾
Tensorflow
PyTorch
Theano
Keras
通用机器学习 Scikit-learn
计算机视觉
机器学习实战
数据处理 ▾
数据 Numpy & Pandas
画图 Matplotlib
网页爬虫
提效工具 ▾
Git 版本管理
Linux 简易教学
网站迁移通知:
此老域名不再更新, 莫烦Python 已迁移至新域名 mofanpy.com
近期更新
迁移学习 Transfer Learning
2018-02-03
在上次的动画简介中, 我们大概了解了一些迁移学习的原理和为什么要使用迁移学习. 如果用一句话来概括迁移学习, 那务必就是: 为了偷懒, 在训练好了的模型上接着训练其他内容, 充分使用原模型的理解...
迁移学习 Transfer Learning
2018-02-03
你会发现聪明人都喜欢偷懒, 因为这样的偷懒能帮我们节省大量的时间, 提高效率. 还有一种偷懒是站在巨人的肩膀上. 不仅能看得更远, 还能看到更多. 这也用来表达我们要善于学习先辈的经验, 一个人...
Why?
2018-01-03
其实你身边到处都是爬虫的产物, 比如说搜索引擎 (Google, 百度), 他们能为你提供这么多搜索结果, 也都是因为它们爬了很多信息, 然后展示给你. 再来说一些商业爬虫, 比如爬爬淘宝的同类...
高级爬虫: 高效无忧的 Scrapy 爬虫库
2017-12-30
前面的教程我们已经学会了如何写出自己的爬虫, 轻轻松松就能写出一个高性能的爬虫. 如果你想更高效的开发, 爬取网页, 记录数据库, Scrapy 是值得一推的. 它是一个爬虫的框架, 而不是一个...
高级爬虫: 让 Selenium 控制你的浏览器帮你爬
2017-12-30
Selenium 是为了测试而出生的. 但是没想到到了爬虫的年代, 它摇身一变, 变成了爬虫的好工具. 让我试着用一句话来概括 Seleninm: 它能控制你的浏览器, 有模有样地学人类看网页.
加速爬虫: 异步加载 Asyncio
2017-12-30
之前我一直在想如何用 multiprocessing 或者 threading 加速我的爬虫, 也做过了一些小实验, 确实, 我们看到了不小的效率提升. 但是当我更加深入的时候, 我发现, Py...
加速爬虫: 多进程分布式
2017-12-30
当你看到这里的时候, 说明你已经不满足于自己的爬虫速度, 你想要最求更快, 更便捷的爬虫方法. 你常常会听到用爬虫的人说分布式爬虫. 这就是为了体现便捷和效率而出现的方法. 这一节内容, 我们简...
小练习: 下载美图
2017-12-30
学会爬虫, 关键在于练习, 见多识广, 见多了网页的构造, 才知道怎么爬. 今天我们就来一个小实战, 结合之前学习的 requests 访问和下载功能, 还有 BeautifulSoup, 来下...
下载文件
2017-12-30
从网上下载文件的时候你肯定很开心, 比如说什么电影, pdf, 音乐等. 我们使用爬虫, python 一样也可以做到. 而且做得途径还有很多. 今天我们就来探讨有哪些可行的途径, 之后我们还能...
多功能的 Requests
2017-12-30
之前我们通常使用 Python 的自带模块 urllib, 来提交网页请求. 这个模块能满足我们大部分的需求, 但是为了满足你日益膨胀的其他需求, 比如向网页发送信息, 上传图片等等, 我们还有...
小练习: 爬百度百科
2017-12-29
有了前面几节内容了练习, 我们现在完全有能力爬出你想要的信息了. 看吧, 我说很简单的, 只要你用 Python 打开网页, 用 BeautifulSoup 找准地方, 然后这样循环往复, 就叫...
BeautifulSoup 解析网页: 正则表达
2017-12-29
正则表达式, 是处理文本信息的重要工具, 除了 Python, 在其他的程序语言中, 也有十分重要的地位. 如果将正则表达式 + BeautifulSoup, 岂不是完美中的完美, 哈哈. 我们...
BeautifulSoup 解析网页: CSS
2017-12-29
BeautifulSoup 十分好用, 能快速定位到你需要的网页信息. 上次我们学着使用了 BeautifulSoup, 这次我们将会了解它更强大的功能, 使用 CSS 的 Class 来选择内容.
BeautifulSoup 解析网页: 基础
2017-12-29
上节内容我们了解了网页 (html) 的基本构架, 知道了爬网页就是在这个构架中找到需要的信息. 那么找到需要的信息时, BeautifulSoup 就是一个找信息好帮手. 它能帮你又快有准地找...
了解网页结构
2017-12-29
学习爬虫, 首先要懂的是网页. 支撑起各种光鲜亮丽的网页的不是别的, 全都是一些代码. 这种代码我们称之为 HTML, HTML 是一种浏览器(Chrome, Safari, IE, Firef...
从头开始做一个汽车状态分类器2: 搭建模型
2017-12-14
上次我们已经处理好了需要用到的数据, 这就已经解决了一大堆问题了. 在机器学习/深度学习中, 其实花时间最多的不是训练, 而是数据的预处理. 大多数人都感叹, 如果搭建模型训练花了10分钟, 那...
从头开始做一个汽车状态分类器1: 分析数据
2017-12-14
大家都喜欢看实践, 因为即使学了很多机器学习的知识(比如说在莫烦Python上的很多教程), 我们大多数时候碰到真正的问题却束手无策. 理论与实践结合还是太少太少了. 做这个教程的主要目的就是为...
正则表达式
2017-11-29
正则表达式 (Regular Expression) 又称 RegEx, 是用来匹配字符的一种工具. 在一大串字符中寻找你需要的内容. 它常被用在很多方面, 比如网页爬虫, 文稿整理, 数据筛选...
从头开始做一个机器手臂5 完善测试
2017-11-22
上节我们加上了强化学习的方法, 来测试了一下整个学习的流程. 不过也发现了一些问题, 而这种发现问题的方式也肯定会出现在你的强化学习项目中. 这次我们来看看我是怎么解决自己发现的问题的.
从头开始做一个机器手臂4 加入强化学习算法
2017-11-22
在上节中, 我们的环境已经基本建设完成了, 现在我们需要的就是一个强化学习的学习方法. 学习方法有很多, 而且也分很多类型. 我们需要按照自己环境的要求挑选适合于这个环境的学习方法.
从头开始做一个机器手臂3 写动态环境
2017-11-22
上次我们搭建好了一个静态的环境, 整个环境还没有动起来. 这次我们结合手臂的运动部分和手臂的成像部分来写全整个手臂的摆动规则. 并且通过不断地可视化来测试是否写错.
从头开始做一个机器手臂2 写静态环境
2017-11-22
上次我们已经搭建好了三个主要部分, 包括 main.py, rl.py, env.py. 强化学习最重要的部分之一就是怎样定义你的环境. 做出来一个可视化的模拟环境能大大减轻不可见的负担. 有一...
从头开始做一个机器手臂1 搭建结构
2017-11-22
做这个实践的主要目的就是让我们活学活用, 从0开始搭建一个强化学习框架. 之前我们在强化学习系列教程中学习到了很多强化学习的知识, 了解了各种算法应该怎样运用, 从最简单的 Q-Learning...
自己的云计算, 多电脑共享你云端文件
2017-10-30
云端计算固然方便, 如果让你的电脑上直接显示云端的文件, 是不是更方便呢? 哈哈, 这次我就来探讨一下可行的方式.
AlphaGo Zero 为什么更厉害?
2017-10-23
2016 年, AlphaGo 第一版发表在了 Nature 自然杂志上, 这可是牛逼得不要不要的期刊, 如果有谁能发表一篇期刊去Nature, 哈哈, 保证他下半生衣食无忧. 而如今刚过去一年...
自己的云计算, 把 Linux 当成你的云计算平台
2017-10-16
前面的内容都是为了这次的内容做的铺垫. 所以到了这节, 你已经学会了 Linux 的基本使用, 远程操控. 而现在网上有很多云计算平台. 是不是也想着拥有一个自己的云计算平台? 其实只要你手中有...
怎么样用 TeamViewer 和 VNC 从远程控制电脑
2017-10-16
VNC 或者 Teamviewer 这种工具都是提供你一个可以远程图像化桌面的方式. 他们都是第三方软件. 比如下方是我用 Mac 通过局域网来远程操控可视化的 Linux 界面.
怎么样从手机 (Android安卓/IOS苹果) 通过 SSH 远程 Linux
2017-10-16
像下面这个 Demo 一样, 如果有时候身边没有第二台电脑, 我们完全可以用一台手机来控制你的 Linux. 不管是 iPhone 还是 Android 安卓. 他们都会有很多 SSH 的 ap...
怎么样从 Windows 通过 SSH 远程 Linux
2017-10-16
使用 ssh 远程操作 Linux 我觉得是我用得最多的一种形式了. 我有一台 MacBook pro, 但是我的 Linux 电脑硬件稍微好一点. 所以我很多时候是在 Mac 上写代码, 用 ...
怎么样从 MacOS 或 Linux 通过 SSH 远程 Linux
2017-10-16
使用 ssh 远程操作 Linux 我觉得是我用得最多的一种形式了. 我有一台 MacBook pro, 但是我的 Linux 电脑硬件稍微好一点. 所以我很多时候是在 Mac 上写代码, 用 ...
Linux 文件权限
2017-10-13
在 Linux 中, 权限是一个非常重要的东西. 无时无刻不影响着你的操作. 就像有时候, 你想去百度云下载一些别人分享的文件, 可是你却发现虽然你能看到文件但是你却不能下载, 这就是一种权限....
Linux 基本指令 nano 和 cat
2017-10-12
这次, 我们想要了解的是在 linux 中, 怎么样观看和编辑文件. nano 和 cat 能帮上你的忙.
Linux 基本指令 mkdir, rmdir 和 rm
2017-10-12
这次, 我们想要了解的是在 linux 中, 怎么样创建新文件夹, 移除文件夹, 移除文件.
Linux 基本指令 touch, cp 和 mv
2017-10-12
这次, 我们想要了解的是在 linux 中, 怎么样创建新文件, 复制, 粘贴, 剪切.
Linux 基本指令 ls 和 cd
2017-10-11
Linux 的深度玩家, 基本上都是用 Terminal 和指令 (command) 来超控电脑的. 有些时候甚至你的电脑没有屏幕, 也只能用指令来超控. 比如服务器, 树莓派(raspberr...
给你的 Ubuntu 安装软件
2017-10-11
其实在 Ubuntu 上, 已经有很多安装好的 app 了. 比如已经有火狐浏览器(Firefox), 可替代 Windows Office 的办公套件 (LibreOffice) 等等. 不过...
快速了解 Ubuntu 17.10 基本界面
2017-10-11
安装好了 Linux 的 Ubuntu, 我们就来简单熟悉一下该如何使用这个系统吧. 如果你用过 MacOS, 想必学着使用 Ubuntu 会很简单, 因为他们都是一家人 (Unix 系统).
安装 Ubuntu 17.10
2017-10-11
其实 Linux 不只是一个系统, 他是很多系统的集合, 可以想象成这样, Linux 就是 Android, 而 Android 还有小米的 米UI, 魅族的UI, 锤子的UI, OPPO 的...
Why Linux?
2017-10-11
Linux 是一个开放式的系统, 而且最重要的是! 它是免费的!!免费的!!免费的!!最重要的事说三遍. 正因为他的免费, 开源, 大量的牛逼程序员涌入了 Linux, 他们在使用 Linux ...
Evolution Strategy 强化学习
2017-09-23
上节内容里, 我们见到了使用 NEAT 来进化出一个会立杆子的机器人. 这次, 我们使用另一种进化算法 Evolution Strategy (后面都用简称 ES 代替) 来实现大规模强化学习....
NEAT 强化学习
2017-09-23
我们见到了使用 NEAT 来进化出一个类似于监督学习中的神经网络, 这次我们用 NEAT 来做强化学习 (Reinforcement Learning), 这个强化学习可是没有反向传播的神经网络...
NEAT 监督学习
2017-09-23
我们这次就来实现 NEAT 的算法. 因为 NEAT 相比普通的反向传播神经网络更加复杂. 我也尝试着纯手工编写 NEAT 算法. 可是... 尝试了几天过后, 因为太麻烦了, 我就放弃了. 我...
神经进化
2017-09-23
神经网络在当今是一种迅速发展的机器学习方式, 使用反向传播的神经网络更是被推向了一轮又一轮的高峰, 可是我们的视野请不要被反向传播的神经网络变得狭隘. 因为使用神经网络的机器学习方法还有这么一种...
神经网络进化 (Neuro-Evolution)
2017-09-05
在进化算法这系列的内容中我做了很久铺垫, 现在总算到了最前沿最先进的技术了. 我们知道机器学习, 深度学习很多时候都和神经网络是分不开的. 那将进化和神经网络结合也在近些年有了突破. 你大多数时...
Distributed Proximal Policy Optimization (DPPO) (Tensorflow)
2017-08-28
根据 OpenAI 的官方博客, PPO 已经成为他们在强化学习上的默认算法. 如果一句话概括 PPO: OpenAI 提出的一种解决 Policy Gradient 不好确定 Learning...
Natural Evolution Strategy
2017-08-28
Natural ES 后面简称 NES, 应该就是算一种用适应度诱导的梯度下降法, 如果要我用一句话来概括 NES: 生宝宝, 用好宝宝的梯度辅助找到前进的方向
(1+1)-ES
2017-08-28
(1+1)-ES 是 ES 进化策略的一种形式, 也是众多形式中比较方便有效的一种. 接下来我们来细说他们的类别. 如果要我用一句话来概括 (1+1)-ES: 一个爸爸和一个孩子的战争
进化策略
2017-08-28
进化策略 (Evolution Strategy) 后面都简称 ES. 它和 遗传算法 GA 是好兄弟. 步骤和流程都非常相似. 如果你对遗传算法也感兴趣, 前面几节内容都是有关于遗传算法的. ...
为什么用 Numpy 还是慢, 你用对了吗?
2017-08-22
最近在写代码, 编一个 Python 模拟器, 做 simulation, 好不容易用传说中 Python 里速度最快的计算模块 Numpy 的写好了, 结果运行起来, 出奇的慢! 因为一次si...
进化策略 (Evolution Strategy)
2017-08-19
进化是大自然赋予我们的礼物, 我们也能学习自然界的这份礼物, 将它放入计算机, 让计算机也能用进化来解决问题. 我们接着上回提到的遗传算法, 来说一说另一种使用进化理论的优化模式-进化策略 (E...
Microbial Genetic Algorithm
2017-08-12
说到遗传算法 (GA), 有一点不得不提的是如何有效保留好的父母 (Elitism), 让好的父母不会消失掉. 这也是永远都给自己留条后路的意思. Microbial GA (后面统称 MGA)...
例子 旅行商人问题 (Travel Sales Problem)
2017-08-12
我们在上几节内容中说道 遗传算法 (GA) 算法最主要的就是我们要想明白什么是他的 DNA 和怎么样对个体进行评估 (他们的 Fitness). 这次的旅行商人问题 (之后简称 TSP), 商人...
例子 配对句子
2017-08-12
使用遗传算法的 Python 教学. 接着上节对遗传算法的基本应用, 在这一节中, 我们用通过不同的编码 DNA 方式, 不同的 fitness 定义方式来让程序生成出自己设定的句子来.
遗传算法
2017-08-12
使用 Python 来实现遗传算法的简单教学. 如果让我用一句话概括遗传算法, 在程序里生宝宝, 杀死不乖的宝宝, 让乖宝宝继续生宝宝
进化算法 简介
2017-08-12
进化 Evolution, 可以说是人类历史上伟大的发现之一. 适者生存, 不适者淘汰, 达尔文的进化理论让我们见识到了自己是怎么来的. 那, 现在想象一下, 如果你的程序也能进化, 也用适者生...
遗传算法 (Genetic Algorithm)
2017-08-05
这次我们尝试踏足机器学习中的另外一个领域, 用进化理论来解决复杂的问题. 遗传算法是进化算法的一个分支. 它将达尔文的进化理论搬进了计算机. 所以你会发现在程序中, 我们还时不时出现什么染色体,...
用 Tensorflow 可视化梯度下降
2017-07-01
这一次, 我们想要真正意义上的看到自己手中的模型是怎么样进行梯度下降 (gradient descent) 的. 打个比方就像下面这张图. 红色圆点就是最开始的参数误差. 同时, 我们还可以扩展...
神经网络 梯度下降
2017-06-29
神经网络是当今为止最流行的一种深度学习框架, 他的基本原理也很简单, 就是一种梯度下降机制. 我们今天就来看看这神奇的优化模式吧.学习机器学习的同学们常会遇到这样的图像, 我了个天, 看上去好复...
Tensorflow 2017 更新
2017-06-17
本节内容主要在于如何使用新版的 Tensorflow 来简化之前的代码结构. 具体的代码教程请参考我在 github 当中的 2017 Tensorflow , 里面汇总了所有之前教学视频的内容...
科普: 神经网络的黑盒不黑
2017-06-10
今天我们来说说为了理解神经网络在做什么, 对神经网络这个黑盒的正确打开方式. 当然, 这可不是人类的神经网络, 因为至今我们都还没彻底弄懂人类复杂神经网络的运行方式. 今天只来说说计算机中的人工...
Batch Normalization 批标准化
2017-05-27
批标准化通俗来说就是对每一层神经网络进行标准化 (normalize) 处理, 我们知道对输入数据进行标准化能让机器学习有效率地学习. 如果把每一层后看成这种接受输入数据的模式, 那我们何不 批...
Dropout 缓解过拟合
2017-05-27
过拟合让人头疼, 明明训练时误差已经降得足够低, 可是测试的时候误差突然飙升. 这很有可能就是出现了过拟合现象. 强烈推荐通过这个动画的形式短时间了解什么是过拟合, 怎么解决过拟合. 下面动图就...
GPU 加速运算
2017-05-27
在 GPU 训练可以大幅提升运算速度. 而且 Torch 也有一套很好的 GPU 运算体系. 但是要强调的是: 你的电脑里有合适的 GPU 显卡(NVIDIA), 且支持 CUDA 模块. 请在...
为什么 Torch 是动态的
2017-05-27
听说过 Torch 的人都听说了 torch 是动态的, 那他的动态到底是什么呢? 我们用一个 RNN 的例子来展示一下动态计算到底长什么样. 对比静态动态, 我们就得知道谁是静态的. 在流行的...
科普: 人工神经网络 VS 生物神经网络
2017-05-19
2-30年前, 一想到神经网络, 我们就会想到生物神经系统中数以万计的细胞联结, 将感官和反射器联系在一起的系统. 但是今天, 你可能的第一反应却是.. 电脑 和电脑程序当中的人工神经网络. 昔...
GAN (Generative Adversarial Nets 生成对抗网络)
2017-05-12
GAN 是一个近几年比较流行的生成网络形式. 对比起传统的生成模型, 他减少了模型限制和生成器限制, 他具有有更好的生成能力. 人们常用假钞鉴定者和假钞制造者来打比喻, 但是我不喜欢这个比喻, ...
DQN 强化学习
2017-05-12
Torch 是神经网络库, 那么也可以拿来做强化学习, 你同样也可以用 PyTorch 来实现, 这次我们就举 DQN 的例子, 我对比了我的 Tensorflow DQN 的代码, 发现 Py...
生成对抗网络 (GAN)
2017-05-12
Hello 大家好, 欢迎观看有趣的机器学习系列视频, 今天我们会来说说现在最流行的一种生成网络, 叫做 GAN, 又称生成对抗网络, 也是 Generative Adversarial Net...
AutoEncoder (自编码/非监督学习)
2017-05-11
神经网络也能进行非监督学习, 只需要训练数据, 不需要标签数据. 自编码就是这样一种形式. 自编码能自动分类数据, 而且也能嵌套在半监督学习的上面, 用少量的有标签样本和大量的无标签样本学习. ...
RNN 循环神经网络 (回归)
2017-05-11
循环神经网络让神经网络有了记忆, 对于序列话的数据,循环神经网络能达到更好的效果. 上次我们提到了用 RNN 的最后一个时间点输出来判断之前看到的图片属于哪一类, 这次我们来真的了, 用 RNN...
RNN 循环神经网络 (分类)
2017-05-10
循环神经网络让神经网络有了记忆, 对于序列话的数据,循环神经网络能达到更好的效果. 如果你对循环神经网络还没有特别了解, 请观看几分钟的短动画, RNN 动画简介 和 LSTM 动画简介能让你生...
CNN 卷积神经网络
2017-05-06
卷积神经网络目前被广泛地用在图片识别上, 已经有层出不穷的应用, 如果你对卷积神经网络还没有特别了解, 我制作的 卷积神经网络 动画简介 能让你花几分钟就了解什么是卷积神经网络. 接着我们就一步...
Optimizer 优化器
2017-05-06
这节内容主要是用 Torch 实践 这个 优化器 动画简介 中起到的几种优化器, 这几种优化器具体的优势不会在这个节内容中说了, 所以想快速了解的话, 上面的那个动画链接是很好的去处. 下图就是...
批训练
2017-05-06
Torch 中提供了一种帮你整理你的数据结构的好东西, 叫做 DataLoader, 我们能用它来包装自己的数据, 进行批训练. 而且批训练可以有很多种途径, 详情请见 我制作的 训练优化器 动...
保存提取
2017-05-06
训练好了一个模型, 我们当然想要保存它, 留到下次要用的时候直接提取直接用, 这就是这节的内容啦. 我们用回归的神经网络举例实现保存提取. 我们快速地建造数据, 搭建网络:
快速搭建法
2017-05-06
Torch 中提供了很多方便的途径, 同样是神经网络, 能快则快, 我们看看如何用更简单的方式搭建同样的回归神经网络. 我们先看看之前写神经网络时用到的步骤. 我们用 net1 代表这种方式搭建...
区分类型 (分类)
2017-05-05
这次我们也是用最简单的途径来看看神经网络是怎么进行事物的分类. 我们创建一些假数据来模拟真实的情况. 比如两个二次分布的数据, 不过他们的均值都不一样.
关系拟合 (回归)
2017-05-05
我会这次会来见证神经网络是如何通过简单的形式将一群数据用一条线条来表示. 或者说, 是如何在数据当中找到他们的关系, 然后用神经网络模型来建立一个可以代表他们关系的线条. 我们创建一些假数据来模...
激励函数 (Activation)
2017-05-05
一句话概括 Activation: 就是让神经网络可以描述非线性问题的步骤, 是神经网络变得更强大. 如果还不是特别了解, 我有制作一个动画短片, 浅显易懂的阐述了激励函数的作用. 包懂. To...
变量 (Variable)
2017-05-05
在 Torch 中的 Variable 就是一个存放会变化的值的地理位置. 里面的值会不停的变化. 就像一个裝鸡蛋的篮子, 鸡蛋数会不停变动. 那谁是里面的鸡蛋呢, 自然就是 Torch 的 T...
Torch 或 Numpy
2017-05-05
Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor 放在 GPU 中加速运算 (前提是你有合适的 GPU), 就像 Numpy 会把 array 放在 C...
Pytorch 安装
2017-05-05
PyTorch 暂时只支持 MacOS, Linux. 暂不支持 Windows! (可怜的 Windows 同学们.. 又被抛弃了). 不过说不定像 Tensorflow 一样, 因为 Win...
Why Pytorch?
2017-05-05
PyTorch 是 Torch 在 Python 上的衍生. 因为 Torch 是一个使用 Lua 语言的神经网络库, Torch 很好用, 但是 Lua 又不是特别流行, 所有开发团队将 Lu...
Asynchronous Advantage Actor-Critic (A3C) (Tensorflow)
2017-05-03
一句话概括 A3C: Google DeepMind 提出的一种解决 Actor-Critic 不收敛问题的算法. 它会创建多个并行的环境, 让多个拥有副结构的 agent 同时在这些并行环境上...
Asynchronous Advantage Actor-Critic (A3C)
2017-04-28
今天我们会来说说强化学习中的一种有效利用计算资源, 并且能提升训练效用的算法, Asynchronous Advantage Actor-Critic, 简称 A3C. 我们先说说没什么关系的,...
Deep Deterministic Policy Gradient (DDPG) (Tensorflow)
2017-04-22
一句话概括 DDPG: Google DeepMind 提出的一种使用 Actor Critic 结构, 但是输出的不是行为的概率, 而是具体的行为, 用于连续动作 (continuous ac...
Deep Deterministic Policy Gradient (DDPG)
2017-04-08
今天我们会来说说强化学习中的一种actor critic 的提升方式 Deep Deterministic Policy Gradient (DDPG), DDPG 最大的优势就是能够在连续动作...
Actor Critic (Tensorflow)
2017-04-03
一句话概括 Actor Critic 方法: 结合了 Policy Gradient (Actor) 和 Function Approximation (Critic) 的方法. Actor 基...
Policy Gradients 思维决策 (Tensorflow)
2017-03-21
接着上节内容, 我们来实现 RL_brain 的 PolicyGradient 部分, 这也是 RL 的大脑部分, 负责决策和思考.
Policy Gradients 算法更新 (Tensorflow)
2017-03-21
Policy gradient 是 RL 中另外一个大家族, 他不像 Value-based 方法 (Q learning, Sarsa), 但他也要接受环境信息 (observation), ...
Actor Critic
2017-03-17
今天我们会来说说强化学习中的一种结合体 Actor Critic (演员评判家), 它合并了 以值为基础 (比如 Q learning) 和 以动作概率为基础 (比如 Policy Gradie...
Policy Gradients
2017-03-17
今天我们会来说说强化学习家族中另一类型算法, 叫做 Policy Gradients.强化学习是一个通过奖惩来学习正确行为的机制. 家族中有很多种不一样的成员, 有学习奖惩值, 根据自己认为的...
L1 / L2 正规化 (Regularization)
2017-03-11
我们知道, 过拟合就是所谓的模型对可见的数据过度自信, 非常完美的拟合上了这些数据, 如果具备过拟合的能力, 那么这个方程就可能是一个比较复杂的非线性方程 , 正是因为这里的 x^3 和 x^...
Dueling DQN (Tensorflow)
2017-03-08
只要稍稍修改 DQN 中神经网络的结构, 就能大幅提升学习效果, 加速收敛. 这种新方法叫做 Dueling DQN. 用一句话来概括 Dueling DQN 就是. 它将每个动作的 Q 拆分成...
Prioritized Experience Replay (DQN) (Tensorflow)
2017-03-07
这一次还是使用 MountainCar 来进行实验, 因为这次我们不需要重度改变他的 reward 了. 所以只要是没有拿到小旗子, reward=-1, 拿到小旗子时, 我们定义它获得了 +1...
Double DQN (Tensorflow)
2017-03-07
接下来我们说说为什么会有 Double DQN 这种算法. 所以我们从 Double DQN 相对于 Natural DQN (传统 DQN) 的优势说起. 一句话概括, DQN 基于 Q-le...
OpenAI gym 环境库
2017-02-26
手动编环境是一件很耗时间的事情, 所以如果有能力使用别人已经编好的环境, 可以节约我们很多时间. OpenAI gym 就是这样一个模块, 他提供了我们很多优秀的模拟环境. 我们的各种 RL 算...
DQN 思维决策 (Tensorflow)
2017-02-26
接着上节内容, 我们来定义 DeepQNetwork 的决策和思考部分. 定义完上次的神经网络部分以后, 这次我们来定义其他部分. 包括...
DQN 神经网络 (Tensorflow)
2017-02-26
接着上节内容, 这节我们使用 Tensorflow 如果还不了解 Tensorflow, 这里去往 经典的 Tensorflow 视频教程 来搭建 DQN 当中的神经网络部分 (用来预测 Q 值).
DQN 算法更新 (Tensorflow)
2017-02-26
Deep Q Network 的简称叫 DQN, 是将 Q learning 的优势 和 Neural networks 结合了. 如果我们使用 tabular Q learning, 对于每一...