| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> BP神经网络——MATLAB实现 -> 正文阅读 |
|
[人工智能]BP神经网络——MATLAB实现 |
最近准备数学建模,了解了一下BP神经网络,照着书写了一边代码,算作是搬运工吧,希望可以帮大家节约代码的时间。此外,加上一些个人理解,希望大家可以快速上手BP神经网络,并直接在代码上面进行简单的修改与套用。 下面是一道拟合白噪声的正弦样本的数据题。
从上面的具体代码中,我们需要了解以下几点 1.一般来说神经网络包含三层,分别是输入层,输出层以及隐含层,所以说输入和输出是非常重要的,如上式代码中p是输入,T是期望输出,BP神经网络是根据实际输出与期望输出之间的残差来调整权重的,所以期望输出非常重要。 2.下面我们就根据代码来了解一下相关代码 ? (1)newff:前馈神经网络创建函数 ? ? ? ? ? ?用法?;net=newff(p,T,[每层神经元个数],{神将网络激活函数,默认为‘tansig’},......)? ?(2)net.trainFcn:训练函数 ? ? ? ? ?net.trainFcn='trainbr'; ? ? ? ? 注:trainbr————贝叶斯正则化算法 ? ? ? ? ? ? ? ?traingd————梯度下降BP算法 ? ? ? ? ? ? ? trainbfg————BFGS拟牛顿BP算法 ? ? ? ? ? ? ? trainlm————Levenberg-Marquardt的BP算法? ? ? ? ?除此之外,还有很多哦大家可以去查询MATLAB手册 ? (3)一些重要的配置参数 ? ? ? ? ? ?net.trainParam.show=50; ? ? ? ? ? %显示中间结果周期 ? ? ? ? ? 这些参数都是依据题目中要求需要改进的。 (4)train函数:神经网络训练学习函数 ? 用法:[net,tr,Y1,E]=train(net,X,Y) X:网络输入矩阵? ? ? ? ? ? Y:网络输出矩阵?? tr:训练跟踪信息? ? ? ? ? ?Y1:网络实际输出? ? ? ? E:误差矩阵 (5)sim函数:神经网络仿真计算网络 用法:Y=sim(net,X) net:训练好的神经网络? ? ? ? ? ? ? ? ?X:网络输入矩阵? ? ? ? ? ?Y:网络输出矩阵 注:当输入数据范围特别大时,会导致神经网络收敛慢,训练时间常,所以在训练神经网络之前可以先进行归一化处理,运用premnmx函数,然后训练结束之后再运用mapminmax函数进行还原。 相关用法如下:[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t) ? ? ? ? ? ? ? ? ? ? ? ? x_again=mapminmax('reverse',y1,PS); |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 18:50:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |