归一化

BatchNormalization批量归一化

青春壹個敷衍的年華 提交于 2020-02-20 16:13:43
动机: 防止隐层分布多次改变,BN让每个隐层节点的激活输入分布缩小到-1和1之间. 好处: 缩小输入空间,从而降低调参难度;防止梯度爆炸/消失,从而加速网络收敛. BN计算公式: keras.layers.normalization.BatchNormalization(axis=-1,momentum=0.99,epsilon=0.001,center=True,scale=True,beta_initializer='zeros',gamma_initializer='ones',moving_mean_initializer='zeros',moving_variance_initializer='ones',beta_regularizer=None,gamma_regularizer=None,beta_constraint=None,gamma_constraint=None) 参数 axis: 整数,指定要规范化的轴,通常为特征轴。例如在进行 data_format="channels_first 的2D卷积后,一般会设axis=1。 momentum: 动态均值的动量 epsilon:大于0的小浮点数,用于防止除0错误 center: 若设为True,将会将beta作为偏置加上去,否则忽略参数beta scale: 若设为True,则会乘以gamma

机器学习中的离散特征和连续特征

给你一囗甜甜゛ 提交于 2020-02-19 10:36:02
首先了解机器学习中的特征类别:连续型特征和离散型特征 连续性特征: 例子:[4654.1313, 11, 0, 4564654, …] 对于连续特征,在拿到数据后,需要进行两步常规操作: 归一化,将数据缩放到线性放缩到[-1,1]间; 标准化,将数据放缩到均值为0,方差为1。 注: 基于参数的模型或基于距离的模型,都是要进行特征的归一化。 基于树的方法是不需要进行特征的归一化,例如随机森林,bagging 和 boosting等。 离散性特征: 例子:[‘AskReddit’, ‘Jokes’, ‘politics’, ‘explainlikeimfive’, ‘gaming’] 对于离散的特征基本就是按照one-hot(独热)编码,该离散特征有多少取值,就用多少维来表示该特征,或者用其他类型的编码。 来源: CSDN 作者: ODIMAYA 链接: https://blog.csdn.net/ODIMAYA/article/details/104381149

归一化

喜欢而已 提交于 2020-02-19 02:20:42
归一化定义:就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。 方法有如下: 1、线性函数转换,表达式如下:   y=(x-MinValue)/(MaxValue-MinValue)   说明:x、y分别为转换前、后的值,MaxValue、MinValue分 别为样本的最大值和最小值。   2、对数函数转换,表达式如下:   y=log10(x)   说明:以10为底的对数函数转换。   3、反余切函数转换,表达式如下:   y=atan(x)*2/PI   在统计学中,归一化的具体作用是归纳统一样本的统计分布性。归一化在0-1之间是统计的概率分布,归一化在-1--+1之间是统计的坐标分布。 摘自知乎。对于什么类型的数据用哪种归一化方法有待进一步研究。 来源: https://www.cnblogs.com/hanhanzhu000/p/4421315.html

Google老师亲授 TensorFlow2.0 入门到进阶

一曲冷凌霜 提交于 2020-02-18 02:08:53
第1章 Tensorflow简介与环境搭建 本门课程的入门章节,简要介绍了tensorflow是什么,详细介绍了Tensorflow历史版本变迁以及tensorflow的架构和强大特性。并在Tensorflow1.0、pytorch、Tensorflow2.0之间做了对比。最后通过实战讲解了在Google cloud和AWS两个平台上的环境配置。 1-1 课程导学 试看 1-2 Tensorflow是什么 1-3 Tensorflow版本变迁与tf1.0架构 1-4 Tensorflow2.0架构 试看 1-5 Tensorflow&pytorch比较 试看 1-6 Tensorflow环境配置 1-7 Google_cloud无GPU环境搭建 1-8 Google_cloud_远程jupyter_notebook配置 1-9 Google_cloud_gpu_tensorflow配置 1-10 Google_cloud_gpu_tensorflow镜像配置 1-11 AWS云平台环境配置 第2章 Tensorflow keras实战 本门课程的基础章节,详细介绍了如何使用tf.keras进行模型的搭建以及大量的深度学习的理论知识。理论知识包括分类问题、回归问题、损失函数、神经网络、激活函数、dropout、批归一化、深度神经网络、Wide&Deep模型、密集特征、稀疏特征

常见的距离算法和相似度(相关系数)计算方法

三世轮回 提交于 2020-02-15 15:29:27
背景:数据挖掘/机器学习中的术语较多,而且我的知识有限。之前一直疑惑正则这个概念。所以写了篇博文梳理下 摘要:   1.正则化(Regularization)     1.1 正则化的目的      1.2 结构风险最小化(SRM)理论     1.3 L1范数(lasso),L2范数(ridge),ElasticNet     1.4为什么说L1是稀疏的,L2是平滑的?   2.归一化 (Normalization)     2.1归一化的目的     2.1归一化计算方法       2.2.spark ml中的归一化     2.3 python中skelearn中的归一化 知识总结: 1.正则化(Regularization) 1.1 正则化的目的:我的理解就是平衡训练误差与模型复杂度的一种方式,通过加入正则项来避免过拟合(over-fitting)。(可以引入拟合时候的龙格现象,然后引入正则化及正则化的选取,待添加) 1.2 结构风险最小化(SRM)理论:    经验风险最小化 + 正则化项 = 结构风险最小化   经验风险最小化(ERM),是为了让拟合的误差足够小,即:对训练数据的预测误差很小。但是,我们学习得到的模型,当然是希望对未知数据有很好的预测能力(泛化能力),这样才更有意义。当拟合的误差足够小的时候,可能是模型参数较多,模型比较复杂,此时模型的泛化能力一般

