QQ登录

只需要一步,快速开始

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

[其他资源] 感知器神经网络模型与学习算法

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

2620

主题

162

听众

1万

积分

升级  0%

  • TA的每日心情
    开心
    2015-3-12 15:35
  • 签到天数: 207 天

    [LV.7]常住居民III

    社区QQ达人 发帖功臣 新人进步奖 优秀斑竹奖 金点子奖 原创写作奖 最具活力勋章 助人为乐奖 风雨历程奖

    群组第六届国赛赛前冲刺培

    群组国赛讨论

    群组2014美赛讨论

    群组2014研究生数学建模竞

    群组数学中国试看培训视频

    跳转到指定楼层
    1#
    发表于 2015-1-14 10:49 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    第一部分 单层感知器原理
    4 {- O. e) M: Z3 _/ r        感知器是美国学者在1957年首次提出的作为有导师学习的神经网络模型,单层感知器是指包含一个突触权值可调的神经元的感知器模型,它的学习算法是Rosenblatt在1958年提出的,感知器网络是神经网络用来进行模式识别的最简单模型,属于前向神经网络类型,但是仅由单个神经元组成的单层感知器只能用来实现线性可分的两类模式的识别。
    . [# ]! i3 s2 s        感知器网络的模型如下图所示: 020056ra3h1ax244yal9os.jpg.thumb.jpg 8 q( X1 m1 d  p1 Z* V
    " d# b( A1 _7 `
      感知器网络的学习算法: 020135c1mtrg1tftzanava.jpg.thumb.jpg
    - v& x9 y7 J1 T* p# E, _( W单层感知器网络的学习算法是基于迭代的思想,通常是采用误差校正规则的学习算法,算法的学习过程为: 020319bp2rhlms8hh8phmx.jpg.thumb.jpg
    6 S+ S: h$ c7 f, J第二部分 MATLAB相关函数 newp()    生成一个感知机                                 init()       初始化一个神经网络
    9 \  b+ p4 q* F  L1 }" @! L                                 mae()      平均绝对误差性能函数
    1 m4 g9 y# {( {: }. e4 o                                 hardlim()  硬限幅传输函数# O6 K1 {) `6 P: g" r& C* S& n* o
                                     hardlims() 对称硬限幅传输函数
    + v/ O/ D( L5 ]+ S9 Q! f                                 plotpv()    在坐标图上绘出样本点( m7 v$ Z4 p+ H7 ]8 }
                                     plotpc()    在已绘制的图上加分类线4 n, X' D# ^. q# X, v2 ?  D
                                     train()      神经网络训练函数- p8 s$ f. `. k( d, |/ E
                                     learnp()    感知机的学习函数8 y: Q. M* @) l6 v
                                     1earnpn()  标准化感知机的学习函数
    & X5 U" V5 H+ a% {                                 adapt()      神经网络自适应调整函数
    " h, `8 Y( c5 I- Q* c                                 sim()        神经网络仿真函数1 c7 ~9 D0 W6 ~' e) e3 o5 V
                                     netsum()    输入求和函数! W- [$ t6 P1 D4 J$ U

    + G" `2 `- s' I* m+ i第三部分 相关代码
    ; ]/ J( a+ `: _7 N2 N+ m: Y
    %创建一个有两个输入、样本数据的取值范围都在[-1,1]之间,并且网络只有一个神经元的感* [0 f/ \/ H9 l; {7 j# k: \
    %知器神经网络
      v# @7 T& ^; n5 d' _, i9 |net=newp([-1 1;-1 1],1);               
    ) S2 \5 Z" b& V  N%设置网络的最大训练次数为20次,即训练20次后结束训练
    5 D# _: i* p! n8 Ynet.trainParam.epochs = 20;4 X" `% ]) y& j# t9 g
    %使用训练函数对创建的网络进行训练
    - s# R$ `, y5 Y- K% bnet=train(net,P,T);0 R( D6 G$ l. n5 y7 l. S! a: d
    %对训练后的网络进行仿真,即根据训练后的网络和样本数据给出输出% }+ s( |! v. t1 w3 T3 g
    Y=sim(net,P)     
    7 c! d$ D- s! q/ Y) W) Z; R5 z%计算网络的平均绝对误差,表示网络错误分类& B% I- g0 e" b- L/ P) z6 m
    E1=mae(Y-T)
    4 K4 J+ h* U4 V0 w: Q%给定测试数据,检测训练好的神经网络的性能
    $ Y) \! q% C! V( H+ |3 JQ=[0.6 0.9 -0.1; -0.1 -0.5 0.5];" M; p0 Q! i/ q! {
    %使用测试数据,对网络进行仿真,仿真输出即为分类的结果8 v0 g, z8 \, w- R" ~, t
    Y1=sim(net,Q)4 J' }0 l- [% q7 u
    %创建一个新的绘图窗口2 l; Q5 O6 K! N
    9 d4 c/ o2 ~8 v! m  \0 \5 M% J; C" ]
    ' x4 D( Z: U# y8 p
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    13

    听众

    15

    积分

    升级  10.53%

  • TA的每日心情
    开心
    2016-8-5 20:54
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    邮箱绑定达人 社区QQ达人

    求问其中的P是什么意思?为什么直接输入到MATLAB会有问题?
    7 q. t4 c7 W  S+ I' Q5 B& d1 @; I
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-8-6 08:06 , Processed in 0.532503 second(s), 59 queries .

    回顶部