自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 PCA 的数学原理和可视化效果

本文结构:什么是 PCA数学原理可视化效果1. 什么是 PCAPCA (principal component analysis, 主成分分析) 是机器学习中对数据进行降维的一种方法。例如,我们有这样的交易数据,它有这几个特征:(日期, 浏览量, 访客数, 下单数, 成交数, 成交金额),从经验可知,“浏览量”和“访客数”,“下单数”和“成交数”之间会具有较强的相关关系。这种情况下,我们保留

2017-06-30 09:08:24 6358 1

原创 用 Pipeline 将训练集参数重复应用到测试集

当我们对训练集应用各种预处理操作时(特征标准化、主成分分析等等), 我们都需要对测试集重复利用这些参数。pipeline 实现了对全部步骤的流式化封装和管理,可以很方便地使参数集在新数据集上被重复使用。pipeline 可以用于下面几处:模块化 Feature Transform,只需写很少的代码就能将新的 Feature 更新到训练集中。自动化 Grid Search,只要预先设定好使用的

2017-06-28 07:53:06 3415 1

原创 用 Grid Search 对 SVM 进行调参

上一次用了验证曲线来找最优超参数。用验证曲线 validation curve 选择超参数今天来看看网格搜索(grid search),也是一种常用的找最优超参数的算法。网格搜索实际上就是暴力搜索: 首先为想要调参的参数设定一组候选值,然后网格搜索会穷举各种参数组合,根据设定的评分机制找到最好的那一组设置。以支持向量机分类器 SVC 为例,用 GridSearchCV 进行调参:from skle

2017-06-27 06:58:53 26931 4

原创 用验证曲线 validation curve 选择超参数

