实验报告 人工神经网络
神经网络 实验报告

神经网络实验报告神经网络实验报告引言:神经网络是一种模仿人脑神经元网络结构和功能的计算模型,它通过学习和训练来实现模式识别、分类和预测等任务。
本次实验旨在探索神经网络的基本原理和应用,并通过实践验证其效果。
一、神经网络的基本原理1.1 神经元模型神经元是神经网络的基本单元,它接收来自其他神经元的输入信号,并通过激活函数进行处理后输出。
我们采用的是Sigmoid函数作为激活函数,它能够将输入信号映射到0到1之间的值。
1.2 神经网络结构神经网络由输入层、隐藏层和输出层组成。
输入层接收外部输入的数据,隐藏层用于处理和提取特征,输出层给出最终的预测结果。
隐藏层的数量和每层神经元的数量是根据具体问题而定的。
1.3 反向传播算法反向传播算法是神经网络中最常用的训练算法,它通过计算误差和调整权重来不断优化网络的预测能力。
具体而言,它首先进行前向传播计算得到预测结果,然后计算误差,并通过链式法则将误差反向传播到每个神经元,最后根据误差调整权重。
二、实验设计2.1 数据集选择本次实验选择了一个手写数字识别的数据集,其中包含了大量的手写数字图片和对应的标签。
这个数据集是一个经典的机器学习数据集,可以用来评估神经网络的分类能力。
2.2 神经网络参数设置为了探究神经网络的性能和泛化能力,我们设置了不同的参数组合进行实验。
主要包括隐藏层数量、每层神经元数量、学习率和训练轮数等。
2.3 实验步骤首先,我们将数据集进行预处理,包括数据归一化和标签编码等。
然后,将数据集划分为训练集和测试集,用于训练和评估网络的性能。
接下来,根据不同的参数组合构建神经网络,并使用反向传播算法进行训练。
最后,通过测试集评估网络的分类准确率和损失函数值。
三、实验结果与分析3.1 参数优化我们通过对不同参数组合的实验进行比较,找到了在手写数字识别任务上表现最好的参数组合。
具体而言,我们发现增加隐藏层数量和神经元数量可以提高网络的分类准确率,但同时也会增加训练时间。
智能计算实验报告

layerWeights=net.LW{2,1};
layerbias=net.b{2};
%设置训练参数
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 10000;
学习速率:学习速率决定每一次循环训练中所产生的权值变化量。太大,系统不稳定,太小,系统收敛慢。通常选0.1~0.8。
期望误差的选取:与隐含层的神经元数量相关联。
三、梯度下降BP神经元网络算法流程:
算法流程图如下:
具体步骤:
1)确定参数
a确定输入向量 ;
输入量为 (输入层神经元为n个)。
b.确定输出量 和希望输出量 :
可见梯度很快趋于零,速度比1.1中的方法快,这体现了加入动量对提高收敛速度的作用,但是提供收敛速度并不能使系统跳出局部最小值。
1.3有自适应lr的梯度下降法
net=newff(minmax(P),[5,1],{'logsig','logsig'},'traingda');
结果为:
可见只用了468次迭代MSE就满足要求了。
这种循环记忆实际上就是反复重复上面的过程。
四、改进方法:
梯度下降BP网络算法的缺点:
收敛速度慢
存在局部极小点问题
有动量的梯度下降法:
梯度下降法在修正权值时,只是按照K时刻的负梯度方向修正,并没有考虑到以前积累的经验,即以前的梯度方向,从而使得学习过程发生震荡,收敛缓慢。为此可采用如下算法进行改进:
式中, 表示 时刻的负梯度; 为学习速率; 是动量因子,当 时,权值修正只与当前负梯度有关当 时,权值修正就完全取决于上一次循环的负梯度了。这种方法实际上相当于给系统加入了速度反馈,引入了阻尼项从而减小了系统震荡,从而改善了收敛性。
人工神经网络实验报告