神经网络数据预处理,正则化与损失函数

血红的双手。 提交于 2020-02-13 06:09:17
1 数据预处理 关于数据预处理我们有3个常用的符号,数据矩阵 \(X\) ,假设其尺寸是 \([N \times D]\) ( \(N\) 是数据样本的数量, \(D\) 是数据的维度)。 1.1 均值减去 均值减法(Mean subtraction)是预处理最常用的形式。它对数据中每个独立特征减去平均值,从几何上可以理解为在每个维度上都将数据云的中心都迁移到原点。 在numpy中,该操作可以通过代码 \(X-=n p \cdot \operatorname{mean}(X, \text { axis }=0)\) 实现。 而对于图像,更常用的是对所有像素都减去一个值,可以用 \(\mathrm{X}-=\mathrm{np} \cdot \operatorname{mean}(\mathrm{X})\) 实现,也可以在3个颜色通道上分别操作。 1.2 归一化 归一化(Normalization)是指将数据的所有维度都归一化,使其数值范围都近似相等。 有两种常用方法可以实现归一化。 第一种 是先对数据做零中心化(zero-centered)处理,然后每个维度都除以其标准差,实现代码为 \(\mathrm{X} /=\mathrm{np} . \mathrm{std}(\mathrm{X}, \mathrm{axis}=0)\) 。 第二种 是对每个维度都做归一化

特征归一化的必要性

孤街浪徒 提交于 2020-02-11 15:50:10
特征归一化 原因 特征数字差值很大的属性会对计算结果产生很大的影响,当我们认为特征是等权重的时候,因为取值范围不同,因此要进行归一化 例子 time distance weight 1.2 5000 80 1.6 6000 90 1.0 3000 50 例如我们认为,time,distance,weight三个权重是一样的,在做特征分析的时候会明显发现distance对计算结果的影响是最大的。 因此,使用归一化的方法将数值处理到0~1的范围内 最值归一化方法 \(x_{new}\) =( \(x\) - \(x_{min}\) )/( \(x_{max}\) - \(x_{min}\) ) cle<-function(df){ df_new<-(df-min(df))/(max(df)-min(df)) return df_new } 均值方差归一化方法 \(x_{\text {scale}}=\frac{x-x_{\text {mean}}}{s}\) cle<-function(df){ df_new<-(df-mean(df))/std(df) return df_new } python中提供了standardscaler类可以直接对np对象进行归一化 可以参考 来源: https://www.cnblogs.com/gaowenxingxing/p/12295207

图像特征提取三大法宝:HOG特征,LBP特征,Haar特征

喜欢而已 提交于 2020-02-07 04:46:25
图像特征提取三大法宝:HOG特征,LBP特征,Haar特征 (一)HOG特征 1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。 (1)主要思想: 在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。 (2)具体的实现方法是: 首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。 (3)提高性能: 把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contrast-normalized),所采用的方法是:先计算各直方图在这个区间(block)中的密度,然后根据这个密度对区间中的各个细胞单元做归一化

卷积神经网络(CNN)学习笔记

喜你入骨 提交于 2020-02-07 00:42:34
为什么需要卷积神经网络? 全连接神经网络主要存在参数过多不便处理高维数据这两大问题,卷积神经网络是通过 参数共享(卷积核共享),池化降维 来解决上述两个问题。 这个公式很重要,特征图经过卷积之后会是什么维度的数据,全靠它。 最大池化对于纹理特征敏感,均值池化对背景特征敏感。 卷积函数代码跟踪视频理解: 针对不同的输入图片使用不同的卷积核进行卷积并演示其进行卷积后的输出是什么形状,从而把卷积输出公式落实到代码。 池化函数演示跟踪其实也类似,最关键的其实是对tf.reshape(tf.transpose(img), [-1, 16]) 这行代码的理解花费了我一些时间查找其相关API的用法。 另外特别要说明的一点是矩阵数据在TensorFlow中存储和我们正常思维是有区别的如下图所示: 正常思维我们会认为[[1,5],[1,5]]是个特征图,但其实[[1,1],[3,3]]才是特征图,而前面有多少[[[[就表示他是多少维度的数据,如图就是个四维数据。 Cifar图片集分类示例视频 Cifar图片集分类代码的逻辑其实和Mnist多层分类的逻辑是一样的还是哪四步,准备数据,搭建模型,训练模型,使用模型,代码其实就是把卷积函数和池化函数加到了搭建模型中,把原来的全连接层改成了卷积层,学到此处我突然明白 WX+B这个公式为什是深度学习中的通用公式了。 看懂这些代码花了我半天的时间

MATLAB归一化 code

倾然丶 夕夏残阳落幕 提交于 2020-02-05 19:12:19
第一步求得最大值和最小值;第二部求取 归一化的数值 function [y]=guiyiha_gan(x) max=0;min=0; for i=1;length(x) if x(i)>max max=x(i); end if x(i)<min min=x(i); end end for i=1:length(x) x(i)=(x(i)-min)/(max-min); end y=x; end 来源: CSDN 作者: 主攻 链接: https://blog.csdn.net/weixin_42528089/article/details/104185004