数学建模学习17(最短距离、BP神经网络)

第二篇2022.2.7

论文E2113869

用到的模型:

1、BP神经网络

2、Dijkstra algorithm 处理最短路径问题

Floyd算法

代码

clc,clear
A=[0,1,4;
   1,0,1;
   4,1,0];
n=3;
for k=1:n
    for i=1:n
        for j=1:n
            t=A(i,k)+A(k,j);
            if t<A(i,j)
                A(i,j)=t;
            end
        end
    end
end
  [A]  

有向图无向图

机器学习之神经网络

1)感知器算法:(应用于线性可分数据集)

“人为的”——预测函数f的具体形式决定的

f的具体形式——设计算法者人为指定的

深度学习:人为指定了一种预测函数f的形式

出现欠拟合过拟合应该怎么办

欠拟合和过拟合出现原因及解决方案 - 范中豪 - 博客园

基于多各神经元的多层神经网路

2)多层神经网络

用阶跃函数作为多层神经网络的非线性函数

如果非线性函数采用阶跃函数,那么三层神经网络可以模拟任意的非线性函数

梯度下降法

后向传播算法

BP神经网络

转载:

clear;
clc;
X=-1:0.1:1;
D=[-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609...
    0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 -.0988...
    0.3072 0.3960 0.3449 0.1816 -0.312 -0.2189 -0.3201];
figure;
plot(X,D,'*'); %绘制原始数据分布图
net = newff([-1 1],[5 1],{'tansig','tansig'});
net.trainParam.epochs = 100; %训练的最大次数
net.trainParam.goal = 0.005; %全局最小误差
net = train(net,X,D); 
O = sim(net,X); 
figure; 
plot(X,D,'*',X,O); %绘制训练后得到的结果和误差曲线
V = net.iw{1,1}%输入层到中间层权值
theta1 = net.b{1}%中间层各神经元阈值
W = net.lw{2,1}%中间层到输出层权值
theta2 = net.b{2}%输出层各神经元阈值
%suc=sim(net,-0.12)
%traingd
clear;
clc;
P=[-1 -1 2 2 4;0 5 0 5 7];
T=[-1 -1 1 1  -1];
%利用minmax函数求输入样本范围
net=newff(minmax(P),[7,1],{'tansig','purelin'},'trainlm');
net.trainParam.show=50;%
net.trainParam.lr=0.05;
net.trainParam.epochs=1000;%训练的最大次数
net.trainParam.goal=1e-5;%全局最小误差
[net,tr]=train(net,P,T);
net.iw{1,1};         %隐层权值
net.b{1}             %隐层阈值
net.lw{2,1};          %输出层权值
net.b{2};          %输出层阈值
y3=sim(net,P);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值