人工神经网络实验报告
本实验旨在探索人工神经网络在模式识别和分类任务中的应用效果。
实验设置包括构建神经网络模型、数据预处理、训练网络以及评估网
络性能等步骤。
首先,我们选择了一个经典的手写数字识别任务作为实验对象。
该
数据集包含了大量手写数字的灰度图片,我们的目标是通过构建人工
神经网络模型来实现对这些数字的自动识别。
数据预处理阶段包括了对输入特征的标准化处理、数据集的划分以
及对标签的独热编码等操作。
通过对原始数据进行预处理,可以更好
地训练神经网络模型,提高模型的泛化能力。
接着,我们构建了一个多层感知机神经网络模型,包括输入层、隐
藏层和输出层。
通过选择合适的激活函数、损失函数以及优化算法,
我们逐步训练网络,并不断调整模型参数,使得模型在训练集上达到
较高的准确率。
在模型训练完成后,我们对网络性能进行了评估。
通过在测试集上
进行预测,计算模型的准确率、精确率、召回率以及F1-score等指标,来全面评估人工神经网络在手写数字识别任务上的表现。
实验结果表明,我们构建的人工神经网络模型在手写数字识别任务
中表现出色,准确率高达95%以上,具有较高的识别准确性和泛化能力。
这进一步验证了人工神经网络在模式识别任务中的强大潜力,展
示了其在实际应用中的广阔前景。
总之,本次实验通过人工神经网络的构建和训练,成功实现了对手写数字的自动识别,为人工智能技术在图像识别领域的应用提供了有力支持。
希望通过本实验的研究,可以进一步推动人工神经网络技术的发展,为实现人工智能的智能化应用做出更大的贡献。
BP神经网络实验报告

BP神经网络实验报告一、引言BP神经网络是一种常见的人工神经网络模型,其基本原理是通过将输入数据通过多层神经元进行加权计算并经过非线性激活函数的作用,输出结果达到预测或分类的目标。
本实验旨在探究BP神经网络的基本原理和应用,以及对其进行实验验证。
二、实验方法1.数据集准备本次实验选取了一个包含1000个样本的分类数据集,每个样本有12个特征。
将数据集进行标准化处理,以提高神经网络的收敛速度和精度。
2.神经网络的搭建3.参数的初始化对神经网络的权重和偏置进行初始化,常用的初始化方法有随机初始化和Xavier初始化。
本实验采用Xavier初始化方法。
4.前向传播将标准化后的数据输入到神经网络中,在神经网络的每一层进行加权计算和激活函数的作用,传递给下一层进行计算。
5.反向传播根据预测结果与实际结果的差异,通过计算损失函数对神经网络的权重和偏置进行调整。
使用梯度下降算法对参数进行优化,减小损失函数的值。
6.模型评估与验证将训练好的模型应用于测试集,计算准确率、精确率、召回率和F1-score等指标进行模型评估。
三、实验结果与分析将数据集按照7:3的比例划分为训练集和测试集,分别进行模型训练和验证。
经过10次训练迭代后,模型在测试集上的准确率稳定在90%以上,证明了BP神经网络在本实验中的有效性和鲁棒性。
通过调整隐藏层结点个数和迭代次数进行模型性能优化实验,可以发现隐藏层结点个数对模型性能的影响较大。
随着隐藏层结点个数的增加,模型在训练集上的拟合效果逐渐提升,但过多的结点数会导致模型的复杂度过高,容易出现过拟合现象。
因此,选择合适的隐藏层结点个数是模型性能优化的关键。
此外,迭代次数对模型性能也有影响。
随着迭代次数的增加,模型在训练集上的拟合效果逐渐提高,但过多的迭代次数也会导致模型过度拟合。
因此,需要选择合适的迭代次数,使模型在训练集上有好的拟合效果的同时,避免过度拟合。
四、实验总结本实验通过搭建BP神经网络模型,对分类数据集进行预测和分类。
实训神经网络实验报告

