- 博客(22)
- 收藏
- 关注
原创 激活函数、损失函数及其优化方法总结
1.1 激活函数 关于激活函数,首先要搞清楚的问题是,激活函数是什么,有什么用?不用激活函数可不可以?答案是不可以。激活函数的主要作用是提供网络的非线性建模能力。如果没有激活函数,那么该网络仅能够表达线性映射,此时即便有再多的隐藏层,其整个网络跟单层神经网络也是等价的。因此也可以认为,只有加入了激活函数之后,深度神经网络才具备了分层的非线性映射学习能力。 那么激活函数应该具有什么样的性质呢?...
2019-03-05 15:32:00
1672
原创 深度学习:激活函数的比较和优缺点,sigmoid,tanh,Relu 全方位比较
1、什么是激活函数2、为什么要用3、都有什么激活函数4、sigmoid,Relu,softmax 1. 什么是激活函数 如下图,在神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数,这个函数就是激活函数 Activation Function。2. 为什么要用如果不用激励函数,每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是...
2019-01-22 16:29:19
5708
原创 Word2Vec的原理推导
本章是介绍Word2Vec的原理推导部分,后面还会有基于TensorFlow的Word2Vec代码实现讲解。一、什么是Word2Vec?2013年,Google团队发表了word2vec工具。word2vec工具主要包含两个模型:跳字模型(skip-gram)和连续词袋模型(continuous bag of words,简称CBOW),以及两种高效训练的方法:负采样(negative sa...
2019-01-22 16:21:53
383
1
原创 Python 训练神经网络打乱数据集
index = [i for i in range(len(data))]random.shuffle(index)data = data[index]label = label[index]
2019-01-16 12:27:33
2188
原创 深度学习中数据的拆分打乱
传统的机器学习,即在深度学习流行之前的问题的一般处理流程通常是“预处理->特征变换->分类/回归”。即便现在深度学习似乎要统治业界,但要转换成这样的步骤,也不过是将“特征变换”与“分类/回归”合二为一而已,该做的预处理往往还是要做。《深度学习(Deep Learning Book)》里提过一种对深度学习的诠释思路——深度表示学习,与之类似。但放到现实问题中来看,机器学习只不过是整个...
2019-01-15 18:04:04
2252
2
原创 拉格朗日差值补偿法
from scipy.interpolate import lagrange #导入拉格朗日插值函数 #自定义列向量插值函数 #s为列向量,n为被插值的位置,k为取前后的数据个数,默认为5 def ployinterp_column(s, n, k=5): y = s[list(range(n-k, n)) + list(range(n+1, n+1+k))] #取数 ...
2019-01-10 11:31:03
872
原创 RNN LSTM算法原理简介及Tutorial
LSTM算法原理简介及Tutorial一、背景LSTM(Long Short-Term Memory)算法作为深度学习方法的一种,在介绍LSTM算法之前,有必要介绍一下深度学习(Deep Learning)的一些基本背景。目前在机器学习领域,最大的热点毫无疑问是深度学习,从谷歌大脑(Google Brain)的猫脸识别[1],到ImageNet比赛中深度卷积神经网络的获胜[2],再到Alp...
2019-01-04 18:12:52
1738
原创 梯度下降算法原理介绍
梯度下降法 1、梯度: 在微积分里面,对多元函数参数求偏导数,把求的各参数的偏导数以向量的形式写出来,就是梯度。 梯度向量从几何意义上讲,就是函数变化增加最快的地方,沿着梯度向量的方向更容易找到函数的最大值,沿着向量相反的方向,梯度减小最快,更容易找到函数最小值。 2、梯度下降与梯度上升可以互相转化。求损失函数f(θ)的最小值,用梯度下降法迭代,亦可反过来求损失函数 -f(...
2019-01-04 18:09:25
559
原创 Hive 的 distribute by
Order by 能够预期产生完全排序的结果,但是它是通过只用一个reduce来做到这点的。所以对于大规模的数据集它的效率非常低。在很多情况下,并不需要全局排序,此时可以换成Hive的非标准扩展sort by。Sort by为每个reducer产生一个排序文件。在有些情况下,你需要控制某个特定行应该到哪个reducer,通常是为了进行后续的聚集操作。Hive的distribute by 子句可以做...
2018-12-29 10:24:52
4037
原创 Tensorflow深度学习笔记 4-利用神经网络预测非线性回归示例
本文主要分享一个利用神经网络来预测非线性回归的示例。首先,定义生成我们的测试数据,即y_data = np.square(x_data) + noise,通过x_data的平方再加上噪声来生成y_data.然后,利用神经网络,将x_data作为输入,得到预测值。然后让预测值与y_data做比较,使其差异最小。x_data ==>神经网络中间层==>神经网络输出层==>...
2018-12-25 17:42:03
3260
2
原创 pandas入门 之read_excel()和to_excel()函数解析
前言数据分析时候,需要将数据进行加载和存储,本文主要介绍和excel的交互。read_excel()加载函数为read_excel(),其具体参数如下。read_excel(io, sheetname=0, header=0, skiprows=None, skip_footer=0, index_col=None,names=None, parse_cols=None, parse_...
2018-12-24 10:25:29
17931
原创 Hive日期格式转换用法
1.日期函数UNIX时间戳转日期函数: from_unixtime语法:from_unixtime(bigint unixtime[, stringformat]) 返回值: string说明: 转化UNIX时间戳(从1970-01-0100:00:00 UTC到指定时间的秒数)到当前时区的时间格式举例:hive> select from_unixtime(1323308943,'y...
2018-12-20 12:17:02
785
原创 基于Keras的LSTM多变量时间序列预测
LSTM是一种时间递归神经网络,它出现的原因是为了解决RNN的一个致命的缺陷。原生的RNN会遇到一个很大的问题,叫做The vanishing gradient problem for RNNs,也就是后面时间的节点会出现老年痴呆症,也就是忘事儿,这使得RNN在很长一段时间内都没有受到关注,网络只要一深就没法训练。后来有些大牛们开始使用递归神经网络来对时间关系进行建模。而根据深度学习三大牛的阐述,...
2018-12-20 11:17:22
3300
原创 Python数据分析:手把手教你用Pandas生成可视化图表
大家都知道,Matplotlib 是众多 Python 可视化包的鼻祖,也是Python最常用的标准可视化库,其功能非常强大,同时也非常复杂,想要搞明白并非易事。但自从Python进入3.0时代以后,pandas的使用变得更加普及,它的身影经常见于市场分析、爬虫、金融分析以及科学计算中。作为数据分析工具的集大成者,pandas作者曾说,pandas中的可视化功能比plt更加简便和功能强大。实际...
2018-12-20 11:10:41
8752
原创 sklearn.svm.SVC 调参说明
经常用到sklearn中的SVC函数,这里把文档中的参数翻译了一些,以备不时之需。本身这个函数也是基于libsvm实现的,所以在参数设置上有很多相似的地方。(PS: libsvm中的二次规划问题的解决算法是SMO)。sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, ...
2018-12-19 15:20:19
5830
原创 用LDA处理文本(Python)
一、LDA介绍LDA(Latent Dirichlet Allocation)是一种文档主题生成模型,也称为一个三层贝叶斯概率模型,包含词、主题和文档三层结构。所谓生成模型,就是说,我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。文档到主题服从多项式分布,主题到词服从多项式分布。LDA是一种非监督机器学习技术,可以用来识别...
2018-12-19 12:34:53
1958
原创 结巴分词
1、简介词性(part-of-speech)是词汇基本的语法范畴,通常也称为词类,主要用来描述一个词在上下文的作用。例如,描述一个概念的词就是名词,在下文引用这个名词的词就是代词。有的词性经常会出现一些新的词,例如名词,这样的词性叫做开放式词性。另外一些词性中的词比较固定,例如代词,这样的词性叫做封闭式词性。因为存在一个词对应多个词性的现象,所以给词准确地标注词性并不是很容易。例如,“改革”在...
2018-12-19 12:04:22
913
原创 流、管道和重定向
流Linux shell(比如 Bash)接收或发送序列和字符串流形式的输入或输出。每个字符都独立于与之相邻的字符。字符没有被组织成结构化记录或固定大小的块。不管实际的字符串流进入或来自文件、键盘、显示窗口或其他 I/O 设备,都使用文件 I/O 技术来访问流。Linux shell 使用 3 种标准的 I/O 流,每种流都与一个文件描述符相关联: 1. stdout 是标准输出流,它显示...
2018-12-19 12:02:00
193
原创 Pandas详解之排序和排名
约定:import pandas as pdimport numpy as np12排序和排名根据条件对Series对象或DataFrame对象的值排序(sorting)和排名(ranking)是一种重要的内置运算。 接下来为大家介绍如何使用pandas对象的:sort_index() / sort_values() / rank() 方法。一、对Series排序对Series...
2018-12-18 16:01:50
1603
原创 numpy的ravel() 和 flatten()函数
numpy的ravel() 和 flatten()函数简介首先声明两者所要实现的功能是一致的(将多维数组降位一维)。这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平)。两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是...
2018-12-17 16:25:04
397
翻译 sklearn.preprocessing.Imputer 用法
填补缺失值:sklearn.preprocessing.Imputer(missing_values=’NaN’, strategy=’mean’, axis=0, verbose=0, copy=True)主要参数说明:missing_values:缺失值,可以为整数或NaN(缺失值numpy.nan用字符串‘NaN’表示),默认为NaNstrategy:替换策略,字符串,默认用均值...
2018-12-17 16:20:32
2271
原创 Python机器学习-数据预处理技术 标准化处理、归一化、二值化、独热编码、标记编码总结
数据预处理技术机器是看不懂绝大部分原始数据的,为了让让机器看懂,需要将原始数据进行预处理。引入模块和数据import numpy as npfrom sklearn import preprocessingdata = np.array([[3,-1.5,2,-5.4], [0,4,0.3,2.1], [1,3.3,...
2018-12-17 13:34:56
432
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人