归一化

机器学习:数据归一化(Scaler)

北战南征 提交于 2019-11-27 18:02:34
数据归一化(Feature Scaling) 一、为什么要进行数据归一化 原则:样本的所有特征,在特征空间中,对样本的距离产生的影响是同级的; 问题:特征数字化后,由于取值大小不同,造成特征空间中样本点的距离会被个别特征值所主导,而受其它特征的影响比较小; 例:特征1 = [1, 3, 2, 6, 5, 7, 9],特征2 = [1000, 3000, 5000, 2000, 4000, 8000, 3000],计算两个样本在特征空间的距离时,主要被特征2所决定; 定义:将所有的数据(具体操作时,对每一组特征数据进行分别处理)映射到同一个尺度中; 归一化的过程,是算法的一部分; 二、数据归一化的方法  1)最值归一化(normalization)   1、思路:把所有数据映射到0~1之间;   2、公式:        # x为数据集中每一种特征的值;    # 将数据集中的每一种特征都做映射;   3、特点:多适用于 分布有明显边界 的情况;如考试成绩、人的身高、颜色的分布等,都有范围;而不是些没有范围约定,或者范围非常大的数据;    # 明显边界:同一特征的数据大小相差不大;不会出现大部分数据在0~200之间,有个别数据在100000左右;   4、缺点:受outlier影响较大;  2)Z-score(standardization)   1、思路:把所有数据归一到均值为

数据预处理--标准化/归一化

ε祈祈猫儿з 提交于 2019-11-27 18:02:17
1. fit--transform--fit_transform区别 fit原义指的是使适合的意思,其实有点train的含义但是和train不同的是,它并不是一个训练的过程,而是一个适配的过程,过程都是定死的,最后只是得到了一个统一的 转换的规则模型 。 transform:是 将数据进行转换 ,比如数据的归一化和标准化,将测试数据按照训练数据同样的模型进行转换,得到特征向量。 fit_transform:可以看做是fit和transform的结合,如果 训练阶段使用fit_transform ,则在 测试阶段只需要对测试样本进行transform 就行了。 2. 标准化归一化 from sklearn import preprocessing #标准化 std_scale = preprocessing.StandardScaler().fit(df[['Alcohol', 'Malic acid']]) df_std = std_scale.transform(df[['Alcohol', 'Malic acid']]) #归一化 minmax_scale = preprocessing.MinMaxScaler().fit(df[['Alcohol', 'Malic acid']]) df_minmax = minmax_scale.transform(df[[

机器学习数据预处理——标准化/归一化方法

杀马特。学长 韩版系。学妹 提交于 2019-11-27 18:01:59
通常,在Data Science中,预处理数据有一个很关键的步骤就是数据的标准化。这里主要引用 sklearn文档 中的一些东西来说明,主要把各个标准化方法的应用场景以及优缺点总结概括,以来充当笔记。 首先,我要引用我自己的文章 Feature Preprocessing on Kaggle 里面关于Scaling的描述 Tree-based models doesn’t depend on scaling Non-tree-based models hugely depend on scaling 一、标准化/归一化的好处 1.1 提升模型精度 在机器学习算法的目标函数(例如SVM的RBF内核或线性模型的l1和l2正则化),许多学习算法中目标函数的基础都是假设所有的特征都是零均值并且具有同一阶数上的方差。如果某个特征的方差比其他特征大几个数量级,那么它就会在学习算法中占据主导位置,导致学习器并不能像我们说期望的那样,从其他特征中学习。 举一个简单的例子,在KNN中,我们需要计算待分类点与所有实例点的距离。假设每个实例点(instance)由n个features构成。如果我们选用的距离度量为欧式距离,如果数据预先没有经过归一化,那么那些绝对值大的features在欧式距离计算的时候起了决定性作用,soga。 从经验上说,归一化是让不同维度之间的特征在数值上有一定比较性

特征、特征不变性、尺度空间、图像金字塔

