简体   繁体   English

Matlab中默认的监督学习训练算法是什么?

[英]What is the default supervised learning training algorithm in matlab?

With this code below 使用下面的代码

[x,t] = iris_dataset;
net = patternnet;
net = configure(net,x,t);
net = train(net,x,t); 
save('C:\Temp\trained_net.mat','net');
y = net(x);
perf = perform(net,t,y);
display(['performance: ', num2str(perf)]);

I will assume matlab uses its default learning algorithm since i did not specify any. 我将假设matlab使用其默认的学习算法,因为我未指定任何算法。 What is the default supervised learning algorithm in matlab? Matlab中默认的监督学习算法是什么?

Gathered from the documentation on train at the bottom in the more about section: 从“ train文档底部的“ 更多”部分中收集:

train calls the function indicated by net.trainFcn , using the training parameter values indicated by net.trainParam . train使用net.trainFcn指示的训练参数值调用net.trainFcn指示的net.trainParam

So, you have to indicate it within net , which you create yourself. 因此,您必须在您自己创建的net对其进行指示。

Additionally you can provide your own training function : 另外,您可以提供自己的培训功能

To prepare a custom network to be trained with trainru , 要准备要使用trainru进行培训的自定义网络,

  • Set net.trainFcn to 'trainru' . net.trainFcn设置为'trainru' This sets net.trainParam to trainru 's default parameters. net.trainParam trainru设置为trainru的默认参数。
  • Set each net.inputWeights{i,j}.learnFcn to a learning function. 将每个net.inputWeights{i,j}.learnFcn设置为学习功能。
  • Set each net.layerWeights{i,j}.learnFcn to a learning function. 将每个net.layerWeights{i,j}.learnFcn设置为学习功能。
  • Set each net.biases{i}.learnFcn to a learning function. 将每个net.biases{i}.learnFcn设置为学习功能。 (Weight and bias learning parameters are automatically set to default values for the given learning function.) To train the network, (对于给定的学习功能,权重和偏差学习参数会自动设置为默认值。)要训练网络,

  • Set net.trainParam properties to desired values. net.trainParam属性设置为所需的值。

  • Set weight and bias learning parameters to desired values. 将权重和偏差学习参数设置为所需值。
  • Call train . train

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM