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;]';
请问他是怎么归一化出这些数据的?谢谢 了,
展开
 我来答
无名小卒udl
高粉答主

2018-04-17 · 每个回答都超有意思的
知道大有可为答主
回答量:187
采纳率:100%
帮助的人:5.9万
展开全部

代码如下:

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 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
zhdhqq
推荐于2017-11-24 · TA获得超过321个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:86.8万
展开全部
归一化前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)。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式