当前位置: 首页 > news >正文

用vscode做网站网店推广的重要性

用vscode做网站,网店推广的重要性,visio网站建设流程图,营销策划公司取名大全1、基于径向基神经网络的曲线拟合简介及原理 1)原理简介 基于径向基神经网络(Radial Basis Function Neural Network, RBFNN)的曲线拟合是一种常用的非线性拟合方法,通过在输入空间中使用径向基函数对数据进行处理,实…

1、基于径向基神经网络的曲线拟合简介及原理

1)原理简介

基于径向基神经网络(Radial Basis Function Neural Network, RBFNN)的曲线拟合是一种常用的非线性拟合方法,通过在输入空间中使用径向基函数对数据进行处理,实现对非线性关系的拟合。

RBFNN的基本原理是将输入空间中的数据映射到高维空间中,然后利用线性回归方法对数据进行拟合。在RBFNN中,通常使用高斯函数作为径向基函数,其数学表达式为:

eq?%5CPhi%20%28x%29%3Dexp%28-%5Cfrac%7B%5Cleft%20%5C%7C%20z-c_%7Bi%7D%5Cright%20%5C%7C%5E%7B2%7D%7D%7B2%5Csigma%20_%7Bi%7D%5E%7B2%7D%7D%29

其中,ci​为高斯函数中心点,σi​为高斯函数的标准差。RBFNN的结构包括输入层、隐含层和输出层。输入层接收输入样本,隐含层包括多个径向基函数,输出层进行线性组合输出。

在曲线拟合中,首先需要确定隐含层中的径向基函数的数量和参数,可以通过交叉验证等方法来确定。然后利用训练数据对网络进行训练,通过计算输出与实际值的误差,使用梯度下降等方法来更新网络参数,直到达到一定的训练误差或迭代次数。

通过训练后的RBFNN可以用来进行曲线拟合,即输入一个新的数据点,网络输出对应的预测值。在实际应用中,RBFNN能够较好地拟合非线性数据,具有较高的预测精度和泛化能力。

总的来说,基于径向基神经网络的曲线拟合利用径向基函数对数据进行映射,通过线性回归方法实现对非线性数据的拟合,是一种常用的曲线拟合方法。

2) 径向基神经网络简介

径向基神经网络(Radial Basis Function Neural Network, RBFNN)是一种人工神经网络,它通过在输入空间中使用径向基函数来进行数据处理和模式识别。RBFNN通常由输入层、隐含层和输出层组成,其中隐含层使用径向基函数来处理输入数据。

RBFNN的训练过程通常包括两个阶段:中心点确定和权重确定。在中心点确定阶段,通常使用聚类算法(如k-means算法)来确定隐含层中径向基函数的中心点;在权重确定阶段,通过最小化损失函数(通常是均方误差)来确定隐含层到输出层的权重。

RBFNN在模式识别、函数逼近、时间序列预测等领域有着广泛的应用。它具有记忆能力强、高度非线性、泛化能力强等优点,在一些问题上比传统的前馈神经网络具有更好的性能。

总的来说,径向基神经网络是一种利用径向基函数进行非线性数据映射和处理的人工神经网络,具有良好的泛化能力和逼近能力,在多个领域得到广泛应用。

3)技术方案

使用 NEWRB 函数创建一个径向基网络,该网络可逼近由一组数据点定义的函数。


2、基于径向基神经网络的曲线拟合实现

1)输入数据集

说明:定义 21 个输入 P 和相关目标 T。

代码

X = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ....1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ....3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
figure(1)
plot(X,T,'+');
title('径向基神经网络');
xlabel('输入向量P');
ylabel('目标向量T');

视图效果

0772f856aa0e42ae9ffedcb8cf845ed5.png

2) 使用径向基网络来实现数据点的拟合

说明:径向基网络具有两个层,分别是径向基神经元的隐藏层和线性神经元的输出层。
隐含层使用的径向基传递函数。

代码

x = -3:.1:3;
a = radbas(x);
figure(2)
plot(x,a)
title('Radial Basis Transfer Function');
xlabel('Input p');
ylabel('Output a');

视图效果

8350108b858a421fae5266888e603ef7.png

3) 创建径向基网络

代码

eg = 0.02; % 和平方误差目标
sc = 1;    % 传播常数
net = newrb(X,T,eg,sc);
%绘制训练集
figure(3)
plot(X,T,'+');
xlabel('Input');X = -1:.01:1;
Y = net(X);hold on;
plot(X,Y);
hold off;
legend({'Target','Output'})

视图效果

8ca9c9080b0e4a4f8c10fa30621a05f2.png

3、 径向基神经元欠叠

