归一化函数mapminmax的讨论

来源:互联网 发布:dwg文件查看器 mac 编辑:程序博客网 时间:2024/06/06 15:39

一、基本用法

[y,ps] = mapminmax(x,ymin,ymax)       % 这里如果不指定 ymin,ymax,则ymin默认为-1,ymax默认为1。

mapminmax(data)                默认归一化范围为[-1,1],且对每一做归一化。一定记住是对行进行归一化!!!


二、归一化的讨论

参考:http://www.ilovematlab.cn/thread-63766-1-1.html

问题一:

在智能算法程序实现中中,原始数据应当对每一个属性(维度进行归一化)即应当使数据集data中行代表属性,列代表样本数据个数。而数据读取函数textread、xlsread均根据数据集进行按列读取,因此,我们必须在归一化时注意是否需要转置。

 

问题二:

常用形式:

[inputtrain,setting] = mapminmax(input_train');

inputtest = mapminmax('apply',input_test',setting);

 

这两句命令代表将Input_text按input_train的归一化规则进行归一化,但是前提必须是input_test中的数据必须在inout_train数据的最小值和最大值之间

两种观点:

一种是将数据集与测试集放在一起进行归一化;另一种是不用在意测试集的最值,因为实际中测试数据本身就是不确定的,正好可以检测模型的诊断/预测能力。个人倾向于后者。具体情况还要具体对待


note:

BP神经网络中,newff函数使用的数据m行n列,行代表数据属性值,列代表数据样本的个数。

libSVM中,各函数使用的矩阵m行n列比如880X6,行代表数据样本的个数,列代表数据的属性值。两者正好相反。






原创粉丝点击