matlab 工具函数(三)—— normalize(归一化数据)

注:待处理的数据 X∈Rd×N,N 表示样本的个数,d 则是单个样本的维度;

1. 去均值(remove DC)

X = bsxfun(@minus, X, mean(X));

2. 截断标准差

这里比如截断保留 +/- 3 个标准差,并 scale 至 -1/1

xstd = 3*std(X(:));
X = max(min(xstd, X), -xstd)/xstd;

3. 从一个尺度空间,缩放(线性映射)到另一个尺度空间

现考虑将 [a,b] 缩放(map/transform)到另一个尺度空间 [c,d]:

x∈[a,b]⇒x′=(d−c)⋅x−ab−a+c,x′∈[c,d]

其中 x−ab−a 将原始数据,缩放到 [0, 1] 区间内;

比如将数据从 [-1, 1] 线性映射到 [0.1, 0.9] 区间:

X = (.9-.1)*(X+1)/2+.1;

再比如对神经网络权值矩阵的 xavier-initializer 初始化方式,服从 (-r, r) 上的均匀分布(r=6nin+nout−−−−−−√),matlab 中的 rand() 生成的是 (0, 1) 上的均匀分布,这里如何从 (0, 1) 上的均匀分布,获取任意区间上的均匀分布((−r,r)),

x∼U[0,1]⇒x−01−0(r−(−r))−r=x⋅2r−r
function theta = initializeParameters(visSize, hidSize):
r = sqrt(6/(visSize+hidSize));
W1 = rand(hidSize, visSize)*2*r-r;
b1 = zeros(hidSize, 1);
theta = [W1(:); b1(:)];
end

数据预处理(normalize、scale)的更多相关文章

  1. sklearn数据预处理-scale

    对数据按列属性进行scale处理后,每列的数据均值变成0,标准差变为1.可通过下面的例子加深理解: from sklearn import preprocessing import numpy as ...

  2. 数据预处理 center&scale&box-cox

    http://stackoverflow.com/questions/33944129/python-library-for-data-scaling-centering-and-box-cox-tr ...

  3. Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)

      关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常 ...

  4. 数据预处理:规范化(Normalize)和二值化(Binarize)

    注:本文是人工智能研究网的学习笔记 规范化(Normalization) Normalization: scaling individual to have unit norm 规范化是指,将单个的样 ...

  5. Scikit-Learn模块学习笔记——数据预处理模块preprocessing

    preprocessing 模块提供了数据预处理函数和预处理类,预处理类主要是为了方便添加到 pipeline 过程中. 数据标准化 标准化预处理函数: preprocessing.scale(X, ...

  6. weka数据预处理

    Weka数据预处理(一) 对于数据挖掘而言,我们往往仅关注实质性的挖掘算法,如分类.聚类.关联规则等,而忽视待挖掘数据的质量,但是高质量的数据才能产生高质量的挖掘结果,否则只有"Garbag ...

  7. Python数据预处理—归一化,标准化,正则化

    关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现. 常用的 ...

  8. TensorLayer官方中文文档1.7.4:API – 数据预处理

    所属分类:TensorLayer API - 数据预处理¶ 我们提供大量的数据增强及处理方法,使用 Numpy, Scipy, Threading 和 Queue. 不过,我们建议你直接使用 Tens ...

  9. 【sklearn】数据预处理 sklearn.preprocessing

    数据预处理 标准化 (Standardization) 规范化(Normalization) 二值化 分类特征编码 推定缺失数据 生成多项式特征 定制转换器 1. 标准化Standardization ...

  10. python中常用的九种数据预处理方法分享

    Spyder   Ctrl + 4/5: 块注释/块反注释 本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(St ...

随机推荐

  1. ArcGIS 点要素新增点

    IFeatureLayer layer = FrmMain.m_mapControl.get_Layer(0) as IFeatureLayer; IFeatureClass featureClass ...

  2. innodb next-key lock解析

    參考http://blog.csdn.net/zbszhangbosen/article/details/7434637#reply 这里补充一些: (1)InnoDB默认加锁方式是next-key ...

  3. JS/CSS 全屏幕导航 – 从上到下动画

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  4. How to Rotate Tomcat catalina.out

    If catalina.out becomes 2GB in size, tomcat crashes and fails to start without any error message. To ...

  5. 彩票案例-frame,center和bounds属性

    控件的属性: 二.frame.center和bounds属性 " 在iOS中,每一个控件都是继承于UIView的.都会有视图的属性存在,控制这个视图的位置就有Frame和Bounds两个属性 ...

  6. Android多线程研究(6)——多线程之间数据隔离

    在上一篇<Android多线程研究(5)--线程之间共享数据>中对线程之间的数据共享进行了学习和研究,这一篇我们来看看怎样解决多个线程之间的数据隔离问题,什么是数据隔离呢?比方说我们如今开 ...

  7. js进阶 13-4 jquery自定义动画animate()如何使用

    js进阶 13-4 jquery自定义动画animate()如何使用 一.总结 一句话总结:animate(params,[speed],[easing],[fn]),参数:params:一组包含作为 ...

  8. POJ 2718 Smallest Difference 枚举

    http://poj.org/problem?id=2718 题目大意: 给你一些数字(单个),不会重复出现且从小到大.他们可以组成两个各个位上的数字均不一样的数,如 0, 1, 2, 4, 6 ,7 ...

  9. ZOJ 1242 Carbon Dating

    UVA昨天上不去,今天一大早起来还是上不去 0.0 于是去ZOJ 这题大意就是半衰期... 取对数用到了换底公式...我都忘了这玩意了T T 上代码... #include<iostream&g ...

  10. DE1-SOC学习

    https://people.ece.cornell.edu/land/courses/ece5760/DE1_SOC/HPS_peripherials/index.html https://peop ...