1)说明

径向基网络被训练为用目标输出响应特定输入。
因为径向基神经元的分布程度太低,网络需要许多神经元。


创建数据集代码

P = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ....1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ....3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
plot(P,T,'+r');

视图效果

3b159f6ebb4c42968296508e3186f2ae.png

 2)创建网络和训练网络

说明:函数 NEWRB 可快速创建一个逼近由 P 和 T 定义的函数的径向基网络。
除了训练集和目标,NEWRB 还使用了两个参量,分别为误差平方和目标与分布常数。径向基神经元的分布设置为非常小的数量。

代码

eg = 0.02; %和平方误差目标
sc = .01;  %传播常数
hold on

3)结果显示

说明:将结果绘制在与训练集相同的图上。测试向量显示该函数已过拟合!如果有更高的分布常数,网络可以做得更好。


代码

net = newrb(P,T,eg,sc);
X = -1:.01:1;
Y = net(X);
plot(X,Y);

视图效果

05d5b5d98fcf49479771ee70fda2754a.png

4、 径向基神经元过叠

1)说明

径向基网络被训练为用目标输出响应特定输入。
由于径向基神经元的分布程度太高,每个神经元的响应基本相同,因此无法设计网络。

数据集代码

P = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ....1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ....3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
plot(P,T,'+r');

 视图效果

2228cd83190f44e2a7aeeb3182fab18a.png

 2)创建网络和训练网络

说明:函数 NEWRB 可快速创建一个逼近由 P 和 T 定义的函数的径向基网络。
除了训练集和目标,NEWRB 还使用了两个参量,分别为误差平方和目标与分布常数。径向基神经元的分布设置为非常大的数量。


代码

eg = 0.02; % 和平方误差目标
sc = 100;  % 传播常数
net = newrb(P,T,eg,sc);

3)结果显示

说明

由于径向基神经元的输入区域有很大的重叠,NEWRB 无法正确设计径向基网络。
所有神经元始终输出 1,因此不能用于产生不同响应。要查看网络在训练集上的表现,请使用原始输入对网络进行仿真。将结果绘制在与训练集相同的图上。

代码

Y = net(P);
hold on;
plot(P,Y);

视图效果

70be3555e18f455b8659513505509c5d.png

5、总结 

在MATLAB中,可以利用径向基神经网络(RBFNN)进行曲线拟合。以下是基于RBFNN的曲线拟合主要步骤的总结:

  1. 准备数据:

    • 准备训练数据集,包括输入特征 �X 和对应的输出标签 �Y。
    • 如果需要对训练数据进行预处理,可以进行数据标准化或归一化等操作。
  2. 创建和训练RBFNN模型:

    • 使用 MATLAB 的 Neural Network Toolbox 创建 RBFNN 模型。
    • 设置 RBFNN 模型的参数,包括隐含层神经元数量、高斯函数的标准差等。
    • 利用训练数据对 RBFNN 模型进行训练,可以使用 MATLAB 的 train 函数。
  3. 模型评估:

    • 使用测试数据对训练好的 RBFNN 模型进行评估,可以计算预测结果与实际结果的 MSE(均方误差)等指标来评估模型性能。
  4. 曲线拟合:

    • 输入待预测的样本数据,使用训练好的 RBFNN 模型进行预测。
    • 通过绘制实际数据点和 RBFNN 预测结果的曲线来展示曲线拟合效果。

下面是一个简单的用 MATLAB 进行曲线拟合的示例代码:

% 准备数据 
X = % 输入特征 
Y = % 输出标签 % 创建和训练RBFNN模型 
net = newrb(X, Y); % 创建RBFNN模型 
net = train(net, X, Y); % 训练模型 % 模型评估Y_predicted = net(X); % 使用模型进行预测 
MSE = mse(Y - Y_predicted); % 计算均方误差% 曲线拟合展示 
plot(X, Y, 'b'); % 绘制原始数据曲线 
hold on plot(X, Y_predicted, 'r--'); % 绘制预测数据曲线 
legend('实际数据', '预测数据');

需要注意的是,在实际应用中,为了获得更好的模型性能,可能需要进行参数调优、交叉验证等操作。通过以上步骤,可以利用基于径向基神经网络的曲线拟合方法在 MATLAB 中进行实现和应用。

6、源代码

代码

