QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2612|回复: 4
打印 上一主题 下一主题

[问题求助] 数模小白关于BP的一些问题

[复制链接]
字体大小: 正常 放大

1

主题

10

听众

40

积分

升级  36.84%

  • TA的每日心情

    2016-1-29 14:03
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    自我介绍
    暂无

    群组2015国赛优秀论文解析

    跳转到指定楼层
    1#
    发表于 2015-4-19 15:43 |只看该作者 |正序浏览
    |招呼Ta 关注Ta
    %PA 6月6:0:0   计算的MATLAB 程序如下:BP神经网络预测7 I( V0 V3 j" o6 i% L' v
    %6月6位于第28行
    % M" p0 E. U$ T1 `clc,clear
    - B& K8 J) U( @2 R9 }- u( Rload ('data.mat')%原始数据以列向量的方式存放在workplace文件中6 ~/ Z: A3 }* j, d
    PA=PA(2:29,:);
    5 a/ b! j9 W. ~4 z%数据的标准化; Q1 c! ?. T. i: q2 E
    N=size(PA);( a2 K) z# Y3 z$ k9 E# Z; R8 I9 L
    for j=1:N(1,2)! k7 W: [- X9 K0 U7 x* b2 \
        PAHminmax=minmax(PA(:,j)');2 ?, {7 F$ ?. u2 Q  R: n% X
        for i=1:N(1,1)$ l/ Q8 X7 |; ?3 \! d, Y. R& Q. p# r7 H
            PA(i,j)=(PA(i,j)-PAHminmax(1,1))/(PAHminmax(1,2)-PAHminmax(1,1));* p# p+ `( l( x" m" q+ r
        end
    8 F" a5 _4 f* B. h2 Eend
    6 t6 M1 E7 f- o+ E- w: v0 ?%以每天的从0时计数起,每隔十五分钟作为输入% e& C7 v8 j+ o& X0 \  Y
    P=PA(7:27,:);
    1 @, V: t( z2 |7 C2 ^; R%以6月6的间隔十五分钟的发电量作为目标向量$ b  y& a* M3 `; ^
    T=PA(28,:);
    2 C! m$ t. C8 P4 v' [; O* S$ E%创建一个BP神经网络,每一个输入向量的取值范围为[0 ,1],隐含层有22个神经元,
    * S. c- V/ F* u. X+ X; C% ^%输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,
    % ~/ B  o( I2 g5 {3 U# d) v%训练函数为梯度下降函数,即标准学习算法
    ' ^' \& w9 q/ U9 U3 q0 ~4 zfor i=1:21& N& p- H* ^( c! I! T% F+ C
        a(i,1)=0;2 c2 u1 K$ d/ q3 t! r6 C
        a(i,2)=1;- p* c3 I6 Y. X0 x9 }) Y
    end- h2 v- n/ }/ T
    net=newff(a,[21,1],{'tansig','logsig'},'traingd');
    6 D0 r7 A7 A# F. J& s, Gnet.trainParam.epochs=30000;& \, u) ]% x5 G( y, z
    net.trainParam.goal=0.01;
    ) n7 f7 }7 W; ^, v& p: K%设置学习速率为0.1
      _+ X$ Y9 F: T" |; `LP.lr=0.1;3 [3 ]( a1 g$ g/ V- T
    %训练网络5 i% n- C0 T2 Z6 ^% u
    net=train(net,P,T);
      R# |7 a. B2 M1 R# {%预测6月6的发电量数据( p8 C; p/ A, H, L5 j
    T1=sim(net,P);%预测值
    7 p7 p% y4 S9 e4 U2 r. v# ~. D%PA.6月6日发电量真实值
    ( f1 }6 j+ h. J! c1 ^T0=PA(28,:);& H. U" Q# R! _! b9 P6 m
    %预测值与实际值的误差
    2 Z% n) k. {( ^# i1 e5 P( ?; efor i=1:N(1,2)- w; _0 E* U: D% H6 |. r' J! V
        error(1,i)=T1(1,i)-T0(1,i);
    3 D4 G) O, f* m7 }end$ w  h7 @/ {/ k, S4 M$ `/ o
    %绘制误差图
    6 |8 n8 a+ W+ B, N" i" S9 ^5 hfigure(1). l2 Y' g- v5 c; k* f! A5 ?
    plot(1:N(1,2),error(1,1:N(1,2)),'-*'); h1 E) w& V3 P2 J9 R- F" K
    grid on0 G' a" V0 W* U. A- G- S  q
    xlabel('时点x'),ylabel('发电功率误差y');* b- U( o5 J. Y. F' S* p: x1 |% W2 _! f
    title('PA6.6.0.0-6.6.23.45发电功率误差图像')
    3 q  Z( u( x: o4 l2 p4 w%绘制实时函数图: C0 s4 Z' k' l9 r2 q
    figure(2)3 P  h4 u$ h! e- u
    plot(1:N(1,2),T0(1,:),1:N(1,2),T1(1,:),'r')
    # U1 R/ [. u* [3 i' B9 G( Q2 zgrid on# D% ]6 ?. A8 n) Y* s
    legend('实际值','预测值',2)& b  o: X* X6 Y( n& H6 z
    xlabel('时点x'),ylabel('发电功率y');
    3 z) N: B) b" N# D2 ?  stitle('PA6.6.0.0-6.6.23.45发电功率实时函数图像')+ x1 c; p: y. N- i& l- q
    web('http://www.ilovematlab.cn/forum-238-1.html','-browser')
    6 V; Y, ~7 ~# t6 e1 s5 q4 O: G9 k! x6 K4 V$ u

    ) J9 c4 o8 h% q& d; `3 }. A1 q2 m& t( w! R$ ~. {# o; O2 g
    / d3 y/ a' z' n7 }7 @  d+ m" Q* x" M
    一本书关于预测发电量的BP的程序。我稍微有点纳闷,既然你已经知道了6月6日的实际值,并且都拿相应的数据来作目标向量了,还利用神经网络来预测6月6日的发电量,意义何在?
    % |+ u& j+ `. C' |$ K8 a% U) Y4 ?! I) G
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    杨地雷        

    3

    主题

    10

    听众

    37

    积分

    升级  33.68%

  • TA的每日心情
    开心
    2016-1-13 16:53
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    自我介绍
    建模组

    社区QQ达人

    回复

    使用道具 举报

    木__易        

    4

    主题

    10

    听众

    907

    积分

    升级  76.75%

  • TA的每日心情
    开心
    2017-1-7 12:01
  • 签到天数: 220 天

    [LV.7]常住居民III

    2013国际赛参赛者

    社区QQ达人

    群组2015年美赛冲刺

    群组哈尔滨工业大学建模团

    群组国赛讨论

    回复

    使用道具 举报

    3

    主题

    12

    听众

    100

    积分

    升级  0%

  • TA的每日心情
    奋斗
    2015-7-18 17:29
  • 签到天数: 30 天

    [LV.5]常住居民I

    社区QQ达人

    误差也有分为训练误差和测试误差的,具体你可以参考统计学习方法相关资料。
    ' ?+ g% ], N+ A2 a7 Z5 ]  Q4 e; d7 g
    回复

    使用道具 举报

    fg8741142        

    0

    主题

    10

    听众

    41

    积分

    升级  37.89%

  • TA的每日心情
    擦汗
    2015-5-21 16:54
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    邮箱绑定达人 社区QQ达人

    你要明白神经网络是干嘛用的,你这个代码做出来的网络,可能是预测那些不知道实际发电量的,6月6日的数据是用来训练网络的,同时对比误差查看网络的性能3 r+ |; [  d- c5 j2 U9 R; _
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-6-4 12:09 , Processed in 0.454726 second(s), 74 queries .

    回顶部