人工神经网络 拟合函数By halcon

(三)当人工智能是一个函数时,怎么去训练它? 人工智能本质上就是一个函数。那么今天,让我们更进一步:这个函数是怎么练成的? 阅读详情

     现在深度学习越来越流行,在很多地方都能看到它的声影,最常见的就是应用在图像分类上。

     今天给大家带来的是人工神经网络(多层感知器MLP)拟合正弦函数曲线的例子。我们选用的平台是 halcon, 大家理解了原理之后,可以应用到其它平台上,如 openCV ,tensorflow,and so on.

    话不多说,进入今天的正题:

第一步: 创建一个网络模型

//create_class_mlp( : : NumInput, NumHidden, NumOutput, OutputFunction, Preprocessing, NumComponents, RandSeed : MLPHandle) 

  NHidden = 10;
  create_class_mlp(1, NHidden, 1, "linear", "none", 1, 42, &MLPHandle);

这里有个需要注意的地方, 输入层和输出层的大小要与特征向量的维度相等。 由于我们是拟合函数,自然 ,特征 和标签(label)的维度都是 1,所以  输入层和输出层 都设置 为 1。而输出层需要注意,设置太小,可能特征学习不完全,设置过大,学习过程会过拟合。这两者都是我们不愿意看到的,这个隐藏层数只能去尝试,或者根据长期的经验,这里我设置的是  10. 拟合正弦函数的结果还不错,可以改成其他值试一试。

 

第二步,接下来,我们添加训练数据样本。

  //Generate the training data
  NData = 1000;
  for (i=0; i<=1000; i+=1)
  {
    Temp = i*0.01;
    D[i] = Temp;
    T[i] = Temp.Sin();
    add_sample_class_mlp(MLPHandle, HTuple(D[i]), HTuple(T[i]));
  }

需要注意点,特征数据和标签都是浮点数精度,换成整型会报错.  这一步也比较简单。

第三步,接下来,我们训练网络模型。

//train_class_mlp( : : MLPHandle, MaxIterations, WeightTolerance, ErrorTolerance : Error, ErrorLog) 

  //Train the MLP
  train_class_mlp(MLPHandle, 200000, 0.001, 0.001, &Error, &ErrorLog);

这一步只有一行代码,对其中几个重要的参数说明一下:如果需要其他参数说明,可以在halcon中查看说明。

MLPHandle: 网络模型的句柄,代表这个模型。

MaxIterations : 训练时候的迭代次数。 本例子设置的是200000.

Error : 最后一次迭代完成的 最小残差。

ErrorLog : 记录其中迭代次日志,从本文的例子来看,只保存有几次的残差日志数据。

第四步   测试估计训练好的模型准确度。


 evaluate_class_mlp (MLPHandle, 3.1415926/6, Y)

测试数据也比较简单, 选取 0, \pi/6, \pi/3, \pi/2, \pi, 进行测试,得到如下结果:

可以看到,预测估算的结果基本与正弦函数测试值一致,说明我们的模型训练还算是成功的。

 

第五步  清除模型。

clear_class_mlp (MLPHandle)

         好了,以上就是 关于人工神经网络模型训练的一个例子,通过这个例子,可以了解到神经网络训练的一般步骤,为后面学习更加复杂的深度学习模型打下一定的基础。

 

 