↘锁芯ラ 提交于 2019-11-27 16:35:48
特征 在计算机视觉领域, 特征是为了完成某一特定任务需要的相关信息 。比如,人脸检测中,我们需要在图像中提取特征来判断哪些区域是人脸、哪些区域不是人脸,人脸验证中,我们需要在两个人脸区域分别提取特征,来判断他们是不是同一个人,如下图所示,深度神经网络最终得到一个128维的特征用于识别等任务。 常用的特征:图像灰度or灰度、直方图、梯度、边缘、纹理、矩、SIFT、深度学习特征等等。 以关键点特征为例,关键点指的是可以稳定出现的特殊点,如角点、局部极值点等,如上图中人脸中眼鼻口处的关键点,先检测图像中的关键点,然后在以该点为中心的邻域范围内提取信息,作为该点的特征描述。关键点特征的好处在于,关键点可以 稳定复现同时其特征描述聚焦在关键点邻域内 ,对遮挡、形变等有很好鲁棒性。 不同的特征适用范围也不同 ,有些特征对光照敏感,有些特征对形变敏感, 需要根据任务场景选择适合的特征 ——适合的才是最好的,不是什么时候都要上牛刀。如果任务场景简单,比如明确知道光照条件不变、人脸基本正面且表情妆容没有变化,可能直接使用灰度或梯度进行模板匹配就可以识别了,但如果场景复杂,光照可能变化、表情可能变化、人脸角度也不确定,那么为了完成任务,选取的特征就需要有较好的适应性,这就要谈到 特征不变性 。 特征不变性 以上图为例,左右两图中玩具车的姿态不同、大小不同、图像亮度不同,对应局部(图中黄色小块

Group Normalization算法笔记

不羁岁月 提交于 2019-11-27 10:15:53
Group Normalization算法笔记 https://blog.csdn.net/u014380165/article/details/79810040 论文:Group Normalization 论文链接: https://arxiv.org/abs/1803.08494 Group Normalization(GN)是针对Batch Normalization(BN)在batch size较小时错误率较高而提出的改进算法,因为BN层的计算结果依赖当前batch的数据,当batch size较小时(比如2、4这样),该batch数据的均值和方差的代表性较差,因此对最后的结果影响也较大。如图Figure1所示,随着batch size越来越小,BN层所计算的统计信息的可靠性越来越差,这样就容易导致最后错误率的上升;而在batch size较大时则没有明显的差别。虽然在分类算法中一般的GPU显存都能cover住较大的batch设置,但是在目标检测、分割以及视频相关的算法中,由于输入图像较大、维度多样以及算法本身原因等,batch size一般都设置比较小,所以GN对于这种类型算法的改进应该比较明显。 因此Group Normalization(GN)的思想并不复杂,简单讲就是要使归一化操作的计算不依赖batch size的大小,原文的这段话概括得非常好:GN

batch normalization 与 layer normalization

心不动则不痛 提交于 2019-11-27 07:57:16
bn和ln的本质区别: batch normalization是 纵向归一化 ,在batch的方向上对同一层每一个神经元进行归一化,即 同一层每个神经元具有不同的均值和方差 。 layer normalization 是 横向归一化 ,即 同一层的所有神经元具有相同的均值和方差 。 bn和ln的使用区别: 1.如果batch size过小,那么得到的统计量难以反应全局信息,因此不适合使用bn;而ln不关心batch size。 2.由于rnn编码是考虑句子长度信息的,而同一个batch里的句子长度可能不一致,因此在rnn使用batch normalization是有问题的,而ln是在横向归一化,因此可以应用在rnn网络中。 来源: https://www.cnblogs.com/zhufz/p/11352403.html

一维条形码生成与识别技术

ぃ、小莉子 提交于 2019-11-27 07:28:51
核心提示: 1引言 条形码(简称条码)技术是集条码理论、光电技术、计算机技术、通信技术、条码印制技术于一体的一种自动识别技术,条形码是由宽度不同、反射率不同的条(黑色)和空(白色),一维条形码生成与识别技术,按照一定的编码规则编制而成,用以表达一组数字或字母符号信息的图形标识符,参考文献1.熊小寒.条形码技术与标准化[M].天津: 1引言 条形码(简称条码)技术是集条码理论、光电技术、计算机技术、通信技术、条码印制技术于一体的一种自动识别技术。条形码是由宽度不同、反射率不同的条(黑色)和空(白色),按照一定的编码规则编制而成,用以表达一组数字或字母符号信息的图形标识符。条形码符号也可印成其它颜色,但两种颜色对光必须有不同的反射率,保证有足够的对比度。条码技术具有速度快、准确率高、可靠性强、寿命长、成本低廉等特点,因而广泛应用于商品流通、工业生产、图书管理、仓储标证管理、信息服务等领域。  本文针对EAN-13条码,介绍了其格式、编码规则等技术特点,并在Visual C++ 6.0环境下实现了一维条码的图像生成与识别,具有较好的应用价值。 2  EAN-13条形码简介 一维条码主要有EAN和UPC两种,其中EAN码是我国主要采取的编码标准。EAN是欧洲物品条码(European Article Number Bar Code)的英文缩写,是以消费资料为使用对象的国际统一商品代码

神经网络1

為{幸葍}努か 提交于 2019-11-27 07:24:05
数据集: sigmoid与条件概率的关系及推导过程 sigmoid是机器学习中常用的激活函数,其优势作者这里不一一赘述,本文主要从另一个角度,判别模型(discriminative model)条件概率的角度对sigmoid函数进行推导。 机器学习判别模型主要想通过神经网络对 P(Y|X) 进行建模。 假设 xϵRn 且yϵy1,y2且P(x|y1)∼N(μ1,∑) 且 P(x|y1)∼N(μ1,∑) 根据上述假设可得: 根据贝叶斯公式: 观察 P(x|y1)P(x|y2) 带入假设P(x|y1),P(x|y2) 概率密度函数,可得 注:(1)同理也可以通过假设多个条件概率密度函数,也可以求得softmax形式。(2)为了便于推导方便这里假设协方差矩阵相同,不同的话也没有问题,不影响最终线性表达式的形式 归一化,也算是数据标准化方法之一。常见的计算公式如下,得到新数据范围在[0,1]之间,归一化由此得名。 归一化:1)把数据变成(0,1)或者(1,1)之间的小数。 物理量按照其属性分为两类:1.物理量的大小与度量所选用的单位有关,称为有量纲量,例如,时间、长度、质量、速度、力、能量等。2.物理量的大小与度量所选的单位无关,称为无量纲量,例如角度、增益、两个长度之比等。 来源: https://blog.csdn.net/shenwansan_gz/article/details

