Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)

1. 函数拟合(函数逼近)

1.1 拟合数据(神经网络拟合、多项式拟合、线性回归)

  • 那我们给出一组数据,看看三种方法的运用
X=[-5 -4 -3 -2 -1  0  1  2  3  4  5]
T=[-5 -3 -1  1  3  5  7  9 11 13 15]
  • 先看看要二维坐标系下的图像
    Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)_第1张图片

1.1.1 方法一:神经网络拟合

  • 需要的函数:
    fitnet: 创建函数拟合神经网络
    view: 查看神经网络结构
    train: 训练神经网络
    使用样本数据训练神经网络,建立输入输出数据之间的关系,训练之后,再给定输入数据使用训练好的网络计算输出结果。
% 创建一个含有5个神经元的拟合函数
net=fitnet(5);
view(net)

Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)_第2张图片

  • 我们训练一个网络,再看看网络结构
net=train(net,x,t);
view(net)

Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)_第3张图片

  • 通过训练好的网络输出结果:
y=net(X)
  • 对比一下目标值与输出结果:
    在这里插入图片描述
  • 由于样本数量少(用70%样本训练,15%验证,15%测试),神经网络训练结果有误差,
  • Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)_第4张图片
  • Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)_第5张图片

1.1.2 多项式拟合

  • 需要用到的函数
    ployfit: 多项式拟合函数
    polyval: 计算拟合结果
    • 仍使用上述数据
p=polyfit(X,T,1); % 因观察图像为直线,1代表为1次项式,返回对象为斜率(权重w)与截距(偏移b)
y2=plyval(p,X)  

Matlab数学建模学习(3)-- 神经网络基础(函数拟合和分类)_第6张图片
在这里插入图片描述

  • 多项式拟合结果经过小数近似后与目标基本相同。

1.1.3 线性回归

  • 所用的函数
    regression 线性回归函数,返回三个参数[r,k,b] , r为线性相关性,线性表达式kx+b
[r,k,b]=regression(X,T);
y3=k*X+b

在这里插入图片描述
r的返回值为1,表示线性完全相关。

综上所述,神经网络需要通过大量数据与调参来优化结果,可以处理复杂的数据,而多项式拟合和线性回归仅能处理简单的数据。

你可能感兴趣的:(matlab,神经网络,分类)