zoukankan      html  css  js  c++  java
  • 翻译文章第六章8-11

    Training a neural network with neuralnet

    用神经网络神经网络的训练

    The neural network is constructed with an interconnected group of nodes, which involves the

    input, connected weights, processing element, and output. Neural networks can be applied to

    many areas, such as classification, clustering, and prediction. To train a neural network in R,

    you can use neuralnet, which is built to train multilayer perceptron in the context of regression

    analysis, and contains many flexible functions to train forward neural networks. In this recipe,

    we will introduce how to use neuralnet to train a neural network.

    神经网络的构建与一组相互连接的节点,其中涉及的输入,连接的权重,处理单元,和输出。神经网络可以应用到许多领域,如分类、聚类、预测。在训练一个神经网络,可以使用神经网络,它是建立在回归分析的语境训练多层感知器,并包含了许多灵活的功能训练前馈神经网络。在这个食谱中,我们将介绍如何利用神经网络来训练神经网络。

    Getting ready

    In this recipe, we will use an  iris dataset as our example dataset. We will first split the  iris

    dataset into a training and testing datasets, respectively.

    在这个配方中,我们将使用IRIS数据集作为我们的示例数据集。我们将首先分割成一个训练和测试数据集的虹膜数据集,分别。

    How to do it...

    Perform the following steps to train a neural network with neuralnet:

    执行以下步骤来训练一个神经网络与神经网络:

    1. First load the  iris dataset and split the data into training and testing datasets:

    首先加载虹膜数据集并将数据分割成训练和测试数据集:

    > data(iris)
    
    > ind = sample(2, nrow(iris), replace = TRUE, prob=c(0.7, 0.3))
    
    > trainset = iris[ind == 1,]
    
    > testset = iris[ind == 2,]
    

      

    2. Then, install and load the  neuralnet package:

    然后,安装和负荷的神经网络软件包:

    > install.packages("neuralnet")
    
    > library(neuralnet)
    

      

    3. Add the columns versicolor, setosa, and virginica based on the name matched value

    in the  Species column:

    3.添加列云芝,粗糙,和锦葵基于名称匹配的值在物种列:

    > trainset$setosa = trainset$Species == "setosa"
    
    > trainset$virginica = trainset$Species == "virginica"
    
    > trainset$versicolor = trainset$Species == "versicolor"
    

      

    4. Next, train the neural network with the  neuralnet function with three hidden

    neurons in each layer. Notice that the results may vary with each training, so you

    might not get the same result. However, you can use set.seed at the beginning, so

    you can get the same result in every training process

    4。其次,训练神经网络与神经网络的功能有三个隐层神经元。注意,每次培训的结果可能会有所不同,所以你可能不会得到相同的结果。然而,你可以使用set.seed开始,所以你可以在每一个训练过程得到相同的结果。

    > network = neuralnet(versicolor + virginica + setosa~ Sepal.

    Length + Sepal.Width + Petal.Length + Petal.Width, trainset,

    hidden=3)

    > network

    Call: neuralnet(formula = versicolor + virginica + setosa ~ Sepal.

    Length + Sepal.Width + Petal.Length + Petal.Width, data =

    trainset, hidden = 3)

    1 repetition was calculated.

    Error Reached Threshold Steps

    1 0.8156100175 0.009994274769 11063

    5. Now, you can view the  summary information by accessing the  result.matrix

    attribute of the built neural network model:

    5。现在,你可以通过访问建立的神经网络模型的result.matrix属性查看摘要信息:

    > network$result.matrix

    error 0.815610017474

    reached.threshold 0.009994274769

    steps 11063.000000000000

    Intercept.to.1layhid1 1.686593311644

    Sepal.Length.to.1layhid1 0.947415215237

    Sepal.Width.to.1layhid1 -7.220058260187

    Petal.Length.to.1layhid1 1.790333443486

    Petal.Width.to.1layhid1 9.943109233330

    Intercept.to.1layhid2 1.411026063895

    Sepal.Length.to.1layhid2 0.240309549505

    Sepal.Width.to.1layhid2 0.480654059973

    Petal.Length.to.1layhid2 2.221435192437

    Petal.Width.to.1layhid2 0.154879347818

    Intercept.to.1layhid3 24.399329878242

    Sepal.Length.to.1layhid3 3.313958088512

    Sepal.Width.to.1layhid3 5.845670010464

    Petal.Length.to.1layhid3 -6.337082722485

    Petal.Width.to.1layhid3 -17.990352566695

    Intercept.to.versicolor -1.959842102421

    1layhid.1.to.versicolor 1.010292389835

    1layhid.2.to.versicolor 0.936519720978

    1layhid.3.to.versicolor 1.023305801833

    Intercept.to.virginica -0.908909982893

    1layhid.1.to.virginica -0.009904635231

    1layhid.2.to.virginica 1.931747950462

    1layhid.3.to.virginica -1.021438938226

    Intercept.to.setosa 1.500533827729

    1layhid.1.to.setosa -1.001683936613

    1layhid.2.to.setosa -0.498758815934

    1layhid.3.to.setosa -0.001881935696

    1. Lastly, you can view the generalized weight by accessing it in the network:

    6,最后,您可以通过在网络中访问它来查看广义权重:

    > head(network$generalized.weights[[1]])
    

      

    How it works...

    The neural network is a network made up of artificial neurons (or nodes). There are three

    types of neurons within the network: input neurons, hidden neurons, and output neurons.

    In the network, neurons are connected; the connection strength between neurons is called

    weights. If the weight is greater than zero, it is in an excitation status. Otherwise, it is in an

    inhibition status. Input neurons receive the input information; the higher the input value, the

    greater the activation. Then, the activation value is passed through the network in regard to

    weights and transfer functions in the graph. The hidden neurons (or output neurons) then

    sum up the activation values and modify the summed values with the transfer function. The

    activation value then flows through hidden neurons and stops when it reaches the output

    nodes. As a result, one can use the output value from the output neurons to classify the data.

    神经网络是一种由人工神经元网络(或节点)。网络中有三种类型的神经元:输入神经元、隐藏神经元和输出神经元,在网络中,神经元连接,神经元之间的连接强度称为权值。如果重量大于零,则处于激发状态。否则,处于抑制状态。输入神经元接收输入信息,输入值越高,激活越大。然后,激活值是通过网络在图中的权重和传递函数方面。隐藏的神经元(或输出神经元),然后总结了激活值和修改的总和值与传递函数。活性值然后流经隐藏神经元和停止时输出节点。因此,可以使用输出神经元的输出值对数据进行分类。

    The advantages of a neural network are: first, it can detect nonlinear relationships between

    the dependent and independent variable. Second, one can efficiently train large datasets

    using the parallel architecture. Third, it is a nonparametric model so that one can eliminate

    errors in the estimation of parameters. The main disadvantages of a neural network are that

    it often converges to the local minimum rather than the global minimum. Also, it might over-fit

    when the training process goes on for too long.

    神经网络的优点是:RST,它可以检测依赖和独立变量之间的非线性关系。其次,可以有效地培养大数据集,采用并行体系结构。第三,它是一个非参数模型,这样就可以消除参数估计中的错误。神经网络的主要缺点是,它往往收敛到局部极小,而不是全局最小。此外,它可能超过T时,训练过程持续太久。

    In this recipe, we demonstrate how to train a neural network. First, we split the  iris dataset

    into training and testing datasets, and then install the  neuralnet package and load the

    library into an R session. Next, we add the columns  versicolor ,  setosa , and  virginica

    based on the name matched value in the  Species column, respectively. We then use the

    neuralnet function to train the network model. Besides specifying the label (the column

    where the name equals to versicolor, virginica, and setosa) and training attributes in the

    function, we also configure the number of hidden neurons (vertices) as three in each layer.

    在这个食谱中,我们演示了如何训练神经网络。首先,我们把IRIS数据为训练和测试数据集,然后安装神经网络包和加载的库到一个R会话。接下来,我们添加的列云芝,粗糙,和锦葵基于名称匹配的值在物种列,分别。然后用神经网络函数训练网络模型。除了指定的标签(如名称为云芝,锦葵,和粗糙的柱)和功能训练的属性,我们也配置隐层神经元的个数(顶点)三在每一层。

    Then, we examine the basic information about the training process and the trained network

    saved in the network. From the output message, it shows the training process needed

    11,063 steps until all the absolute partial derivatives of the error function were lower than

    0.01 (specified in the threshold). The error refers to the likelihood of calculating Akaike

    Information Criterion (AIC). To see detailed information on this, you can access the  result.

    matrix of the built neural network to see the estimated weight. The output reveals that the

    estimated weight ranges from -18 to 24.40; the intercepts of the first hidden layer are 1.69,

    1.41 and 24.40, and the two weights leading to the first hidden neuron are estimated as 0.95

    ( Sepal.Length ), -7.22 ( Sepal.Width ), 1.79 ( Petal.Length ), and 9.94 ( Petal.Width ).

    We can lastly determine that the trained neural network information includes generalized

    weights, which express the effect of each covariate. In this recipe, the model generates

    12 generalized weights, which are the combination of four covariates ( Sepal.Length ,

    Sepal.Width ,  Petal.Length ,  Petal.Width ) to three responses ( setosa ,  virginica ,

    versicolor ).

    然后,我们研究的基本信息的训练过程和训练有素的网络中保存的网络。从输出信息,它示出训练过程所需的11063个步骤,直到所有的绝对偏导数的误差函数均低于0.01(在阈值中指定)。误差是指计算Akaike信息准则(AIC)的可能性。要查看详细信息,您可以访问结果。建立人工神经网络的矩阵估计权值。输出显示,估计重量范围从18到24.40;截获的第一个隐藏层的1.69、1.41和24.40,和两个重量导致第一个隐藏神经元估计为0.95(萼片长度),-7.22(萼片宽度)、1.79(花瓣长度),和9.94(花瓣宽度)。最后,我们可以确定受过训练的神经网络信息包括广义权重,表示各协变量的影响。在这个配方中,模型生成12广义的权重,这是四个变量的组合(sepal.length,萼片宽度、花瓣长度、花瓣宽度)三反应(粗糙、锦葵、云芝)

    See also

    For a more detailed introduction on neuralnet, one can refer to the following paper:

    Günther, F., and Fritsch, S. (2010). neuralnet: Training of neural networks. The R

    journal, 2(1), 30-38

    一个更详细的介绍了神经网络,可以参考以下文件:古̈舌鳎,F,和弗里奇,S(2010)。神经网络:神经网络训练。R学报,2(1),30-38。

    Visualizing a neural network trained by neuralnet

    想象一个由受过训练的神经网络神经网络

    The package,  neuralnet , provides the  plot function to visualize a built neural network and

    the  gwplot function to visualize generalized weights. In following recipe, we will cover how to

    use these two functions.

    这个包,神经网络,提供了绘图功能,可视化的神经网络建模和可视化gwplot函数广义权重。在下面的食谱中,我们将介绍如何使用这两个函数。

    Getting ready

    You need to have completed the previous recipe by training a neural network and have all

    basic information saved in the network.

    你需要通过训练一个神经网络来完成以前的配方,并保存在网络中的所有基本信息。

    How to do it...

    Perform the following steps to visualize the neural network and the generalized weights:

    1. You can visualize the trained neural network with the  plot function:

    1。你可以可视化训练的神经网络的情节功能:

    > plot(network)
    

      

    2. Furthermore, you can use gwplot to visualize the generalized weights: > par(mfrow=c(2,2)) > gwplot(network,selected.covariate="Petal.Width") > gwplot(network,selected.covariate="Sepal.Width") > gwplot(network,selected.covariate="Petal.Length") > gwplot(network,selected.covariate="Petal.Width")

    How it works...

    In this recipe, we demonstrate how to visualize the trained neural network and the generalized

    weights of each trained attribute. As per Figure 10, the plot displays the network topology of

    the trained neural network. Also, the plot includes the estimated weight, intercepts and basic

    information about the training process. At the bottom of the figure, one can find the overall

    error and number of steps required to converge.

    在这个食谱中,我们演示了如何可视化训练的神经网络和广义权重的每一个训练有素的属性。如图10所示,该图显示受过训练的神经网络的网络拓扑结构。此外,情节包括估计重量,拦截和基本信息的培训过程。在图的底部,可以发现整体误差和收敛所需步骤数。

    Figure 11 presents the generalized weight plot in regard to  network$generalized.weights .

    The four plots in Figure 11 display the four covariates:  Petal.Width ,  Sepal.Width ,  Petal.

    Length , and  Petal.Width , in regard to the versicolor response. If all the generalized weights

    are close to zero on the plot, it means the covariate has little effect. However, if the overall

    variance is greater than one, it means the covariate has a nonlinear effect.

    图11给出了关于网络generalized.weights美元广义重情节。四图显示在图11的四个变量:花瓣,萼片宽度、宽度、花瓣。长度,和花瓣,宽度,关于花斑癣反应。如果所有的广义权重接近零的情节,这意味着协变量的影响不大。然而,如果整体方差大于1,这意味着协变量具有非线性效应。

    See also

    For more information about  gwplot , one can use the  help function to access the

    following document:

    关于gwplot的更多信息,可以使用帮助功能访问下列文件:

    > ?gwplot

    Predicting labels based on a model trainedby neuralnet

    基于训练的神经网络预测模型标签

    Similar to other classification methods, we can predict the labels of new observations based

    on trained neural networks. Furthermore, we can validate the performance of these networks

    through the use of a confusion matrix. In the following recipe, we will introduce how to use

    the  compute function in a neural network to obtain a probability matrix of the testing dataset

    labels, and use a table and confusion matrix to measure the prediction performance.

    类似于其他的分类方法,我们可以预测基于神经网络新的观测结果的标签。此外,我们可以验证这些网络的性能,通过使用混淆矩阵。在下面的配方中,我们将介绍如何使用神经网络中的计算功能,得到测试数据集标签的概率矩阵,并使用表和混淆矩阵来衡量预测性能。

    Getting ready

    You need to have completed the previous recipe by generating the training dataset,  trainset ,

    and the testing dataset,  testset . The trained neural network needs to be saved in the network.

    你需要通过生成训练数据集,完成了以前的配方的动车组,和测试数据,测试。训练后的神经网络需要保存在网络中。

    How to do it...

    Perform the following steps to measure the prediction performance of the trained neural

    network:

    执行以下步骤来测量训练神经网络的预测性能:

    1. First, generate a prediction probability matrix based on a trained neural network and

    the testing dataset,  testset :

    1。首先,生成一个基于神经网络的预测概率矩阵和测试数据,测试:

    > net.predict = compute(network, testset[-5])$net.result
    

      

    2. Then, obtain other possible labels by finding the column with the greatest probability:

    2。然后,通过在柱以最大概率获得其他可能的标签:

    > net.prediction = c("versicolor", "virginica", "setosa")

    [apply(net.predict, 1, which.max)]

    3. Generate a classification table based on the predicted labels and the labels of the

    testing dataset:

    3.生成一个基于预测的标签和标签的测试数据集的分类表:

    > predict.table = table(testset$Species, net.prediction)

    > predict.table

    prediction

    setosa versicolor virginica

    setosa 20 0 0

    versicolor 0 19 1

    virginica 0 2 16

    1. Next, generate  classAgreement from the classification table:

    接下来,从分类表生成类协议:

    > classAgreement(predict.table)

    $diag

    [1] 0.9444444444

    $kappa

    [1] 0.9154488518

    $rand

    [1] 0.9224318658

    $crand

    [1] 0.8248251737

    5. Finally, use  confusionMatrix to measure the prediction performance:

    5。最后,利用混淆矩阵来衡量预测性能:

    > confusionMatrix(predict.table)

    Confusion Matrix and Statistics

    prediction

    setosa versicolor virginica

    setosa 20 0 0

    versicolor 0 19 1

    virginica 0 2 16

    Overall Statistics

    Accuracy : 0.9482759

    95% CI : (0.8561954, 0.9892035)

    No Information Rate : 0.362069

    P-Value [Acc > NIR] : < 0.00000000000000022204

    Kappa : 0.922252

    Mcnemar's Test P-Value : NA

    Statistics by Class:

    Class: setosa Class: versicolor Class:

    virginica

    Sensitivity 1.0000000 0.9047619

    0.9411765

    Specificity 1.0000000 0.9729730

    0.9512195

    Pos Pred Value 1.0000000 0.9500000

    0.8888889

    Neg Pred Value 1.0000000 0.9473684

    0.9750000

    Prevalence 0.3448276 0.3620690

    0.2931034

    Detection Rate 0.3448276 0.3275862

    0.2758621

    Detection Prevalence 0.3448276 0.3448276

    0.3103448

    Balanced Accuracy 1.0000000 0.9388674

    0.9461980

    How it works...

    In this recipe, we demonstrate how to predict labels based on a model trained by neuralnet.

    Initially, we use the  compute function to create an output probability matrix based on the

    trained neural network and the testing dataset. Then, to convert the probability matrix to class

    labels, we use the  which.max function to determine the class label by selecting the column

    with the maximum probability within the row. Next, we use a table to generate a classification

    matrix based on the labels of the testing dataset and the predicted labels. As we have

    created the classification table, we can employ a confusion matrix to measure the prediction

    performance of the built neural network.

    在这个谱中,我们演示了如何预测基于训练的神经网络模型的标签。最初,我们使用的计算函数来创建一个输出概率矩阵的基础上受过训练的神经网络和测试数据集。然后,转换概率矩阵类的标签,我们使用which.max功能通过行内的最大概率选择的列确定的类标签。接下来,我们使用一个表来生成一个基于测试数据集的标签和标签的预测分类矩阵。我们已经创建了分类表,我们可以用混淆矩阵测量建立的神经网络的预测性能。

    See also

    In this recipe, we use the  net.result function, which is the overall result of

    the neural network, used to predict the labels of the testing dataset. Apart from

    examining the overall result by accessing  net.result , the  compute function also

    generates the output from neurons in each layer. You can examine the output of

    neurons to get a better understanding of how  compute works:

    在这个谱中,我们使用net.result功能,这是整体的结果,神经网络,用于预测的测试数据集的标签。除了通过访问net.result检查结果,计算功能也从每层中的神经元产生的输出。你可以检查神经元的输出,以便更好地理解计算机是如何工作的:

    > compute(network, testset[-5])

    Training a neural network with nnet

    The  nnet package is another package that can deal with artificial neural networks. This

    package provides the functionality to train feed-forward neural networks with traditional

    back propagation. As you can find most of the neural network function implemented in

    the  neuralnet package, in this recipe we provide a short overview of how to train neural

    networks with  nnet .

    该网络包是另一个包,可以处理的人工神经网络的。包提供了训练前馈神经网络与传统的功能反向传播,你可以找到最中实现的神经网络函数的神经网络软件包,这个配方中我们提供了一个简短的分析如何培养神经网络与神经网络

    Getting ready

    In this recipe, we do not use the  trainset and  trainset generated from the previous step;

    please reload the  iris dataset again.

    在这个食谱中,我们不使用上一步产生,动车组,动车组;请重新加载虹膜数据集

    How to do it...

    Perform the following steps to train the neural network with  nnet :

    执行以下步骤来训练神经网络与神经网络

    1. First, install and load the  nnet package:

    > install.packages("nnet")
    
    > library(nnet)
    

      

    2. Next, split the dataset into training and testing datasets:

    > data(iris)
    
    > set.seed(2)
      
    > ind = sample(2, nrow(iris), replace = TRUE, prob=c(0.7, 0.3))
    
    > trainset = iris[ind == 1,]
    
    > testset = iris[ind == 2,]
    

      

    3. Then, train the neural network with  nnet :

    > iris.nn = nnet(Species ~ ., data = trainset, size = 2, rang =

    0.1, decay = 5e-4, maxit = 200)

    # weights: 19

    initial value 165.086674

    iter 10 value 70.447976

    iter 20 value 69.667465

    iter 30 value 69.505739

    iter 40 value 21.588943

    iter 50 value 8.691760

    iter 60 value 8.521214

    iter 70 value 8.138961

    ter 80 value 7.291365

    iter 90 value 7.039209

    iter 100 value 6.570987

    iter 110 value 6.355346

    iter 120 value 6.345511

    iter 130 value 6.340208

    iter 140 value 6.337271

    iter 150 value 6.334285

    iter 160 value 6.333792

    iter 170 value 6.333578

    iter 180 value 6.333498

    final value 6.333471

    converged

    4. Use the  summary to obtain information about the trained neural network:

    > summary(iris.nn)

    a 4-2-3 network with 19 weights

    options were - softmax modelling decay=0.0005

    b->h1 i1->h1 i2->h1 i3->h1 i4->h1

    -0.38 -0.63 -1.96 3.13 1.53

    b->h2 i1->h2 i2->h2 i3->h2 i4->h2

    8.95 0.52 1.42 -1.98 -3.85

    b->o1 h1->o1 h2->o1

    3.08 -10.78 4.99

    b->o2 h1->o2 h2->o2

    -7.41 6.37 7.18

    b->o3 h1->o3 h2->o3

    4.33 4.42 -12.16

    How it works...

    In this recipe, we demonstrate steps to train a neural network model with the  nnet package.

    We first use  nnet to train the neural network. With this function, we can set the classification

    formula, source of data, number of hidden units in the  size parameter, initial random

    weight in the  rang parameter, parameter for weight decay in the  decay parameter, and the

    maximum iteration in the  maxit parameter. As we set  maxit to 200, the training process

    repeatedly runs till the value of the fitting criterion plus the decay term converge. Finally, we

    use the  summary function to obtain information about the built neural network, which reveals

    that the model is built with 4-2-3 networks with 19 weights. Also, the model shows a list of

    weight transitions from one node to another at the bottom of the printed message.

    初始随机参数中的权重,衰减参数中的重量衰减参数,以及在麦克斯参数最大迭代。我们的麦克斯200、训练过程反复运行仍将拟合标准值加上衰减项收敛,最后,我们使用汇总函数在建立神经网络的形成入手,揭示了该模型是4-2-3网络与19权重的建立。同时,该模型显示从一个节点到另一个在印刷信息的底单重量转换

    See also

    For those who are interested in the background theory of  nnet and how it is made, please

    refer to the following articles:

    对于那些在网络背景下的理论感兴趣,它是如何产生的,请参见以下文章:Ripley,博士(1996)模式识别与神经网络。剑桥维纳布尔斯,w.n.,和Ripley,博士(2002)。现代应用统计学与S第四版。施普林格

    f Ripley, B. D. (1996) Pattern Recognition and Neural Networks. Cambridge

    f Venables, W. N., and Ripley, B. D. (2002). Modern applied statistics with S. Fourth

    edition. Springer

    Predicting labels based on a model trained by nnet

    基于预测的标签培养的神经网络模型

    As we have trained aneural network with nnet in the previous recipe,we can now predict the labels of the testing dataset based on the trained neural network

    .我们训练的神经网络在以前的配方的神经网络,我们现在可以预测基于训练的神经网络的测试数据集的标签.

    Furthermore,we can assess the model with a confusion matrix adapted from the caret package.

    此外,我们可以评估从插入包装采用混淆矩阵模型

    Getting ready

    You need to have completed the previous recipe by generating the training dataset,trainset,and the testing dataset, testset, from their is dataset.

    .您需要通过生成训练数据集来完成前一个配方,动车组,和测试数据,测试,从他们的数据。

    The trained neural network also needs to be saved as iris.nn.

    神经网络也需要保存为iris.nn

    How to do it...

    Performthefollowingstepstopredictlabelsbasedonthetrainedneuralnetwork:

    1.Generatethepredictionsofthetestingdatasetbasedonthemodel,iris.nn:

    >iris.predict=predict(iris.nn,testset,type="class")

    2.Generateaclassificationtablebasedonthepredictedlabelsandlabelsofthetesting

    dataset:

    >nn.table=table(testset$Species,iris.predict)

    iris.predict

    setosaversicolorvirginica

    setosa1700

    versicolor0140

    virginica0114

    3.Lastly,generateaconfusionmatrixbasedontheclassiicationtable:

    >confusionMatrix(nn.table)

    ConfusionMatrixandStatistics

    iris.predict

    setosaversicolorvirginica

    setosa1700

    versicolor0140

    virginica0114

    OverallStatistics

    Accuracy:0.9782609

    95%CI:(0.8847282,0.9994498)

    NoInformationRate:0.3695652

    P-Value[Acc>NIR]:<0.00000000000000022204

    Kappa:0.9673063

    Mcnemar'sTestP-Value:NA

    StatisticsbyClass:

    Class:setosaClass:versicolor

    Sensitivity1.00000000.9333333

    Specificity1.00000001.0000000

    PosPredValue1.00000001.0000000

    NegPredValue1.00000000.9687500

    Prevalence0.36956520.3260870

    DetectionRate0.36956520.3043478

    DetectionPrevalence0.36956520.3043478

    BalancedAccuracy1.00000000.9666667

    Class:virginica

    Sensitivity1.0000000

    Specificity0.9687500

    PosPredValue0.9333333

    NegPredValue1.0000000

    Prevalence0.3043478

    DetectionRate0.3043478

    DetectionPrevalence0.3260870

    BalancedAccuracy0.9843750

    How it works...

    Similar to other classiication methods,one can also predict labels based on the neural networks trained by nnet.First,we use the predict function to generate the predicted labels based on a testing dataset, testset.Within the predict function,we specify the type argument to the class,so the output will be class labels in stead of a probability matrix.Next,we use the table function to generate a classification table based on predicted labels and labels written in the testing dataset.Finally,as we have created the classification table,we can employ a confusion matrix from the caret package to measure the prediction performance of the trained neural network.

    类似于其他的分类方法,也可以预测标签的基础上的神经由受过训练的神经网络网络。首先,我们使用的预测功能来生成预测标签基于测试数据、测试。在功能的预测,我们指定类的参数,所以输出将是类标签代替概率矩阵。接下来,我们使用表函数生成一个分类表的基础上预测标签和在测试数据集中写入的标签,最后,我们创建了分类表,我们可以从符号包测量预测采用混淆矩阵训练神经网络的性能

    See also

    For the predict function,if the type argument to class is not speciied,by default,it will generate a probability matrix as a prediction result,which isvery similar to net.result generated from the compute function within the neuralnet package:

    对于预测函数,如果未指定类的类型参数,默认情况下,它会生成一个概率矩阵作为预测结:

    >head(predict(iris.nn,testset))
    

      

    结论:神经网络是由大量处理单元(神经元)相互连接而成的网络,ANN(Artificial Neural Network)是生物神经系统的一种抽象、简化和模拟。神经网络的信息处理是通过神经元的相互作用来实现的,知识与信息的存储表现在网络元件互连的分布式结构与联系,神经网络的学习与识别就是神经元连接权系数的动态演化过程。实践中常用的基本神经网络模型有:感知器(perceptron)神经网络、线性神经(AdalinePerceptron)网络、BP神经网络、径向基神经网络、自组织神经网络、Hopfield反馈神经网络等。

                                                                                                  --------摘自百度

                                                                                                                                                                                                                                                          张月娥

     

  • 相关阅读:
    Erlang 杂记 IV
    ASP.NET MVC的View是如何被呈现出来的?[设计篇]
    面向对象—在线文件管理模块
    软件开发中个人在团队里的效绩评定
    用go语言遍历文件夹
    磁盘缓存的算法:写算法
    一种Lua到C的封装
    从信息系统界面设计引发的思考
    基于Backbone.js的JavaScript MVC示例程序
    C和C++
  • 原文地址:https://www.cnblogs.com/D2016/p/6920830.html
Copyright © 2011-2022 走看看