本文结构:验证曲线的作用?验证曲线是什么?怎么解读?怎么画?验证曲线的作用?我们知道误差由偏差(bias)、方差(variance)和噪声(noise)组成。偏差:模型对于不同的训练样本集,预测结果的平均误差。 方差:模型对于不同训练样本集的敏感程度。 噪声:数据集本身的一项属性。同样的数据(cos函数上的点加上噪声),我们用同样的模型(polynomial),但是超参数却不同(deg

2017-06-23 12:05:52 13553

原创 用学习曲线 learning curve 来判别过拟合问题

本文结构:学习曲线是什么?怎么解读?怎么画?学习曲线是什么?学习曲线就是通过画出不同训练集大小时训练集和交叉验证的准确率,可以看到模型在新数据上的表现,进而来判断模型是否方差偏高或偏差过高,以及增大训练集是否可以减小过拟合。怎么解读?当训练集和测试集的误差收敛但却很高时,为高偏差。 左上角的偏差很高,训练集和验证集的准确率都很低,很可能是欠拟合。 我们可以增加模型参数,比如,构建更多的特

2017-06-22 13:06:46 31302 8

原创 为什么要用交叉验证

本文结构:什么是交叉验证法?为什么用交叉验证法?主要有哪些方法?优缺点?各方法应用举例?什么是交叉验证法?它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。为什么用交叉验证法?交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现,可以在一定程度上减小过拟合。还可以从有限的数据中获取尽可能多的有效信息。主要有哪

2017-06-21 12:09:31 96790 18

原创 详解循环神经网络(Recurrent Neural Network)

今天的学习资料是这篇文章,写的非常详细,有理论有代码,本文是补充一些小细节,可以二者结合看效果更好: https://zybuluo.com/hanbingtao/note/541458在文末有关于 RNN 的文章汇总,之前写的大多是概览式的模型结构,公式,和一些应用,今天主要放在训练算法的推导。本文结构:模型训练算法基于 RNN 的语言模型例子代码实现1. 模型和全连接网络的区别更

2017-06-18 12:18:51 8756 1

原创 按时间轴简述九大卷积神经网络

1998, Yann LeCun 的 LeNet5图像特征分布在整个图像上 在具有很少参数的多个位置上提取类似特征时,具有可学习的参数的卷积是个比较有效的方法 在没有应用GPU的时候,能够保存参数和计算就成了一个关键优势 LeNet5并没有把每个像素都作为大型多层神经网络的一个输入,因为图像是高度空间相关的,如果用了这种方法,就不能很好地利用相关性LeNet5 的主要特征:CNN 主要用这3

2017-06-18 12:18:00 3997 1

原创 详解 LSTM

今天的内容有:LSTM 思路LSTM 的前向计算LSTM 的反向传播关于调参LSTM长短时记忆网络(Long Short Term Memory Network, LSTM),是一种改进之后的循环神经网络,可以解决RNN无法处理长距离的依赖的问题,目前比较流行。长短时记忆网络的思路:原始 RNN 的隐藏层只有一个状态,即h,它对于短期的输入非常敏感。 再增加一个状态,即c,让它来保存长期

2017-06-18 12:17:28 6605

原创 用 LSTM 来做一个分类小问题

用一个简单的例子来看看 LSTM 在 tensorflow 里是如何做分类问题的。这个例子特别简单,就是一个长度为 20 的二进制串,数出其中 1 的个数,简单到用一个 for 就能搞定的事情,来看看 LSTM 是如何做到的。大家可以先在这里停一下,看看你有什么想法呢。import numpy as npfrom random import shuffleinput 一共有 2^20 种组合,就生

2017-06-18 12:16:50 8537

原创 用 LSTM 做时间序列预测的一个小例子

问题:航班乘客预测 数据:1949 到 1960 一共 12 年,每年 12 个月的数据,一共 144 个数据,单位是 1000 下载地址 目标:预测国际航班未来 1 个月的乘客数import numpyimport matplotlib.pyplot as pltfrom pandas import read_csvimport mathfrom keras.models impor

2017-06-18 12:16:13 105831 97

原创 什么是 Dropout

为了应对神经网络很容易过拟合的问题,2014年 Hinton 提出了一个神器, Dropout: A Simple Way to Prevent Neural Networks from Overfitting (original paper: http://jmlr.org/papers/v15/srivastava14a.html)实验结果: dropout 是指在深度学习网络的训练过程

2017-06-18 12:15:27 3455 1

原创 seq2seq 入门

本文结构:什么是 seq2seq?Encoder–Decoder 结构?seq2seq 结构?什么是 seq2seq?seq2seq 是一个 Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列, Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。这个结构最重要的地方在于输入序列和输

2017-06-18 12:14:22 14063

原创 seq2seq 的 keras 实现

上一篇 seq2seq 入门 提到了 cho 和 Sutskever 的两篇论文,今天来看一下如何用 keras 建立 seq2seq。 第一个 LSTM 为 Encoder,只在序列结束时输出一个语义向量,所以其 “return_sequences” 参数设置为 “False”使用 “RepeatVector” 将 Encoder 的输出(最后一个 time step)复制 N 份作为 Deco

2017-06-18 12:13:40 10304 1

原创 CART 分类与回归树

本文结构:CART算法有两步回归树的生成分类树的生成剪枝CART - Classification and Regression Trees分类与回归树,是二叉树,可以用于分类,也可以用于回归问题,最先由 Breiman 等提出。分类树的输出是样本的类别, 回归树的输出是一个实数。CART算法有两步:决策树生成和剪枝。决策树生成:递归地构建二叉决策树的过程,基于训练数据集生成决策树,生成的

2017-06-17 12:06:32 1445

原创 一文了解强化学习

虽然是周末,也保持充电,今天来看看强化学习,不过不是要用它来玩游戏,而是觉得它在制造业,库存,电商,广告,推荐,金融,医疗等与我们生活息息相关的领域也有很好的应用,当然要了解一下了。本文结构:定义和监督式学习, 非监督式学习的区别主要算法和类别应用举例1. 定义强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决 decision making 问题,即自动进行决

2017-06-16 11:50:47 73403 9

原创 如何选择优化器 optimizer

在很多机器学习和深度学习的应用中,我们发现用的最多的优化器是 Adam,为什么呢?下面是 TensorFlow 中的优化器, https://www.tensorflow.org/api_guides/python/train 在 keras 中也有 SGD,RMSprop,Adagrad,Adadelta,Adam 等: https://keras.io/optimizers/我们可以发现除

2017-06-14 12:17:01 44167 10

原创 浅谈 GBDT

在 Xgboost 那篇文章 (Kaggle 神器 xgboost) 中提到了 Gradient Boosted Decision Trees,今天来仔细看看 GBDT。本文结构:什么是 GBDT ?GBDT 与 Adaboost 的区别与联系是什么 ?GBDT 与 Xgboost 的区别是什么?什么是 GBDT?GBDT(Gradient Boosting Decision Tree,梯度

2017-06-10 12:25:11 3014

原创 TensorFlow-11-策略网络

今日资料: 《Tensorflow 实战》-策略网络 代码: https://github.com/awjuliani/DeepRL-Agents/blob/master/Policy-Network.ipynb强化学习是机器学习的一个重要分支,可以解决连续决策的问题。一个强化学习问题,主要包含三个概念,环境状态,行动,奖励, 强化学习的目标就是获得最多的累计奖励。它有很多应用,比如控制机器人

2017-06-09 20:19:06 7990

原创 TensorFlow-10-基于 LSTM 建立一个语言模型

今日资料: https://www.tensorflow.org/tutorials/recurrent 中文版: http://wiki.jikexueyuan.com/project/tensorflow-zh/tutorials/recurrent.html 代码: https://github.com/tensorflow/models/blob/master/tutorials/

2017-06-09 20:18:33 10799 1

原创 关于凸优化

本文结构:凸优化有什么用?什么是凸优化?凸优化有什么用?鉴于本文中公式比较多,先把凸优化的意义写出来吧,就会对它更有兴趣。我们知道在机器学习中,要做的核心工作之一就是根据实际问题定义一个目标函数,然后找到它的最优解。不过求解这种优化的问题其实是很难的,但是有一类问题叫做凸优化问题,我们就可以比较有效的找到全局最优解。例如,SVM 本身就是把一个分类问题抽象为凸优化问题,利用凸优化的各种工具(

2017-06-09 20:17:29 3893 1

原创 Adaboost 算法

本文结构:什么是集成学习?为什么集成的效果就会好于单个学习器?如何生成个体学习器?什么是 Boosting?Adaboost 算法?什么是集成学习集成学习就是将多个弱的学习器结合起来组成一个强的学习器。这就涉及到,先产生一组‘个体学习器’,再用一个策略将它们结合起来。个体学习器可以选择:决策树,神经网络。 集成时可以所有个体学习器属于同一类算法:全是决策树,或全是神经网络;也可以来自不

2017-06-09 20:16:30 2211

原创 Kaggle 神器 xgboost

在 Kaggle 的很多比赛中,我们可以看到很多 winner 喜欢用 xgboost,而且获得非常好的表现,今天就来看看 xgboost 到底是什么以及如何应用。本文结构:什么是 xgboost?为什么要用它?怎么应用?学习资源什么是 xgboost?XGBoost :eXtreme Gradient Boosting 项目地址:https://github.com/dmlc/xgbo

2017-06-09 20:10:07 8677 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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