Halcon拟合系列(4)样条曲线NURBS拟合的相关算子gen_contour_nurbs_xld及官方例程 官方例程: gen_nurbs_interp.hdev create a NURBS curve that interpolates a list of points * Create a NURBS curve that interpolates a list of points. dev_close_window () dev_open_window (0, 0, 512, 512, ... 阅读详情

相关推荐

神经网络学习(一):拟合简单函数

前言 学习用神经网络做点数学上的研究,刚开始摸索,记录一下过程。 今天是用深度学习(Deep Learning)来拟合一些函数(因为多项式的拟合比较简单,直接学习参数就可以了所以就没有必要放出来了),准备设计一个简单神经网络来拟合函数 训练流程 1.定义网络 选择自定义一个简单神经网络,大部分都直接继承父类就行了,其中fc1是输入数据映射到神经网络隐藏层,fc2是隐藏层给出到输出层的数据。 前向传播中我加入了激活函数act,目的是为了更好地映射(其实是实验发现...

lny161224的博客 1万+

人工智能基础概念1:模型、拟合、线性回归、sigmoid函数、逻辑回归

本文介绍了人工智能几个相关的基础概念:模型、拟合、最大似然估计、似然函数、线性回归、sigmoid函数、逻辑回归。

老猿Python 3993

【halcon】轮廓拟合相关算子

先通过edges_sub_pix 找到边缘轮廓,过滤掉一些直线以及短的。将剩下的圆弧轮廓进行联合(更长的圆形轮廓有助于拟合出更准确的圆)从联合后的轮廓中选出最长的,进行拟合圆

songhuangong123的博客 4720

人工智能实验 python tensorflow keras拟合正弦函数,工资预测,公司收益预测

本文实现一个利用python 进行拟合的代码 拟合的意义 对已经发生过的事实的影响因素当作输入, 事件结果当作输出 以此来发现事物之间的规律,来预测 短暂未来中是否会发生某件事情的概率,或者商品估值 实际上 任何 的预测回归问题,都可以通过 tensorflow的深度学习来实现 预测分析 多因素对 工资分配的拟合 图像 公司业务成本对收益的影响拟合曲线 import matplotlib.p...

qq_43373608的博客 1126

人工智能入门实战:过拟合与欠拟合问题解决策略

1.背景介绍 过拟合(overfitting)是指模型在训练数据上表现良好,但在测试数据或其他真实数据上出现较差的性能,原因可能是模型过于复杂,没有充分训练;欠拟合(underfitting)则相反,表示模型在训练数据上表现不佳,甚至无法拟合训练样本。 机器学习中经常会遇到这样的问题,如何有效地控制过拟合和欠拟合的问题是个重要的问题。因此

AI天才研究院 283

【NCBI】SRA toolkit安装及使用-Windows&Linux版本

由于市面上的文章介绍SRA toolkit基本上都是基于Linux,而在windows下运行SRA toolkit基本上可以达到相同的效果且更为方便,故本文将分别阐明在Windows和Linux环境下SRA toolkit的安装及使用。

weixin_48076899的博客 2万+

吴恩达机器学习系列2:代价函数

现在我有一些数据集,就像左图中的叉。 那么我想通过一个一次函数也叫线性回归函数(一条直线)去拟合这些数据,一次函数在没有确定之前,应该是这个样子的:其中 θ0 和 θ1 都是未知量。现在关键就是如何求 θ0 和 θ1 这两个参数。θ0 和 θ1 可以取任意值,怎么取值才能让这条直线最佳地拟合这些数据呢?这就是代价函数登场的时刻了。这就是一次函数的代价函数 J(θ0, θ1)。看到这个复杂的函数有没...

weixin_34194317的博客 219

达梦--利用存储过程与定时任务实现数据自动迁移

本文详细介绍了在达梦数据库中如何结合存储过程与定时任务实现数据自动迁移。通过一个电商订单归档的实战案例,阐述了从设计表结构、编写具备异常处理和幂等性的存储过程,到配置DBMS_SCHEDULER定时任务的全流程。该方法能有效替代手动脚本,确保数据同步任务的稳定、准确与自动化执行,适用于报表准备、数据备份等多种场景。

weixin_29261711的博客 430

全连接神经网络拟合余弦函数曲线

全连接神经网络应用与实现

小鱼的小窝 2012

EDKII实战:手把手调试PciHostBridge.c,看UEFI如何分配你的PCIe设备资源(IO/Memory空间)

本文深入解析EDKII中PciHostBridge.c模块的工作原理,详细指导如何调试PCIe设备资源分配(IO/Memory空间)。通过实战案例展示UEFI环境下Root Bridge初始化、地址空间转换及协议安装等核心流程,提供常见问题排查方法与性能优化建议,帮助开发者解决PCIe设备兼容性问题。

weixin_29201933的博客 208

手机银行应用架构设计

网上银行借助互联网、移动通信网络等技术向客户提供金融服务,易受到通讯层面的安全威胁,金融机构应从通讯协议、安全认证、通信链路安全等层面,采取措施有效应对相关风险。网上银行系统服务器端提供网上银行应用服务和核心业务处理功能,金融机构应充分利用物理环境、通信网络、计算环境等领域的防护技术,在攻击者和受保护的资源间建立多道严密的安全防线。 网上银行除直接向用户提供金融服务外,也可能与外部机构开展业务合作。在网上银行系统设计、开发、部署和运营过程中,应充分考虑外部机构的系统可能存在的安全风险,并针对各类风险进行有效

银行信息系统应用架构详解 4830

学python和halcon哪个好学_Halcon实战之基于MLP多层神经网络的训练学习

MLP多层感知器其实是一种人工神经网络结构,属于非参数估计,可以用于解决分类和回归问题。如果使用“BP算法”也称为BP神经网络,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(处理单元),可以解线性不可分问题。早前已经学习了感知器学习算法,主要通过对那...

weixin_39539563的博客 296

[QMT量化交易小白入门]-六十九、ETF动量评分策略,历史年化收益率107%

C . bar_date } 跳过') returnC . bar_date } 跳过') returnC . bar_date } 跳过') return作用:如果当前不是回测模式且不是最后一根K线,则记录日志并跳过本次任务。这是为了避免在实时交易中对尚未完成的数据进行处理。