%% 基于径向基神经网络的曲线拟合
%使用 NEWRB 函数创建一个径向基网络,该网络可逼近由一组数据点定义的函数。
%% 输入数据集
%定义 21 个输入 P 和相关目标 T。
X = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ....1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ....3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
figure(1)
plot(X,T,'+');
title('径向基神经网络');
xlabel('输入向量P');
ylabel('目标向量T');
%% 使用径向基网络来实现数据点的拟合
%径向基网络具有两个层,分别是径向基神经元的隐藏层和线性神经元的输出层。
%隐含层使用的径向基传递函数。
x = -3:.1:3;
a = radbas(x);
figure(2)
plot(x,a)
title('Radial Basis Transfer Function');
xlabel('Input p');
ylabel('Output a');
%% 创建径向基网络
eg = 0.02; % 和平方误差目标
sc = 1;    % 传播常数
net = newrb(X,T,eg,sc);
%绘制训练集
figure(3)
plot(X,T,'+');
xlabel('Input');X = -1:.01:1;
Y = net(X);hold on;
plot(X,Y);
hold off;
legend({'Target','Output'})%% 径向基神经元欠叠 
%径向基网络被训练为用目标输出响应特定输入。
%因为径向基神经元的分布程度太低,网络需要许多神经元。
%快速创建一个逼近由 P 和 T 定义的函数的径向基网络
P = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ....1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ....3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
plot(P,T,'+r');
%函数 NEWRB 可快速创建一个逼近由 P 和 T 定义的函数的径向基网络。
%除了训练集和目标,NEWRB 还使用了两个参量,分别为误差平方和目标与分布常数。径向基神经元的分布设置为非常小的数量。
eg = 0.02; %和平方误差目标
sc = .01;  %传播常数
hold on
%将结果绘制在与训练集相同的图上。测试向量显示该函数已过拟合!如果有更高的分布常数,网络可以做得更好。
net = newrb(P,T,eg,sc);
X = -1:.01:1;
Y = net(X);
plot(X,Y);%% 径向基神经元过叠
%径向基网络被训练为用目标输出响应特定输入。
%由于径向基神经元的分布程度太高,每个神经元的响应基本相同,因此无法设计网络。
P = -1:.1:1;
T = [-.9602 -.5770 -.0729  .3771  .6405  .6600  .4609 ....1336 -.2013 -.4344 -.5000 -.3930 -.1647  .0988 ....3072  .3960  .3449  .1816 -.0312 -.2189 -.3201];
plot(P,T,'+r');
%函数 NEWRB 可快速创建一个逼近由 P 和 T 定义的函数的径向基网络。
%除了训练集和目标,NEWRB 还使用了两个参量,分别为误差平方和目标与分布常数。径向基神经元的分布设置为非常大的数量。
eg = 0.02; % 和平方误差目标
sc = 100;  % 传播常数
net = newrb(P,T,eg,sc);
%由于径向基神经元的输入区域有很大的重叠,NEWRB 无法正确设计径向基网络。
%所有神经元始终输出 1,因此不能用于产生不同响应。要查看网络在训练集上的表现,请使用原始输入对网络进行仿真。将结果绘制在与训练集相同的图上。Y = net(P);
hold on;
plot(P,Y);

 

 

http://www.khdw.cn/news/6495.html

相关文章:

  • eclipse静态网站开发海口关键词优化报价
  • 武汉大学人民医院东院官网seo优化的基本流程
  • 叶涛网站推广优化免费seo工具大全
  • 佛山网站搭建费用百度平台订单查询
  • 桂林做网站公司有哪些seo网站整站优化
  • 网站策划与设计保定关键词优化软件
  • 做网站不给钱宁波seo网络推广外包报价
  • 展览展示设计网站百度推广客服电话人工服务
  • 网站动态logo怎么做甘肃网站推广
  • wordpress欢迎页面模板烟台seo外包
  • 第三方微信网站建设国内免费建站平台
  • 分析网络营销方式化工网站关键词优化
  • 广州动态网站开发关闭站长工具seo综合查询
  • 渑池县建设局网站市场调研问卷调查怎么做
  • 住宅房做旅店是什么网站惠州seo外包服务
  • 何炅做的代言网站seo排名优化的网站
  • 网站开发者所有权归属百度小说排行榜2020
  • 网站封面怎么做seo基础教程
  • 平阳网站制作企业网络营销推广方案
  • 建视频网站系统搜索引擎的网站
  • 简速做网站工作室惠州seo排名
  • 在国际网站做外贸需要条件免费推广方法
  • dede自适应网站注意事项seo服务运用什么技术
  • 三合一建站网站互联网平台推广怎么做
  • 网站xml地图网站建设公司seo关键词
  • 江苏网站快速排名优化北京seo代理公司
  • 开网站做销售seo教学
  • www技术支持 重庆网站建设杭州百度推广代理公司哪家好
  • 网站腾讯qq对话框怎么做长沙网站公司品牌
  • 国外浏览器app兰州网站seo优化