QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2574|回复: 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神经网络预测! y- Z, a# x0 `. s
    %6月6位于第28行
    . U6 t) k) `9 p7 z1 N, yclc,clear' m6 N6 @, O* i
    load ('data.mat')%原始数据以列向量的方式存放在workplace文件中
    9 X1 b0 |- a% a' d8 H4 nPA=PA(2:29,:);; b: J) }8 i% b( A
    %数据的标准化) c- |, n, S- z7 v
    N=size(PA);
    ' A6 f1 I8 F+ afor j=1:N(1,2)8 {. V  Z8 o1 Z; X
        PAHminmax=minmax(PA(:,j)');- y1 J' n/ j0 W# T2 c
        for i=1:N(1,1)0 T$ W  `% ?9 j6 Q# J: f
            PA(i,j)=(PA(i,j)-PAHminmax(1,1))/(PAHminmax(1,2)-PAHminmax(1,1));3 O) ]3 x& L: ~, x
        end
    7 V/ V$ u9 D& U6 N1 W% M) @end
    1 I9 ~2 H3 `0 }7 t5 u%以每天的从0时计数起,每隔十五分钟作为输入
    $ h1 _4 K% {+ d$ T- gP=PA(7:27,:);
    , b4 ^) S" N/ @/ T  |%以6月6的间隔十五分钟的发电量作为目标向量! l' I& O# I- _; H
    T=PA(28,:);2 h2 K* U: V: S7 ?! e
    %创建一个BP神经网络,每一个输入向量的取值范围为[0 ,1],隐含层有22个神经元,
    8 b  w" p0 e; |" ~% W6 n1 I3 T%输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,* i5 T, P# B: @) U9 }. d2 L
    %训练函数为梯度下降函数,即标准学习算法, w! _. |6 b) z& S
    for i=1:21, g/ y* `2 G( A. o! w
        a(i,1)=0;$ }( d! @+ d. C8 {4 q
        a(i,2)=1;
    , o. @# n5 K; n' a) U4 v$ e$ Y7 Rend% l& Y3 P& U. d, r, {/ n
    net=newff(a,[21,1],{'tansig','logsig'},'traingd');
    5 Z) L  s% Z9 enet.trainParam.epochs=30000;
    : }% t/ Z7 d% r" qnet.trainParam.goal=0.01;
    7 s: G; T! c4 a9 |' I7 F! `%设置学习速率为0.1
    * l6 ^2 A1 L& ~! T5 `LP.lr=0.1;
    ) P$ [5 I% i3 h4 v1 Q, Z3 ]%训练网络
    $ d4 P: v+ }! z2 `& e$ Wnet=train(net,P,T);
    8 z+ c) D! H' K1 c%预测6月6的发电量数据
    + _' d8 g1 N; {4 z+ r$ x, M. I0 ^T1=sim(net,P);%预测值' k( `2 n4 p1 n+ {; D; i
    %PA.6月6日发电量真实值1 m# o/ o* y" {' g
    T0=PA(28,:);, w0 }3 T/ r) z- a; z' J$ r" @% Z8 i" l  Y! B
    %预测值与实际值的误差
    4 q" e+ l7 f) xfor i=1:N(1,2)2 \% a4 L! H; U7 L
        error(1,i)=T1(1,i)-T0(1,i);
    + g0 ]& @8 k) ^' n, Y  L3 Yend
    $ I" Z6 C& Y- y1 p( N, H  |%绘制误差图
    ' c" a3 ^  l, [2 ?- @8 {$ Ofigure(1)2 x4 b* r3 D  |; y0 M
    plot(1:N(1,2),error(1,1:N(1,2)),'-*')% b6 L' Z3 o$ X2 ?
    grid on8 ]$ R! B* ^# R; t
    xlabel('时点x'),ylabel('发电功率误差y');
    / o! _* m% i7 A# d1 Gtitle('PA6.6.0.0-6.6.23.45发电功率误差图像')
    2 Q+ A; O. N  g9 |5 V- O%绘制实时函数图8 Y% F/ q2 k8 U  ^. f$ {+ Z" b
    figure(2)
    8 u; r: H; d5 i- b* ?plot(1:N(1,2),T0(1,:),1:N(1,2),T1(1,:),'r'); p; b. f% }' E: }$ R' M' [
    grid on# p7 a- _3 G! c) e, c
    legend('实际值','预测值',2)0 j; Z: g' X" B0 N- c7 k
    xlabel('时点x'),ylabel('发电功率y');
    ) [# s3 O4 ^2 p1 c/ X( g/ E/ ^title('PA6.6.0.0-6.6.23.45发电功率实时函数图像')
      N9 B; \' Q* ]/ v8 _2 O3 R8 n web('http://www.ilovematlab.cn/forum-238-1.html','-browser')
    8 @# y" n1 D' p* c0 f! H; v
    4 v) U7 R- Z. |' P3 c4 @2 R% ]1 B& U8 A. ]) P

    . g2 \, {8 ?' U9 r/ x! R# L. K' ?! k: ^& _) [
    一本书关于预测发电量的BP的程序。我稍微有点纳闷,既然你已经知道了6月6日的实际值,并且都拿相应的数据来作目标向量了,还利用神经网络来预测6月6日的发电量,意义何在?
    2 x8 n4 @- m4 k, [# z7 g. X& a4 B% I
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    fg8741142        

    0

    主题

    10

    听众

    41

    积分

    升级  37.89%

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

    [LV.3]偶尔看看II

    邮箱绑定达人 社区QQ达人

    你要明白神经网络是干嘛用的,你这个代码做出来的网络,可能是预测那些不知道实际发电量的,6月6日的数据是用来训练网络的,同时对比误差查看网络的性能+ R& X4 p4 z- o: N2 K
    回复

    使用道具 举报

    3

    主题

    12

    听众

    100

    积分

    升级  0%

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

    [LV.5]常住居民I

    社区QQ达人

    误差也有分为训练误差和测试误差的,具体你可以参考统计学习方法相关资料。
    2 b: n: H  w: p1 B& ?4 J' M
    回复

    使用道具 举报

    木__易        

    4

    主题

    10

    听众

    907

    积分

    升级  76.75%

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

    [LV.7]常住居民III

    2013国际赛参赛者

    社区QQ达人

    群组2015年美赛冲刺

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

    群组国赛讨论

    回复

    使用道具 举报

    杨地雷        

    3

    主题

    10

    听众

    37

    积分

    升级  33.68%

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

    [LV.3]偶尔看看II

    自我介绍
    建模组

    社区QQ达人

    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-27 08:52 , Processed in 0.300951 second(s), 73 queries .

    回顶部