自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 对列表中的矩阵求和

假设我们有一个由矩阵元素构成的列表,如何非常简便地计算列表中所有矩阵的均值?首先生成两个矩阵:A = matrix(1:9, 3, 3)A     [,1] [,2] [,3][1,]    1    4    7[2,]    2    5    8[3,]    3    6    9B = matrix(1, 3, 3)B [,1] [,2] [,3][1...

2018-11-02 17:13:11 1337

转载 R矩阵运算总结

原文出处:https://www.cnblogs.com/wentingtu/archive/2012/03/30/2425582.html1 矩阵基本操作1.1创建向量R里面有多种方法来创建向量(Vector),最简单的是用函数c()。例如:>X=c(1,2,3,4)>X[1] 1 2 3 4当然,还有别的方法。例如:>X=1:4>X...

2018-10-17 22:23:23 9787 2

转载 R语言中的apply函数族

原文出处:http://blog.fens.me/r-apply/前言刚开始接触R语言时,会听到各种的R语言使用技巧,其中最重要的一条就是不要用循环,效率特别低,要用向量计算代替循环计算。那么,这是为什么呢?原因在于R的循环操作for和while,都是基于R语言本身来实现的,而向量操作是基于底层的C语言函数实现的,从性能上来看,就会有比较明显的差距了。那么如何使用C的函数来实现向量计算...

2018-10-17 22:14:03 11114

原创 数据结构学习笔记:什么是算法?

学习浙大陈越老师数据结构课程,将重点PPT纪录在此,完整ppt见https://mooc.study.163.com/learn/1000033001?tid=2001462004#/learn/content?type=detail&id=2001778302&cid=2001783591。 ...

2018-09-28 10:08:52 263

原创 深度学习笔记(4):1.11 为什么要使用卷积运算?

1.11 为什么要使用卷积(why convolutions?)首先直观上,使用卷积比全连接网络少很多参数,如下图所示:对于32*32*3的图像,令f=5,使用6个filter,参数值为5*5*6+6=156个参数,权重参数个数为5*5*6,偏差为6个,所以是156。但是全连接会产生多少个参数呢?将这两个图片都flatten成向量,分别是3072维和4704维向量,这时使用全连接就会有...

2018-09-27 20:12:02 2080

原创 深度学习笔记(4):1.9 pooling | 1.10 CNN example

1.9 池化层(pooling layers)除了卷积层,卷积神经网络也经常使用池化层来缩减模型大小提高计算速度,同时提高所提取特征的鲁棒性。举个例子来看池化层的必要性,假设用到的池化类型是最大池化(max pooling),如下图所示:也许可以把这个4*4的区域看作是某些特征的集合,也就是神经网络中某一层未使用激活函数之前的值,即Z,数字大意味着可能提取了某些特征,它可能表示垂直...

2018-09-27 11:22:28 519

原创 深度学习笔记(4):1.6-1.8 简单卷积网络

1.6 对立方体做卷积(convolutions over columes)这一小节我们讲对立方体做卷积,图片从2D的灰度图像变为3D的RGB彩色图像,这三层分别对应红绿蓝三个通道,如下图所示:图片规模由6*6变为6*6*3,这三个数字分别表示图片的高、宽和通道的数目(#channels)。图片规模由2D变为3D,filter规模也跟着由2D变为3D的3*3*3,这三个数字表示filt...

2018-09-20 22:34:46 419

原创 Python 字典(Dictionary) __contains__(key)方法

Python 2 中字典(Dictionary) has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。使用如下:   dict.has_key(key)举个栗子:   dict = {'Name':'coco','Sex':'Female'}  # 定义字典                       print(dict.has...

2018-09-20 21:07:19 45745 2

原创 深度学习笔记(4):1.4-1.5:CNN中常用两大基本操作:padding、strided convolutions

1.4 padding 在深度学习中,需要学会的一个基本卷积操作就是padding,padding是什么意思呢?之前未使用padding时,假设我们的图片是6*6的,在使用3*3的filter之后,图片变为4*4的,发现了什么?图片使用卷积操作之后变小了,这还只是使用一次,如果我们在深层网络中需要使用多次呢?可想而知,图片就会变得越来越小,甚至会缩小到1*1,我们当然不希望在识别边缘或...

2018-09-18 22:20:34 4549

原创 深度学习笔记(4):1.1-1.3 边缘检测(edge detection)

第四课开始,我们开始学习卷积神经网络。1.1 计算机视觉(computer vision)深度学习在计算机视觉方面的应用非常振奋人心,一方面是该应用使许多不可能变成了可能,另一方面是深度学习在计算机视觉方面的应用能够给深度学习在其他方面的应用带来一些方法的改进和思考,比如语音识别等。计算机视觉包含哪些问题呢?如下图所示:比如图片分类,判断一个图片是否是猫;或者目标识别,比如在无...

2018-09-17 23:19:20 9645

原创 国立高等经济大学NLP学习笔记(2):语言建模(Language modeling)

这周讲核心的NLP方法。2.1 语言建模:全是计数问题(Language modeling: it's all about counting!)2.1.1 N-gram语言模型(N-gram language models)我们从语言模型开始讲解。什么是语言模型呢?语言模型就是计算序列单词(sequence words)或句子出现概率的模型,我们称之为language models...

2018-08-31 11:42:37 1141

原创 深度学习笔记(3):2.1-2.3 误差分析(error analysis)

2.1 进行误差分析(carrying out error analysis)这一小节我们学习用误差分析来评估某个想法执行的价值。当我们的算法还未达到人类水平时,人工检查一下算法所犯的错误也许可以让你了解接下来干什么,举个例子,如下图所示:假设猫分类器准确率为90%,误差为10%,在错误分类的例子中我们发现有上图中的两类狗图片(乍一看觉得是猫),为了让你的猫分类器在狗图上做得更好,...

2018-08-25 16:11:14 11111 1

原创 深度学习笔记(3):1.8-1.12 同人的表现比较(comparing to human-level performance)

这几小节我们主要介绍人类水平以及将机器学习同人的表现相比较的原因。1.8 为什么是人的表现(why human-level performance)首先是为什么要将机器学习同人的表现相比较,因为我们发现将机器学习同人的表现相比较时,特别是在人类能够做得很好的事情上,比如图片识别、音频识别等,能够大大提高工作效率。为什么这么说呢?用一个图和一些简单的例子来解释一下,如下图所示:假...

2018-08-23 21:34:47 720

原创 国立高等经济大学NLP学习笔记(1):main approaches in NLP(综述)

1.semantic slot filling: CFGcontext-free grammer:it's a rule-based approach rules are manually makedrule-based approach usually has high precision but low recall2.semantic slot filling: CRF...

2018-08-15 22:00:19 310

原创 深度学习笔记(3):1.3-1.7 建立你的目标(setting up your goal)

1.3 单一值评价指标(single number evaluation matric)这一节主要是说对于结果我们希望有一个单一评价指标来决定在多个模型中选择哪个,如下图所示:建立机器学习项目的过程本来就是一个凭借经验不断更新迭代的过程。假设我们现在有两种方案A和B,A的查准率为95%,查全率为90%,而B的查准率为98%,查全率为85%。什么是查准率和查全率简单说一下,查准率就是准确...

2018-08-15 17:29:23 388

原创 深度学习笔记(3):1.1-1.2 机器学习策略介绍

接下来第三课开始介绍机器学习策略(ML strategy)。我自认为第三课是最重要的,相比于其他课程教会我们的是新的知识和原理,这节课交给我们的是从别的地方学习不到的经验,因为它教会了我们在建立机器学习系统时遇到特定问题该如何解决,条理清楚地直至最终建立机器学习系统,避免走弯路。1.1  前言:为什么要学习机器学习策略?这一小节主要告诉我们机器学习策略的重要性。举一个简单的例子,如下图所示...

2018-08-14 11:09:08 293

原创 深度学习笔记(2):3.10-3.11 深度学习框架TensorFlow

3.10 标准:选择深度学习框架的标准现在有越来越多可供使用的深度学习框架,面对这么多的框架,老师提出了一些选择的标准,如下图所示:首先最重要的是要便于编程,比如神经网络的开发、迭代包括对产品进行配置,为了成千上百万甚至上亿用户的实际使用。其次运行的速度要快。最后一个大家一般不太注意,但是需要提醒的是在使用一个框架之前,我们最好了解一下这个框架是不是完全开源的,因为有些公司可能...

2018-08-12 16:30:47 467

原创 深度学习笔记(2):3.8-3.9 softmax回归

3.8 介绍:softmax 回归softmax回归虽然叫‘回归’,但和logistic回归一样,其实是分类问题,和logistic回归不同的是, logistic回归是二分类问题,而softmax回归解决的是多分类问题,如下图所示:假设我们需要学习器将图片分类,1表示猫,2表示狗,3表示小鸡,0表示其他。在softmax回归中,类别数C=4,输出层我们也称为softmax lay...

2018-08-11 17:33:23 433

原创 深度学习笔记(2):3.4-3.7 batch norm(batch normalization)

3.4-3.7小节讲述batch normalization这个方法,包括其思想,使用方法,为什么奏效即测试时作法。3.4 思想:对神经网络每一层标准化(normalizing activations in a network)先前在1.9 标准化输入我们已经讲过标准化输入层是如何提高模型训练速度的,尤其在特征取值差别大时。而batch normalization的思想是希望对每一层节...

2018-08-09 20:51:42 1755

原创 深度学习笔记(2):3.1 参数调试过程 | 3.2 使用适当的尺度选择参数 | 3.3 调参实践

3.1 调试过程(tuning process)在训练神经网络过程中,我们会有很多的超参数需要调试,比如学习率,momentum参数,adam参数、和,神经网络层数(layers),每层神经网络隐藏的神经元(hidden units),如果使用learning rate decay,还会有其他参数,还有mini-batch的大小。但这些参数重要性有区别,如下图所示:红色圈起来的学习...

2018-08-06 20:20:47 528

原创 深度学习笔记(2):2.9 学习率衰减 | 2.10 局部最优问题

2.9 学习率衰减今天来讲一下关于学习率衰减(learning rate decay)的问题。首先说一下为什么要衰减学习率,如下图所示:假设我们使用mini-batch梯度下降法,之前我们已经讲过它的一些特点,比如路径曲折不直接、有噪音(路径曲折不直接和有噪音是一回事)、在最优值附近波动不收敛。也许在刚开始学习时,我们可以承受较大的步长带来的代价,但是随着不断学习至开始收敛时,通过慢慢...

2018-08-04 22:34:21 1467

原创 深度学习笔记(2):2.6 momentum | 2.7 RMSprop | 2.8 Adam

        今天要介绍三种优化算法,momentum,RMSprop和Adam。很多人提出了很多优化算法,但随着越来越多的优化算法提出,大家开始质疑优化算法的效果,因为毕竟有一些优化算法只在小部分上有效果,对于各种各样的神经网络适用范围并不是那么广泛,但是今天介绍的这三种优化算法在大多数的神经网络上都奏效,被大家广泛使用并认为有很好效果。2.6 momentum这一节讲动量梯度下降法(...

2018-08-03 17:42:20 1466 1

原创 深度学习笔记(2):2.3|2.4 指数加权平均及理解 | 2.5 指数加权平均的偏差修正

接下来介绍一些比梯度下降法计算速度更快的优化算法。2.3  指数加权平均为了更好地介绍这些优化算法,这里先介绍一个概念----指数加权平均(exponentially weighted averages),全称为指数加权移动平均(exponentially weighted moving averages)。下图展示的是伦敦一年温度的例子,散点图如下图所示。对该数据拟合曲线,假...

2018-08-02 21:39:03 2447 1

原创 深度学习笔记(2):2.1|2.2 mini-batch梯度下降法及其理解

2.1   mini-batch梯度下降法第二章我们开始学习优化算法,以便于更快地训练神经网络。首先介绍mini-batch梯度下降法,如下图所示:相比于mini-batch梯度下降法,我们大家更熟悉的应该是batch梯度下降法,即梯度下降法。那batch梯度下降法和mini-batch梯度下降法有什么区别吗?其实他俩的区别就存在于名字中,一个是batch,即进行梯度下降训练时,使用全...

2018-07-27 16:26:04 6033

原创 深度学习笔记(2):1.12 梯度的数值逼近 | 1.13 梯度检验 | 1.14 梯度检验实施小tip

        这三小节实质上是在讲如何确保back prop正确实施,即进行back prop时,对参数求导过程是否准确。首先‘1.12 梯度的数值逼近’讲通过怎样的方法,我们可以得到对求导结果一个很好的逼近;‘1.13 梯度检验’告诉我们有了1.12中提出的方法,我们可以使用这个方法去检验参数求导过程是否准确,即检验back prop是否正确实施;‘1.14 梯度检验小tip’则是告诉我们在实...

2018-07-26 17:11:07 1405

原创 深度学习笔记(2):1.11 权重初始化

1.11   权重初始化经过1.10节的分析,我们知道过大或过小的权重设置可能会带来梯度爆炸或消失的问题,严重影响我们计算神经网络的速度,加大神经网络的训练难度。那么应该如何初始化权重呢?如下图所示:我们用单个神经元举例, 这里同样不考虑b的情况(b=0),这时Z=W1X1+W2X2+...+WnXn,当n很大时,我们希望能够存在较小的Wi,以避免Z过大。面对这个问题,我们的直观想法是...

2018-07-26 10:02:04 329

原创 深度学习笔记(2):1.9 标准化输入 | 1.10 梯度消失与爆炸

1.9   标准化输入在数据输入之前,我们先对数据作一个标准化处理,如下图所示:什么是标准化处理呢?对于多维变量,我们希望通过标准化处理能得到变量的每一个特征都满足均值为0,方差为1。假设我们有这样一个例子,每个样本有两个特征(是二维的),方便可视化,如上图最左侧所示,x1的取值跨度明显大于x2的取值跨度(x1方差大于x2方差),首先我们对数据进行中心化处理,即样本的每个特征减去其...

2018-07-24 16:09:33 1018

原创 深度学习笔记(2):1.8 其他正则化方法

这里介绍两种除去L1、L2以及drop-out的其他正则化方法。首先第一种是data augmentation,其本质是通过扩大数据集以减少过拟合,有类似正则化的作用,可以作为正则化方法使用。如下图所示:对于图片,可以通过水平翻转旋转来增大数据集。对于数字,可以通过扭曲和旋转,但其实通常对字符作轻微的变形处理,不像上图中扭曲的那么夸张。除了data augmentation,第二种...

2018-07-23 21:55:41 208

原创 深度学习笔记(2):1.6 dropout正则化 | 1.7 why dose drop-out work?

1.6   dropout正则化dropout又称随机失活,它是通过给定概率随机失活一些节点,让网络更加简单。下面介绍一个最常用的方法:‘inverted dropout’ (反向随机失活)假设我们有一个三层的神经网络,每一层节点keep的概率是0.8,而失活的概率是0.2。该怎么操作呢?想法是按照保留概率,生成一个对应维度的0-1矩阵,1代表这个节点被保留,而0表示这个节...

2018-07-23 21:14:00 896

原创 深度学习笔记(2):1.4 正则化 | 1.5 为什么正则化可以减少过拟合

1.4   正则化 考虑对LR加正则化,我们可以加L1 norm和L2 norm,如下图所示:图来自于吴恩达老师深度学习课程PPT如图所示,我们在cost function上对W添加了正则化(这里不考虑b,假设已经对数据进行了标准化处理)。一范数是指W所有分量(所有系数)的绝对值之和,二范数是指W所有分量的平方和开方,所以二范数的平方为W所有分量的平方和,即W的内积。根据对目标...

2018-07-23 10:50:00 827

原创 Python去掉或保留数据集中的重复行

有的时候我们会遇到这样的情况,数据集中一些列或所有列在某些行上取值相同,我们想要删掉完全重复的行,或者保留这些重复行,仅仅删除与其重复的那些行,那我们该怎么做呢? DataFrame.drop_duplicates(subset = None, keep = 'first')我们处理重复行的想法可以通过DataFrame.drop_duplicates()中的参数完全实现。其中subset这个参数...

2018-07-11 10:42:09 10907

原创 python3将dict转为dataframe

对于定义的字典data = { 'row1' : [1,2,3,4], 'row2' : ['a' , 'b' , 'c' , 'd'] },按照官方文档方法,将其转化为dataframe:不定义列名时:pd.DataFrame.from_dict(data, orient='index')结果如下:         0 1 2 3row1   1 2 3 4row2  a b c d定义列名时:...

2018-07-08 11:38:34 39349 1

原创 使用matplotlib画柱状图

强调这里是指绘制柱状图(bar)而非条形图(hist),即行坐标是离散变量。代码如下:# 引入必要库import matplotlib.pyplot as pltimport numpy as npfig, ax = plt.subplots()x = np.arange(number) # number指行坐标离散变量取值个数plt.bar(x,y)   # y为列坐标取值plt.xticks(...

2018-07-04 21:05:30 493

原创 Python中保存和重载已建好的模型

保存:如果我们想保存不同参数下的xgboost模型以供之后重载使用,且我们将已建好的一个xgb模型命名为model, 我们可以直接使用:model.save_model('0001.model') 或者使用:model.dump_model('dump.raw.txt') # dump model model.dump_model('dump.raw.txt','featmap.txt') # d...

2018-06-30 17:23:32 7120

原创 怎么用Pandas DataFrame统计每一行0值的个数?

这里有两种方法:1. 首先可以通过(df == 0).astype(int).sum(axis=1),举个例子:in[34]:df = pd.DataFrame({'a':[1,0,0,1,3],'b':[0,0,1,0,1],'c':[0,0,0,0,0]})in[35]:dfOut[35]:    a  b  c0  1  0  01  0  0  02  0  1  03  1  0  04...

2018-06-28 17:21:37 30528 3

原创 求栈的容量

题目:设栈S和队列Q,其状态为空,元素a1,a2,a3,a4,a5,a6依次入栈,出栈的元素则进入队列Q,若6个元素出列顺序是a2 ,a3 ,a4 ,a6, a5, a1,则栈的容量至少是()。答案:3解答:栈是后进先出的,队列是先进先出的。出列的顺序是a2 ,a3 ,a4 ,a6, a5, a1,那么出栈的顺序也是a2 ,a3 ,a4 ,a6, a5, a1所以进栈的顺序为:a1,a2,a3,a...

2018-06-01 16:00:54 15743

原创 【kaggle案例实战】实战过程笔记_知识点补充

版权声明:本文为博主原创文章,未经博主允许不得转载。1.在做kaggle比赛时,要注意使用kaggle wiki,kaggle wiki列举了比赛使用的一些评判标准以及历史上使用该评判标准的比赛供我们参考。(tips:将评判标准优化为loss function)2.工业上一些用机器学习的例子:1) 互联网用户行为:CTR预测;2) 销量预测:比如阿里菜鸟对存货数量的预测;3) 图像内容在比赛中一般...

2018-05-27 11:38:51 1480

空空如也

空空如也

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

TA关注的人

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