本文共 1118 字,大约阅读时间需要 3 分钟。
这属于基础知识,老师应该讲的,可是;老师没讲.....在这个实验室,一师姐老师只要不在考试购物唱歌,完全无视其他人存在,给各个单身小学弟卖钱包,手表.......真是够了,精神污染....
和区间映射(我理解的是把一个区间[a,b]映射到[c,d],c+(x-a)*(d-c)/(b-a),没查,应该是这样,主要要理解的问题是两段距离映射的话要除以比例因子(d-c)/(b-a),自己理解的,这样就可以把数据映射到[-1,1])不一样,这是映射到[0,1],就是x' = (x-min)/(max-min),其中max和min分别是是x序列的最大、小值,并不是0和1。
这种方法的缺点是,如何加入新数据的话min和max可能变化。
这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化(x-u)/std。经过处理的数据符合标准正态分布,即均值为0,标准差为1。
由此,我们可以很块的写出最简单的matlab源代码如下:首先按行归一化:
% ExamplesA=[3 4;5 12];[m n] = size(A);% normalize each row to unitfor i = 1:m A(i,:)=A(i,:)/norm(A(i,:));end
按列归一化。
% normalize each column to unitA=[3 4;5 12];for i = 1:n A(:,i)=A(:,i)/norm(A(:,i));end
% normalize each row to unitA = A./repmat(sqrt(sum(A.^2,2)),1,size(A,2));% normalize each column to unitA = A./repmat(sqrt(sum(A.^2,1)),size(A,1),1);
参考:http://blog.sciencenet.cn/blog-810210-655011.html
http://www.newsmth.net/nForum/#!article/NumComp/108647
转载地址:http://wnnbx.baihongyu.com/