自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

aliceyangxi1987的博客

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

原创 机器学习 人工智能 博文链接汇总

[入门问题] [TensorFlow] [深度学习] [好玩儿的算法应用实例] [聊天机器人] [神经网络] [机器学习] [机器学习算法应用实例] [自然语言处理] [数据科学] [Python] [Java] [机器学习-...

2017-05-13 23:41:07 12704 18

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

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

2019-03-20 19:17:19 1356 1

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

去年8月13日,谷歌宣布 “TensorFlow 2.0 is coming”, 最近几天,谷歌 TensorFlow 团队刚刚发布了 TensorFlow 2.0 Preview 版, 可以来这里查看: 现在还不是最终版本,而且可能还不太稳定,不过大家都可以开始尝试,并提出建议和反馈,请查看如何...

2019-01-14 15:33:36 11099 2

原创 图解什么是 Transformer

Transformer 是 Google 团队在 17 年 6 月提出的 NLP 经典之作, 由 Ashish Vaswani 等人在 2017 年发表的论文 Attention Is All You Need 中提出。 Transformer 在机器翻译任务上的表现超过了 RNN,CNN,只用...

2019-01-10 15:09:09 522 0

原创 强化学习 8: approximate reinforcement learning

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

2018-11-23 21:00:27 360 0

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

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

2018-11-23 20:59:25 457 0

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

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

2018-11-23 20:56:53 229 0

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

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

2018-11-23 20:55:42 325 0

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

上图是一个一般的决策过程,里面包括代理和环境。 这个过程有两步,首先你的代理会观察环境的一些特质,有时是传感器感知到的,有些是输入的用户特征。 然后代理会选择一个行为,将这个行为反馈给环境。 之后代理不仅仅会收到在这个行为下的环境的反馈,同时还以某些方式,影响着环境改变着环境。 例如,你不仅收到...

2018-11-23 20:54:56 178 0

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

在横幅广告这个任务中, 网站就是它的 agent ,是可以采取一些行动的。 这个网站可以观察到用户们所浏览的网页,并且能够采取一个行动。 它的 action 就是,挑选一个横幅,然后运行网页时就展示这个横幅广告。 最后代理会拿到 feedback,就是这个用户是否点击了这个横幅广告。 其他的例子,...

2018-11-23 20:54:17 153 0

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

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

2018-11-23 20:52:44 1088 1

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

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

2018-11-23 20:52:03 209 0

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

BERT (Bidirectional Encoder Representations from Transformers) 10月11日,Google AI Language 发布了论文 BERT: Pre-training of Deep Bidirectional Transformers ...

2018-11-23 20:46:53 5160 1

原创 如何应用 BERT :Bidirectional Encoder Representations from Transformers

上一篇文章介绍了 Google 最新的BERT (Bidirectional Encoder Representations from Transformers) ,这个模型在 11 个 NLP 任务上刷新了纪录。 Google 还开源了 BERT 的代码:https://github.com/g...

2018-11-23 20:45:36 1603 0

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

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

2018-10-05 03:16:07 396 0

原创 什么是 Q-learning

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

2018-09-15 01:35:58 941 0

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

本文知识点: 什么是指数加权平均? 为什么在优化算法中使用指数加权平均? β 如何选择? 1. 什么是指数加权平均 指数加权平均(exponentially weighted averges),也叫指数加权移动平均,是一种常用的序列数据处理方式。 它的计算公式如下: 其中...

2018-08-05 08:22:02 2590 0

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

本文知识点: 什么是 mini-batch 梯度下降 mini-batch 梯度下降具体算法 为什么需要 mini-batch 梯度下降 batch, stochastic ,mini batch 梯度下降的比较 如何选择 mini batch 的参数 batch size 呢 在 Tens...

2018-07-30 06:38:30 1662 0

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

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

2018-07-17 00:45:40 3782 0

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

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

2018-06-27 12:38:01 1964 0

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

本文结构: 什么是 TensorFlow.js 为什么要在浏览器中运行机器学习算法 应用举例:regression 和 tflearn 的代码比较 1. 什么是 TensorFlow.js TensorFlow.js 是一个开源库,不仅可以在浏览器中运行机器学习模型,还可以训练模...

2018-06-20 11:17:10 10834 2

原创 LightGBM 如何调参

本文结构: 什么是 LightGBM 怎么调参 和 xgboost 的代码比较 1. 什么是 LightGBM Light GBM is a gradient boosting framework that uses tree based learning algorithm...

2018-06-16 07:58:07 13234 1

原创 SVM 的核函数选择和调参

本文结构: 1. 什么是核函数 2. 都有哪些 & 如何选择 3. 调参 1. 什么是核函数 核函数形式 K(x, y) = <f(x), f(y)>, 其中 x, y 为 n 维,f 为 n 维到 m 维的映射,<...

2018-06-08 08:15:22 22216 0

原创 Logistic Regression 为什么用极大似然函数

1. 简述 Logistic Regression Logistic regression 用来解决二分类问题, 它假设数据服从伯努利分布,即输出为 正 负 两种情况,概率分别为 p 和 1-p, 目标函数 hθ(x;θ) 是对 p 的模拟,p 是个概率,这里用了 p=sigmoid 函数,...

2018-06-01 07:18:41 6563 0

原创 Logistic regression 为什么用 sigmoid ?

假设我们有一个线性分类器: 我们要求得合适的 W ,使 0-1 loss 的期望值最小,即下面这个期望最小: 一对 x y 的 0-1 loss 为: 在数据集上的 0-1 loss 期望值为: 由 链式法则 将概率p变换如下: 为了最小化 R(h),只需要对每个 ...

2018-05-29 08:59:22 2333 0

翻译 AI 在 marketing 上的应用

AI 在 marketing 中有很多应用,例如 搜索,推荐系统,程序化广告,市场预测,语音/文本识别(会话商务),防欺诈,网页设计,商品定价,聊天机器人等。 其中很重要的一个部分叫 audience target,AI 可以应用在这里,可以对顾客和顾客的需求进行精准的定位,找到前20%最有价...

2018-05-28 07:15:47 1995 0

原创 GAN 的 keras 实现

本文结构: 什么是 GAN? 优点? keras 例子? 什么是 GAN?GAN,全称为 Generative Adversarial Nets,直译为生成式对抗网络,是一种非监督式模型。一种应用是生成在原始数据集中不存在的但是却比较合理的数据,还可以拓展一张图片,生成下一帧影像,由简单几笔生成一...

2017-08-23 11:53:09 4488 1

原创 双向 LSTM

本文结构: 为什么用双向 LSTM 什么是双向 LSTM 例子 为什么用双向 LSTM?单向的 RNN,是根据前面的信息推出后面的,但有时候只看前面的词是不够的, 例如,我今天不舒服,我打算__一天。只根据‘不舒服‘,可能推出我打算‘去医院‘,‘睡觉‘,‘请假‘等等,但如果加上后面的‘一天‘,能...

2017-08-11 11:35:45 24559 2

原创 手把手用 IntelliJ IDEA 和 SBT 创建 scala 项目

1. 安装 sbt打开 terminal,检查 java 版本,安装 sbt: http://www.scala-sbt.org/release/docs/Installing-sbt-on-Mac.html$ java -version$ brew install sbt$ sbt about...

2017-07-31 11:42:08 27190 0

原创 attention 机制入门

在下面这两篇文章中都有提到 attention 机制: 使聊天机器人的对话更有营养 如何自动生成文章摘要今天来看看 attention 是什么。下面这篇论文算是在NLP中第一个使用attention机制的工作。他们把attention机制用到了神经网络机器翻译(NMT)上,NMT其实就是一个...

2017-07-28 22:53:31 10904 0

原创 一个 tflearn 情感分析小例子

学习资料: https://www.youtube.com/watch?v=si8zZHkufRY&list=PL2-dafEMk2A7YdKv4XfKpfbTH5z6rEEj3&index=5情感分析, 就是要识别出用户对一件事一个物或一个人的看法、态度,比如一个电影的评论,...

2017-07-27 10:51:50 9191 5

原创 使聊天机器人的对话更有营养

本文结构: 模型效果 模型 模块细节 今天的论文是 《Topic Aware Neural Response Generation》https://arxiv.org/pdf/1606.08340.pdf这篇论文的目的是让聊天机器人的回复更有营养,例如下面这种场景,要尽量避免‘我也是’‘明白了’‘...

2017-07-26 10:42:38 5868 13

原创 使聊天机器人具有个性

本文结构: 模型效果 模型的三个模块 模块细节 今天的论文是 《Assigning Personality/Identity to a Chatting Machine for Coherent Conversation Generation》https://arxiv.org/pdf/1706....

2017-07-18 10:27:52 5578 4

原创 用 Doc2Vec 得到文档/段落/句子的向量表达

本文结构: Doc2Vec 有什么用 两种实现方法 用 Gensim 训练 Doc2Vec Doc2Vec 或者叫做 paragraph2vec, sentence embeddings,是一种非监督式算法,可以获得 sentences/paragraphs/documents 的向量表达,是 w...

2017-07-14 10:13:44 24407 4

原创 用线性判别分析 LDA 降维

本文结构: 什么是 LDA 和 PCA 区别 LDA 降维的计算过程 LDA 降维的例子 1. 什么是 LDA先说判别分析,Discriminant Analysis 就是根据研究对象的各种特征值,判别其类型归属问题的一种多变量统计分析方法。根据判别标准不同,可以分为距离判别、Fisher 判别、...

2017-07-12 11:54:18 5477 0

原创 简述极大似然估计

极大似然估计是一种参数估计的方法。 先验概率是 知因求果,后验概率是 知果求因,极大似然是 知果求最可能的原因。 即它的核心思想是:找到参数 θ 的一个估计值,使得当前样本出现的可能性最大。例如,当其他条件一样时,抽烟者患肺癌的概率是不抽烟者的 5 倍,那么当我们已知现在有个人是肺癌患者,问这...

2017-07-10 10:29:07 2630 0

原创 详解 Stacking 的 python 实现

1. 什么是 stackingstacking 就是当用初始训练数据学习出若干个基学习器后,将这几个学习器的预测结果作为新的训练集,来学习一个新的学习器。2. 代码:例如我们用 RandomForestClassifier, ExtraTreesClassifier, GradientBoosti...

2017-07-09 09:27:20 9355 1

原创 Bagging 简述

本文结构: 基本流程 有放回抽样的好处 Bagging 特点 sklearn 中 Bagging 使用 Bagging 和 Boosting 的区别 bagging:bootstrap aggregating 的缩写。 是一种并行式集成学习方法,可用于二分类,多分类,回归等任务。基本流程: 对一...

2017-07-07 09:25:48 4169 0

原创 什么是 ROC AUC

本文结构: 什么是 ROC? 怎么解读 ROC 曲线? 如何画 ROC 曲线? 代码? 什么是 AUC? 代码? ROC 曲线和 AUC 常被用来评价一个二值分类器的优劣。先来看一下混淆矩阵中的各个元素,在后面会用到:1. ROC :纵轴为 TPR 真正例率,预测为正且实际为正的样本占所有正例样本...

2017-07-04 12:18:15 2297 2

原创 机器学习中常用评估指标汇总

评估指标 Evaluation metrics 可以说明模型的性能,辨别模型的结果。我们建立一个模型后,计算指标,从指标获取反馈,再继续改进模型,直到达到理想的准确度。在预测之前检查模型的准确度至关重要,而不应该建立一个模型后,就直接将模型应用到看不见的数据上。今天先来简单介绍几种回归和分类常用的...

2017-07-03 11:52:28 3663 1

提示
确定要删除当前文章?
取消 删除