机器学习 —— 神经网络(matlab)

目录

一、介绍

二、实验数学原理

三、实验算法和实验步骤

四、实例分析


一、介绍

        神经网络是一种运算模型,由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。人工神经网络通常是通过一个基于数学统计学类型的学习方法(Learning Method)得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。

二、实验数学原理

https://img-blog.csdn.net/20150321122210091

三、实验算法和实验步骤

步骤:

1.准备训练网络的样本,并对数据进行标准化处理。

2.初始化网络的参数,包括最大训练次数,隐含层神经元数量,网络学习速率,训练的目标误差

3.对训练集样本进行训练,找到拟合模型

4.用该模型对训练集进行预测

5.对训练集的预测结果进行还原

6.对训练集的预测结果进行验证

7.用模型对对预测集进行预测

8.对预测集的结果进行还原并输出

四、实例分析

数据来源:

样本跳高成绩(m)30行进跑(s)立定三级跳远(m)助跑摸高(m)助跑4—6步跳高(m)负重深蹲杠铃(kg)杠铃半蹲系数100(s)抓举(kg)
序号
12.243.29.63.452.151402.81150
22.333.210.33.752.21203.410.970
32.24393.52.21403.511.450
42.323.210.33.652.21502.810.880
52.23.210.13.52801.511.350
62.273.4103.42.151303.211.560
72.23.29.63.552.11303.511.865
82.26393.52.11001.811.340
92.23.29.63.552.11303.511.865
102.243.29.23.52.11402.51150
112.243.29.53.42.151152.811.950
122.23.993.12802.21350
132.23.19.53.62.1902.711.170
142.353.29.73.452.151304.610.8570
15?39.33.32.051002.811.2

50

代码实例:

%%
clear;clc;close all;
%% 读取数据集
data=xlsread('Data2.xlsx');
%% 训练集数据
x = data(1:14,3:10)';
y = data(1:14,2)'; %跳高成绩(m)
%% 数据标准化
[xn, inputStr] = mapminmax(x);
[yn, outputStr]=mapminmax(y);
%% 构造神经网络
net = newff(xn,yn,[4,1],{'tansig','logsig'},'traingd'); %隐层神经元个数为4
%设置训练次数
net.trainParam.epochs = 10000; %隐层神经元个数为4
%训练网络所要达到的目标误差
net.trainParam.goal = 0.65 * 10^(-3);
% 设置学习率
net.trainParam.lr=0.1;
%网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置
net.divideFcn = '';
%% 对训练集进行训练
net=train(net1,xn,yn); %隐层神经元个数为4
%% 预测训练集
predicy=sim(net,xn); %隐层神经元个数为4
%将得到的数据反归一化得到预测数据
predict_=mapminmax('reverse', predicy, outputStr); %隐层神经元个数为4
%% 对训练集预测及原始结果进行绘图
plot(y,'b')
hold on
plot(predict_,'r')
  • 18
    点赞
  • 267
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
MATLAB中,你可以使用深度学习工具箱来构建循环神经网络(RNN)模型。深度学习工具箱提供了各种用于创建和训练RNN模型的函数和工具。 首先,你需要确保已经安装了深度学习工具箱。如果没有安装,可以在MATLAB命令行中输入"deep learning toolbox"来进行安装。 接下来,你可以使用以下步骤来创建和训练一个RNN模型: 1. 准备数据:准备你的训练数据,确保数据格式符合MATLAB的要求。通常,RNN模型在时间序列数据上表现较好,例如文本、音频或时间序列数据。 2. 定义网络结构:使用深度学习工具箱中的函数,如"lstmLayer"或"gruLayer"来定义RNN模型的结构。你可以根据需要添加多个RNN层,并在最后添加一个全连接层来生成输出。 3. 配置训练选项:使用"trainingOptions"函数来配置训练选项,包括优化器、学习率等。 4. 训练模型:使用"trainNetwork"函数来训练模型。将准备好的训练数据、定义好的网络结构和训练选项作为输入参数传递给该函数。 5. 评估和使用模型:在训练完成后,你可以使用训练好的模型来进行预测或评估。例如,可以使用"predict"函数来进行预测,或者使用"classify"函数进行分类任务。 需要注意的是,以上步骤只是一个简单的概述,实际应用中可能还需要进行数据预处理、增加正则化等步骤来提高模型性能和稳定性。此外,MATLAB还提供了丰富的文档和示例代码来帮助你更详细地了解和应用RNN模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值