一、实验背景随着人工智能技术的飞速发展,神经网络作为一种强大的机器学习模型,在各个领域得到了广泛应用。
为了更好地理解神经网络的原理和应用,我们进行了一系列的实训实验。
本报告将详细记录实验过程、结果和分析。
二、实验目的1. 理解神经网络的原理和结构。
2. 掌握神经网络的训练和测试方法。
3. 分析不同神经网络模型在特定任务上的性能差异。
三、实验内容1. 实验一:BP神经网络(1)实验目的:掌握BP神经网络的原理和实现方法,并在手写数字识别任务上应用。
(2)实验内容:- 使用Python编程实现BP神经网络。
- 使用MNIST数据集进行手写数字识别。
- 分析不同学习率、隐层神经元个数对网络性能的影响。
(3)实验结果:- 在MNIST数据集上,网络在训练集上的准确率达到98%以上。
- 通过调整学习率和隐层神经元个数,可以进一步提高网络性能。
2. 实验二:卷积神经网络(CNN)(1)实验目的:掌握CNN的原理和实现方法,并在图像分类任务上应用。
(2)实验内容:- 使用Python编程实现CNN。
- 使用CIFAR-10数据集进行图像分类。
- 分析不同卷积核大小、池化层大小对网络性能的影响。
(3)实验结果:- 在CIFAR-10数据集上,网络在训练集上的准确率达到80%以上。
- 通过调整卷积核大小和池化层大小,可以进一步提高网络性能。
3. 实验三:循环神经网络(RNN)(1)实验目的:掌握RNN的原理和实现方法,并在时间序列预测任务上应用。
(2)实验内容:- 使用Python编程实现RNN。
- 使用Stock数据集进行时间序列预测。
- 分析不同隐层神经元个数、学习率对网络性能的影响。
(3)实验结果:- 在Stock数据集上,网络在训练集上的预测准确率达到80%以上。
- 通过调整隐层神经元个数和学习率,可以进一步提高网络性能。
四、实验分析1. BP神经网络:BP神经网络是一种前向传播和反向传播相结合的神经网络,适用于回归和分类问题。
人工神经网络模型及应用领域分析

人工神经网络模型及应用领域分析人工神经网络(Artificial Neural Network)是一种模拟生物神经网络的智能系统。
它由一系列处理单元,即神经元所组成,能够学习、适应和模拟复杂的非线性关系,具有很强的特征提取与分类能力。
其主要应用于机器学习、人工智能等领域,并在图像识别、预测控制、金融风险分析、医学诊断等方面得到广泛应用。
本文将从人工神经网络模型的原理、种类和应用领域三个方面进行探讨。
一、人工神经网络模型的原理人工神经网络模型由模拟人类神经元构成,其基本结构包括输入层、隐藏层和输出层。
其中输入层接受外部输入信息,隐层是神经网络的核心,通过将输入信息转换为内部状态进行处理,并将处理结果传递给输出层。
输出层将最终结果输出给用户。
举个例子,我们可以将输入层视为人类的五官,隐藏层类比于大脑,而输出层则类比人体的手脚。
人工神经网络各层间的信息传递包括两个过程,即正向传递和反向传递。
正向传递过程是指输入信息从输入层流向输出层的过程,即信息的传递方向是输入层-隐藏层-输出层。
反向传递过程是指通过反向误差传递算法计算并更新神经网络中每个权重的值,从而优化神经网络的过程。
二、人工神经网络的种类人工神经网络主要分为三类,分别是前馈神经网络、递归神经网络和自适应神经网络。
一、前馈神经网络(FNN)前馈神经网络是人工神经网络中最为常见的一类,也是最简单的神经网络类型之一。
其功能类似于单向传导信息的系统,例如生物的视网膜和传感器等。
前馈神经网络只有正向传递过程,而没有反向传递过程。
前馈神经网络常用于分类、识别和预测等领域。
二、递归神经网络(RNN)递归神经网络包括输入层、隐藏层和输出层,但隐藏层的神经元可以连接到之前的神经元,使信息得以传递。
与前馈神经网络不同,递归神经网络可以处理时序性数据、自然语言等。
递归神经网络的应用领域主要是非线性有限时序预测、文本分类、语音识别、图像处理、自然语言处理等。
三、自适应神经网络(ANN)自适应神经网络是一种可以自动调整结构和参数的神经网络,包括自组织神经网络和归纳神经网络。
神经网络_实验报告

一、实验目的与要求1. 掌握神经网络的原理和基本结构;2. 学会使用Python实现神经网络模型;3. 利用神经网络对手写字符进行识别。
二、实验内容与方法1. 实验背景随着深度学习技术的不断发展,神经网络在各个领域得到了广泛应用。
在手写字符识别领域,神经网络具有较好的识别效果。
本实验旨在通过实现神经网络模型,对手写字符进行识别。
2. 神经网络原理神经网络是一种模拟人脑神经元结构的计算模型,由多个神经元组成。
每个神经元接收来自前一个神经元的输入,通过激活函数处理后,输出给下一个神经元。
神经网络通过学习大量样本,能够自动提取特征并进行分类。
3. 实验方法本实验采用Python编程语言,使用TensorFlow框架实现神经网络模型。
具体步骤如下:(1)数据预处理:从公开数据集中获取手写字符数据,对数据进行归一化处理,并将其分为训练集和测试集。
(2)构建神经网络模型:设计网络结构,包括输入层、隐藏层和输出层。
输入层用于接收输入数据,隐藏层用于提取特征,输出层用于输出分类结果。
(3)训练神经网络:使用训练集对神经网络进行训练,调整网络参数,使模型能够准确识别手写字符。
(4)测试神经网络:使用测试集对训练好的神经网络进行测试,评估模型的识别效果。
三、实验步骤与过程1. 数据预处理(1)从公开数据集中获取手写字符数据,如MNIST数据集;(2)对数据进行归一化处理,将像素值缩放到[0, 1]区间;(3)将数据分为训练集和测试集,比例约为8:2。
2. 构建神经网络模型(1)输入层:输入层节点数与数据维度相同,本实验中为28×28=784;(2)隐藏层:设计一个隐藏层,节点数为128;(3)输出层:输出层节点数为10,对应10个类别。
3. 训练神经网络(1)定义损失函数:均方误差(MSE);(2)选择优化算法:随机梯度下降(SGD);(3)设置学习率:0.001;(4)训练次数:10000;(5)在训练过程中,每100次迭代输出一次训练损失和准确率。
神经网络课程报告