抽象类与归一化

送分小仙女□ 提交于 2019-11-27 02:10:54
import abcclass Animal(metaclass=abc.ABCMeta): # 只能被继承,不能被实例化 @abc.abstractmethod def run(self): pass @abc.abstractmethod def eta(self): passclass Pople(Animal): def run(self): print('Pople is runing') def eta(self): print('Pople is etaing')class Pig(Animal): def run(self): print('Pig is runing ') def eta(self): print('Pig is etaing')class Dog(Animal): def run(self): print('Dog is runing ') def eta(self): print('Dog is etaing')pople1 =Pople()pig1 = Pig()dog1 = Dog() 来源: https://www.cnblogs.com/kingforn/p/11337643.html

特征缩放(Feature Scaling)

时光怂恿深爱的人放手 提交于 2019-11-26 23:54:58
特征缩放的几种方法: (1)最大最小值 归一化(min-max normalization) : 将数值范围缩放到 [0, 1] 区间里 (2)均值归一化(mean normalization) : 将数值范围缩放到 [-1, 1] 区间里,且数据的均值变为0 (3)标准化 / z值归一化( s tandardization / z-score normalization ) :将数值缩放到0附近,且数据的分布变为均值为0,标准差为1的标准正态分布(先减去均值来对特征进行 中心化 mean centering 处理,再除以标准差进行缩放) (4) 最大绝对值归一化(max abs normalization ) : 也就是将数值 变为单位长度(scaling to unit length) ,将数值范围缩放到 [-1, 1] 区间里 (5)稳键归一化(robust normalization): 先减去中位数,再除以四分位间距(interquartile range),因为不涉及极值,因此在数据里有异常值的情况下表现比较稳健 * 有一些时候,只对数据进行中心化和缩放是不够的,还需对数据进行 白化(whitening) 处理来消除特征间的线性相关性。 归一化和标准化的区别: 归一化(normalization):归一化是将样本的特征值转换到同一量纲下,把数据映射到[0,1]或者[-1