木头大左的博客 2229

Halcon实战之基于MLP多层神经网络的训练学习

MLP多层感知器其实是一种人工神经网络结构,属于非参数估计,可以用于解决分类和回归问题。如果使用“BP算法”也称为BP神经网络,是一种前向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看作是一个有向图,由多个的节点层所组成,每一层都全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(处理单元),可以解线性不可分问题。早前已经学习了感知器学习算法,主要通过对那...

Gavinmiaoc的博客 9582

YOLO26改进 - C2PSA | C2PSA融合CPIASA跨范式交互与对齐自注意力机制 : 交互对齐机制,提升小目标与遮挡目标判别力 | ACM MM2025

本文介绍了跨范式表征与对齐Transformer(CPRAformer)及其核心的跨范式交互与对齐自注意力机制(CPIA - SA),并阐述了其在YOLO26中的结合应用。传统图像去雨模型特征提取局限大,CPIA - SA通过协同“空间 - 通道”与“全局 - 局部”范式解决该问题,由SPC - SA、SPR - SA和AAFM子模块构成,经双路提取、动态过滤、空间细化、对齐融合四步工作。我们将相关代码引入指定目录,在`ultralytics/nn/tasks.py`中注册,配置`yolo26 - C2PS

魔改工程师的博客 665

TPAMI 2024 | MO-MIX:基于深度强化学习的多目标多智能体协同决策

深度强化学习(RL)已被广泛应用于解决复杂的决策问题。在许多现实世界的场景中,任务通常有多个相互冲突的目标,并且可能需要多个智能体进行合作,这些是多目标多智能体决策问题。然而,在这个交叉领域的研究工作还相对较少。现有的方法仅限于单独的领域,并且只能处理具有单一目标的多智能体决策,或者具有单一智能体的多目标决策。在本文中,我们提出了MO-MIX来解决多目标多智能体强化学习(MOMARL)问题。我们的方法基于集中训练与分散执行(CTDE)框架。

小白学视觉 1129

别再手动调阈值了!用Halcon的MLP分类器搞定复杂场景下的颜色识别(附完整代码)

本文详细介绍了Halcon MLP分类器在工业视觉颜色检测中的应用,通过自动学习颜色特征,有效解决复杂光照和背景干扰问题。文章提供了完整的代码示例和实战指南,帮助工程师快速实现高精度的颜色识别,提升工业自动化检测效率。

weixin_30325971的博客 428

工商银行数据智能架构实践

工商银行大数据平台技术创新与实践摘要(149字): 工商银行构建了企业级大数据云基础设施,形成包含批量计算、流计算、联机分析等核心能力的技术架构。平台创新性地实现流批一体处理,将个人储蓄存款监测时效提升至分钟级;通过实时数仓技术将报送时效缩短至1-5分钟;融合内外部数据构建风控模型,债券违约预警准确率达100%。平台还支撑了"码上赢"精准营销和空间数据服务等创新应用,未来将向存算分离、实时数仓和云数智融合方向演进,持续提升数据价值转化能力。

银行信息系统应用架构详解 539

《HALCON机器视觉与算法原理编程实践》第12章 图像分类-学习笔记

文章目录12.1 分类器12.1.1 分类的基础知识12.1.2 MLP分类器12.1.3 SVN分类器12.1.4 GMM分类器12.1.5 k-NN分类器12.1.6 选择合适的分类器12.1.7 选择合适的特征12.1.8 选择合适的训练样本12.2 特征的分类12.2.1 一般步骤12.2.2 MLP分类器12.2.3 SVM分类器12.2.4 GMM分类器12.2.5 k-NN分类器12.3 光学字符识别12.3.1 一般步骤12.3.2 OCR实例 图像分类,根据各自在图像信息中所反映的不同特征

超级大洋葱的博客 2815

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

论文笔记

基于机械手的双目视觉定位抓取研究——袁仁辉-2016 主要包括研究内容为基于改进OpenCv的单目摄像头标定和基于HALCON的单目摄像头标定,还有双目视觉摄像头的标定方法和系统实现。 图像信息的获取可以从单目摄像机、双目摄像机或多目摄像机中获取,并且图像的获取主要是通过摄像机中的CCD或CMOS感光元件获得,这些感光元件可以将光信号转换为图像所需要的电信号,然后经过芯片处理电信号,最终将模拟...

qq_38280218的博客 612

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

人工智能算法工程师(中级)课程14-神经网络的优化与设计之拟合问题及优化与代码详解

在机器学习领域,拟合问题是指通过训练数据找到最佳模型参数,使得模型在未知数据上的表现尽可能好。拟合问题主要包括欠拟合和过拟合两种现象。

微学AI的博客 1428

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

神经网络拟合函数曲线--pytorch

之前看了很多神经网络的算法,但是一直没有实操作过,加上对pytorch 不太熟悉,趁此机会熟悉一下。

KJNKJNKJN的博客 2342

使用matlab进行人工神经网络拟合

已知函数 z=sin(xy),采用人工神经网络实现该函数的拟合: 定义: -π≤x≤π, -π≤y≤π,在 x, y 定义域中等距各取 30 各点,绘制 z=sin(xy)图像; 将上述数据集随机拆分成训练样本集(70%)、校验数据集(15%)、测试数据集( 15%)进行人工神经网络拟合,将拟合结果和原始函数绘制在同一张图中。 (1)一张图中首先z=sin(xy)是三维图像,三维图像绘制不能简单的将x与y相乘。将使用meshgrid函数。 具体代码如下: 结果...

搞电机的博客 1万+

pytorch拟合sin函数

pytorch非线性回归调参分享 前期研究过程中获得了一个非常奇怪的函数图像,打算用多层感知机(MLP)对函数图像进行建模仿真。前期相关研究中,MLP表现并不好,当时把这个方案已经放弃掉了。经过查阅相关的论文,发现原理上MLP能够拟合任意函数。这段时间重新写了一遍MLP网络,经过参数、增加训练次数、GPU加速,现在能够对函数较好拟合。现将参数调整经验分享一下。 目标功能:对三个周期的sin(x)函数进行拟合 训练效果: 这个图像中,蓝色为数据集,红色为对其拟合的训练结果。Loss表示两个函数之间的均方根误差

weixin_41582053的博客 4365

神经网络为什么可以(理论上)拟合任何函数?

你知道y=kx+b,你就知道了为什么神经网络可以(理论上)拟合任何函数。

Antai_ZHU的博客 3640

神经网络拟合函数

一个简单的神经网络模型,拟合了一个线性方程

kinkinhe的博客 1677
上一篇: 比List Box和List control好的控件——网格控件(GridCtrl)
下一篇: visionprocesss
英语饲养员
博客等级 码龄9年 7粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值