神经网络课程认识本学期我们对人工神经网络进行了学习,在学习的过程中,我们对什么是神经网络,神经网络的发展史,神经网络的特点和功能以及神经网络的应用领域等多方面知识都有所了解。
从开始的对人工神经网络的初步了解到最后模型的建立,我们对人工神经网络的认识不断加深。
神经网络作为自动控制及智能控制专业的一个重要分支,掌握一些与其相关的基础知识对今后的学习会有较大的帮助。
具体的人工神经网络中,我们主要学习了单层感知器、标准BP网络、改进型的BP网络、自组织竞争神经网络以及离散型Hopfield网络(即DHNN 网络)。
其中,我们重点学习了标准型BP网络。
在后面的编程训练中,我们也以标准BP网络为模型,设计了一个较为简单的实际型编程问题。
接下来谈谈具体的学习情况:在学习的过程中,我们首先学习了什么是人工神经网络。
这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。
虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
以数学和物理的方法以及信息处理的角度对人脑神经网络进行抽象,并建立某种简化的模型就是人工神经网络。
人工神经网络远不是人脑生物神经网络的真实写照,而只是对它的简化,抽象与模拟。
揭示人脑的奥妙不仅需要各学科的交叉和各领域专家的协作,还需要测试手段的进一步发展。
目前已经提出了上百种的神经网络模型,这种简化模型能放映出人脑的许多基本特征。
综合人工神经网络的来源,特点及各种解释,可以简单的表述为:人工神经网络是一种旨在模仿人脑结构及其功能的脑式智能信息处理系统。
神经网络的研究可以追溯到19世纪末期,其发展可分为启蒙时期,低潮时期,复兴时期及新时期四个阶段。
人工神经网络是基于对人脑组织结构,活动机制的初步认识提出的一种新型信息处理体系。
人工神经网络具有人脑的一些基本功能,也有其自身的一些特点。
结构特点:信息处理的并行性,信息储存的分布性,信息处理单元的互连性,结构的可塑性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告人工神经网络实验原理:利用线性回归和神经网络建模技术分析预测。
实验题目:利用给出的葡萄酒数据集,解释获得的分析结论。
library(plspm); data(wines); wines实验要求:1、探索认识意大利葡萄酒数据集,对葡萄酒数据预处理,将其随机划分为训练集和测试集,然后创建一个线性回归模型;2、利用neuralnet包拟合神经网络模型;3、评估两个模型的优劣,如果都不理想,提出你的改进思路。
分析报告:1、线性回归模型> rm(list=ls())> gc()used (Mb) gc trigger (Mb) max used (Mb)Ncells 250340 13.4 608394 32.5 408712 21.9Vcells 498334 3.9 8388608 64.0 1606736 12.3>library(plspm)>data(wines)>wines[c(1:5),]class alcohol malic.acid ash alcalinity magnesium phenols flavanoids1 1 14.23 1.71 2.43 15.6 127 2.80 3.062 1 13.20 1.78 2.14 11.2 100 2.65 2.763 1 13.16 2.36 2.67 18.6 101 2.80 3.244 1 14.37 1.95 2.50 16.8 113 3.85 3.495 1 13.24 2.59 2.87 21.0 118 2.80 2.69nofla.phen proantho col.intens hue diluted proline1 0.28 2.29 5.64 1.04 3.92 10652 0.26 1.28 4.38 1.05 3.40 10503 0.30 2.81 5.68 1.03 3.17 11854 0.24 2.18 7.80 0.86 3.45 14805 0.39 1.82 4.32 1.04 2.93 735> data <- wines> summary(wines)class alcohol malic.acid ashMin. :1.000 Min. :11.03 Min. :0.740 Min. :1.3601st Qu.:1.000 1st Qu.:12.36 1st Qu.:1.603 1st Qu.:2.210Median :2.000 Median :13.05 Median :1.865 Median :2.360Mean :1.938 Mean :13.00 Mean :2.336 Mean :2.3673rd Qu.:3.000 3rd Qu.:13.68 3rd Qu.:3.083 3rd Qu.:2.558Max. :3.000 Max. :14.83 Max. :5.800 Max. :3.230alcalinity magnesium phenols flavanoids Min. :10.60 Min. : 70.00 Min. :0.980 Min. :0.340 1st Qu.:17.20 1st Qu.: 88.00 1st Qu.:1.742 1st Qu.:1.205 Median :19.50 Median : 98.00 Median :2.355 Median :2.135 Mean :19.49 Mean : 99.74 Mean :2.295 Mean :2.029 3rd Qu.:21.50 3rd Qu.:107.00 3rd Qu.:2.800 3rd Qu.:2.875 Max. :30.00 Max. :162.00 Max. :3.880 Max. :5.080 nofla.phen proantho col.intens hue Min. :0.1300 Min. :0.410 Min. : 1.280 Min. :0.4800 1st Qu.:0.2700 1st Qu.:1.250 1st Qu.: 3.220 1st Qu.:0.7825 Median :0.3400 Median :1.555 Median : 4.690 Median :0.9650 Mean :0.3619 Mean :1.591 Mean : 5.058 Mean :0.9574 3rd Qu.:0.4375 3rd Qu.:1.950 3rd Qu.: 6.200 3rd Qu.:1.1200 Max. :0.6600 Max. :3.580 Max. :13.000 Max. :1.7100 diluted prolineMin. :1.270 Min. : 278.01st Qu.:1.938 1st Qu.: 500.5Median :2.780 Median : 673.5Mean :2.612 Mean : 746.93rd Qu.:3.170 3rd Qu.: 985.0Max. :4.000 Max. :1680.0Num Variable Description 解释1 class Type of wine 葡萄酒的种类2 alcohol Alcohol 醇3 malic.acid Malic acid 苹果酸4 ash Ash 灰5 alcalinity Alcalinity 碱度6 magnesium Magnesium 镁7 phenols Total phenols 酚类8 flavanoids Flavanoids 黄酮9 nofla.phen Nonflavanoid phenols 非黄烷类酚类10 proantho Proanthocyanins 花青素11 col.intens Color intensity 颜色强度12 hue Hue 色调13 diluted OD280/OD315 of diluted wines 稀释的葡萄酒14 proline Proline 脯氨酸> apply(data,2,function(x) sum(is.na(x)))class alcohol malic.acid ash alcalinity magnesium phenols 0 0 0 0 0 0 0 flavanoids nofla.phen proantho col.intens hue diluted proline 0 0 0 0 0 0 0> dim(wines)[1] 178 14> set.seed(2)> test=sample(1:nrow(wines),100)> wines.train<-wines[-test,]> wines.test<-wines[test,]> dim(wines.train);dim(wines.test)[1] 78 14[1] 100 14> lm.fit <- glm(alcohol~., data=wines.train)> summary(lm.fit)Call:glm(formula = alcohol ~ ., data = wines.train)Deviance Residuals:Min 1Q Median 3Q Max-0.98017 -0.31067 -0.00405 0.36184 1.23885Coefficients:Estimate Std. Error t value Pr(>|t|)(Intercept) 13.0661361 1.2664910 10.317 3.04e-15 ***class -0.4043994 0.2389115 -1.693 0.09538 .malic.acid 0.1612962 0.0730559 2.208 0.03085 *ash 0.2621448 0.3669235 0.714 0.47755alcalinity -0.0591380 0.0328684 -1.799 0.07670 .magnesium 0.0003567 0.0052733 0.068 0.94628phenols 0.1719659 0.2078450 0.827 0.41110flavanoids -0.1780915 0.1815817 -0.981 0.33039nofla.phen -0.4623220 0.7409499 -0.624 0.53487proantho -0.2402948 0.1449535 -1.658 0.10226col.intens 0.1580059 0.0447835 3.528 0.00078 ***hue 0.1226260 0.4205420 0.292 0.77154diluted -0.0889085 0.1967579 -0.452 0.65289proline 0.0008112 0.0003943 2.058 0.04371 *---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1(Dispersion parameter for gaussian family taken to be 0.2968956)Null deviance: 57.473 on 77 degrees of freedomResidual deviance: 19.001 on 64 degrees of freedomAIC: 141.2Number of Fisher Scoring iterations: 2> pr.lm <- predict(lm.fit,wines.test)> MSE.lm <- sum((pr.lm - wines.test$alcohol)^2)/nrow(wines.test)> print(MSE.lm)[1] 0.30436252、神经网络模型> maxs <- apply(wines, 2, max)> mins <- apply(wines, 2, min)> scaled <- as.data.frame(scale(wines, center = mins, scale = maxs - mins))> index <- sample(1:nrow(wines),round(0.75*nrow(wines)))> train_ <- scaled[index,]> test_ <- scaled[index,]> library(neuralnet)> n <- names(train_)> f <- as.formula(paste("alcohol~", paste(n[!n %in% "alcohol"], collapse = " + ")))> nn <- neuralnet(f,data=train_,hidden=c(5,3),linear.output=T)> plot(nn)>pr.nn <- compute(nn,test_[,1:13])>pr.nn__<-pr.nn$net.result*(max(test_$alcohol)-min(test_$alcohol))+mi n(test_$alcohol)>test.r1<-(test_$alcohol)*(max(test_$alcohol)-min(test_$alcohol))+min (test_$alcohol)> MSE.nn1 <- sum((test.r1 - pr.nn__)^2)/nrow(test_)> print(paste(MSE.lm,MSE.nn1))[1] "0.304362456679839 0.14726865189892"3、模型修正>par(mfrow=c(1,2))>plot(test_$alcohol,pr.nn__,col='red',main='Real vs predicted NN',pch=18,cex=0.7)>abline(0,1,lwd=2)>legend('bottomright',legend='NN',pch=18,col='red', bty='n')>plot(wines.test$alcohol,pr.lm,col='blue',main='Real vs predictedlm',pch=18, cex=0.7) >abline(0,1,lwd=2)>legend('bottomright',legend='LM',pch=18,col='blue', bty='n', cex=0.7)0.00.40.80.00.20.40.60.81.01.2Real vs predicted NNtest_$alcohol p r .n n __11.512.513.511.512.012.513.013.514.014.5Real vs predicted lmwines.test$alcoholp r .lm> par(mfrow=c(1,1))> plot(test_$alcohol,pr.nn__,col='red',main='Real vs predicted NN',pch=18,cex=0.7)> points(wines.test$alcohol,pr.lm,col='blue',pch=18,cex=0.7) > abline(0,1,lwd=2)>legend('bottomright',legend=c('NN','LM'),pch=18,col=c('red','blue'))> library(boot)> set.seed(200)> lm.fit <- glm(alcohol~.,data=data)> cv.glm(data,lm.fit,K=10)$delta[1][1] 0.3058061679>set.seed(450)>cv.error <- NULL>k <- 10>library(plyr)>pbar <- create_progress_bar('text')>pbar$init(k)>for(i in 1:k){index <- sample(1:nrow(data),round(0.9*nrow(data)))train.cv <- scaled[index,]test.cv <- scaled[-index,]nn <- neuralnet(f,data=train.cv,hidden=c(5,2),linear.output=T)pr.nn <- compute(nn,test.cv[,1:13])pr.nn__<-pr.nn$net.result*(max(test_$alcohol)-min(test_$alcohol))+min (test_$alcohol)test.cv.r <- (test.cv$alcohol)*(max(test.cv$alcohol)-min(test.cv$alcohol))+min(tes t.cv$alcohol)cv.error[i] <- sum((test.cv.r - pr.nn__)^2)/nrow(test.cv)pbar$step()}> mean(cv.error)[1] 0.06900470043> cv.error[1] 0.0791******* 0.10556665990 0.05904083258 0.0714******* 0.0992******* [6] 0.03239406600 0.04807466437 0.0999******* 0.0355******* 0.0596*******> par(mfrow=c(1,1))> par(mfrow=c(1,1))> boxplot(cv.error,xlab='MSE CV',col='cyan',+ border='blue',names='CV error (MSE)',+ main='CV error (MSE) for NN',horizontal=TRUE)0.040.060.080.10MSE CV> cv.error[i] [1] 0.0596547757。