matlab数据归一化处理
我在网上下载一个BP网络的教案,里面举了个例子,但是上面的数据归一化我没有看明白。原始数据如下:月份123456销量205623952600229816341600月份7...
我在网上下载一个BP网络的教案,里面举了个例子,但是上面的数据归一化我没有看明白。原始数据如下:
月份 1 2 3 4 5 6
销量 2056 2395 2600 2298 1634 1600
月份 7 8 9 10 11 12
销量 1873 1478 1900 1500 2046 1556
然后他就得出了:
%以每三个月的销售量经归一化处理后作为输入
P=[0.5152 0.8173 1.0000 ;
0.8173 1.0000 0.7308;
1.0000 0.7308 0.1390;
0.7308 0.1390 0.1087;
0.1390 0.1087 0.3520;
0.1087 0.3520 0.0000;]';
请问他是怎么归一化出这些数据的?谢谢 了, 展开
月份 1 2 3 4 5 6
销量 2056 2395 2600 2298 1634 1600
月份 7 8 9 10 11 12
销量 1873 1478 1900 1500 2046 1556
然后他就得出了:
%以每三个月的销售量经归一化处理后作为输入
P=[0.5152 0.8173 1.0000 ;
0.8173 1.0000 0.7308;
1.0000 0.7308 0.1390;
0.7308 0.1390 0.1087;
0.1390 0.1087 0.3520;
0.1087 0.3520 0.0000;]';
请问他是怎么归一化出这些数据的?谢谢 了, 展开
2个回答
展开全部
代码如下:
x1 = [1 2 4], x2 = [5 2 3];
>> [y,ps] = mapminmax(x1)
y =
-1.0000 -0.3333 1.0000
ps =
name: 'mapminmax'
xrows: 1
xmax: 4
xmin: 1
xrange: 3
yrows: 1
ymax: 1
ymin: -1
yrange: 2
一、[关于此算法的一个问题.算法的假设是每一行的元素都不想相同,那如果都相同怎么办?实现的办法是,如果有一行的元素都相同比如xt = [1 1 1],此时xmax = xmin = 1,把此时的变换变为y =ymin,matlab内部就是这么解决的.否则该除以0了,没有意义!]
二、也就是说对x1 = [1 2 4]采用这个映射 f: 2*(x-xmin)/(xmax-xmin)+(-1),就可以得到y = [ -1.0000 -0.3333 1.0000];
对于x1而言 xmin = 1,xmax = 4;
则y(1) = 2*(1 - 1)/(4-1)+(-1) = -1;
y(2) = 2*(2 - 1)/(4-1)+(-1) = -1/3 = -0.3333;
y(3) = 2*(4-1)/(4-1)+(-1) = 1;
对于上面algorithm中的映射函数 其中ymin,和ymax是参数,可以自己设定,默认为-1,1。
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
归一化前P应为
P1=[2056 2395 2600;
2395 2600 2298;
2600 2298 1634;
2298 1634 1600;
1634 1600 1873;
1600 1873 1478]‘;
取P1 中最大元素和最小元素分别为Pmax=2600,Pmin=1478,
则归一化后P的对应元素值为P=(P1-Pmin)/(Pmax-Pmin)。
P1=[2056 2395 2600;
2395 2600 2298;
2600 2298 1634;
2298 1634 1600;
1634 1600 1873;
1600 1873 1478]‘;
取P1 中最大元素和最小元素分别为Pmax=2600,Pmin=1478,
则归一化后P的对应元素值为P=(P1-Pmin)/(Pmax-Pmin)。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询