fann_cascadetrain_on_data

在整个数据集上训练,使用一段时间的 Cascade2 训练算法。

说明

bool fann_cascadetrain_on_data ( resource $ann , resource $data , int $max_neurons , int $neurons_between_reports , float $desired_error )

级联输出改变小数是一个0到1之间的数字,表示在输出连接的训练中,为了使训练不停滞的情况下,经过 fann_get_cascade_output_stagnation_epochs 次迭代的后,fann_get_MSE 将会改变多大。如果训练停滞了,训练的输出连接将会结束,新的候选神经元将会准备好。

该训练使用由 fann_set_cascade_ 前缀设置的参数,但它也采用了另一种训练算法,即内部训练算法。该训练算法要么是 fann_set_training_algorithm 设置的 FANN_TRAIN_RPROP 算法,要么是 FANN_TRAIN_QUICKPROP,这些算法设置的参数同样也会影响到级联训练。

参数

ann
Neural network resource.

data
Neural network training data resource.

max_neurons
被添加入神经网络中最大的神经元数。

neurons_between_reports
打印状态报告之间的神经元数。0表示没有报告会被打印。

desired_error
预期的 fann_get_MSEfann_get_bit_fail, 取决于 fann_set_train_stop_function 选择的停止函数

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_train_on_data
  • fann_cascadetrain_on_file

fann_cascadetrain_on_file

读取文件并在整个数据集上训练,使用 Cascade2 训练算法训练一段时间。

说明

bool fann_cascadetrain_on_file ( resource $ann , string $filename , int $max_neurons , int $neurons_between_reports , float $desired_error )

fann_cascadetrain_on_data 函数做一样的工作,但是该函数是直接从文件读取训练数据的。

参数

ann
Neural network resource.

filename
添加在神经网络中神经元的最大数量。

max_neurons
在打印状态报告到标准输出之间的神经元数量。0值表示没有报告打印。

neurons_between_reports
打印状态报告之间的神经元数量。0值表示没有报告打印。

desired_error
期望的 fann_get_MSE 值或者 fann_get_bit_fail 值, 取决于 fann_set_train_stop_function 函数选择的停止函数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_train_on_data
  • fann_cascadetrain_on_data

fann_clear_scaling_params

清除缩放参数

说明

bool fann_clear_scaling_params ( resource $ann )

清除缩放参数

参数

ann
Neural network resource.

返回值

Returns TRUE on success, or FALSE otherwise.

fann_copy

创建一个 fann 结构体的副本。

说明

resource fann_copy ( resource $ann )

创建一个 fann 结构体的副本。

参数

ann
Neural network resource.

返回值

成功,返回神经网络资源的副本,失败则返回**FALSE**

参见

  • fann_test

fann_create_from_file

从配置文件中构建一个反向传播神经网络。

说明

resource fann_create_from_file ( string $configuration_file )

从一个由 fann_save 函数保存的配置文件中构建一个反向传播神经网络。

参数

configuration_file
配置文件的路径。

返回值

Returns a neural network resource on success, or FALSE on error.

参见

  • fann_save

fann_create_shortcut_array

创建一个含快捷连接而非全连接的标准反向传播神经网络。

说明

resource fann_create_shortcut_array ( int $num_layers , array $layers )

使用包含各层大小的数组创建一个含快捷连接而非全连接的标准反向传播神经网络。

参数

num_layers
网络层数的总数,包含输入输出层。

layers
一个包含各层大小的数组。

返回值

成功,返回一个神经网络的资源,错误则返回 FALSE

参见

  • fann_create_shortcut
  • fann_create_sparse
  • fann_create_standard

fann_create_shortcut

创建一个含快捷连接而非全连接的标准反向传播神经网络。

说明

reference fann_create_shortcut ( int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

创建一个含快捷连接而非全连接标准反向传播神经网络。

快捷连接是可以跳过网络层次的连接。一个包含快捷连接的全连接网络,表示在之后的网络层里所有的神经元都是互相连接的。包括输出层直接连接到输出层的连接。

参数

num_layers
包括输入输出层在内的网络层的层数。。

num_neurons1
第一层神经元的数量。

num_neurons2
第二层神经元的数量。

...
其它层神经元的数量。

返回值

成功,返回神经网络的资源,错误则返回 FALSE .

参见

  • fann_create_shortcut_array
  • fann_create_sparse
  • fann_create_standard

fann_create_sparse_array

创建一个标准的反向传播神经网络,该网络使用一个表示每层大小的数组来构造,但是并不是全连接的。

说明

ReturnType fann_create_sparse_array ( float $connection_rate , int $num_layers , array $layers )

创建一个标准的反向传播神经网络,该网络使用一个表示每层大小的数组来构造,但是并不是全连接的。

参数

connection_rate
连接率控制着在网络中将会有多少连接,如果连接率设置为1,那么这个网络就是全连接网络,但是如果设置为0.5将会设置一半的连接。连接率为1的结果和使用fann_create_standard函数的效果是一样的。

num_layers
神经网络层数,包括输入输出层。

layers
表示每层大小的数组。

返回值

成功,返回神经网络的资源,错误则返回 FALSE .

参见

  • fann_create_sparse
  • fann_create_standard
  • fann_create_shortcut

fann_create_sparse

创建一个标准的反向传播神经网络,该网络不是全连接。

说明

ReturnType fann_create_sparse ( float $connection_rate , int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

创建一个标准的反向传播神经网络,该网络不是全连接。

参数

connection_rate
连接率控制着在网络中将会有多少连接,如果连接率设置为1,那么这个网络就是全连接网络,但是如果设置为 0.5 将会设置一半的连接。连接率为1的结果和使用 fann_create_standard函数的效果是一样的。

num_layers
神经网络层数,包括输入输出层。

num_neurons1
第一层网络的神经数。

num_neurons2
第二层网络的神经数。

...
其它层网络的神经数。

返回值

返回一个神经网络资源,错误则返回 FALSE .

参见

  • fann_create_sparse_array
  • fann_create_standard
  • fann_create_shortcut

fann_create_standard_array

创建一个全连接的反向传播神经网络,该网络使用一个表示每层大小的数组来构造。

说明

resource fann_create_standard_array ( int $num_layers , array $layers )

创建一个标准的全连接反向传播神经网络。

每一层都将会有一个偏置神经元 (除了输出层),该偏置神经元将会连接下一层所有的神经元。当运行网络时,偏置神经节点一直发出1信号。

请使用 fann_destroy 函数来销毁神经网络。

参数

num_layers
神经网络层数,包括输入输出层。

layers
表示每层大小的数组。

返回值

成功则返回神经网络,错误则返回 FALSE .

参见

  • fann_create_standard
  • fann_create_sparse
  • fann_create_shortcut

fann_create_standard

创建标准的全连接反向传播神经网络。

说明

resource fann_create_standard ( int $num_layers , int $num_neurons1 , int $num_neurons2 [, int $... ] )

创建一个标准的全连接反向传播神经网络。

每一层都将会有一个偏置神经元 (除了输出层), 该偏置神经元将会连接下一层所有的神经元。当运行网络时,偏置神经节点一直发出1信号。

请使用 fann_destroy 函数来销毁神经网络。

参数

num_layers
神经网络层数,包括输入输出层。

num_neurons1
第一层神经元的数量。

num_neurons2
第二层神经元的数量。

...
其他层的神经数量。

返回值

成功,返回神经网络的资源,失败则返回 FALSE .

参见

  • fann_create_standard_array
  • fann_create_sparse
  • fann_create_shortcut

fann_create_train_from_callback

从用户提供的函数创建训练数据结构。

说明

resource fann_create_train_from_callback ( int $num_data , int $num_input , int $num_output , callable $user_function )

从用户提供的函数创建训练数据结构。当训练数据可数,用户需要构造一个用来接收训练数据集(包括输入,输出)数量和返回值为集合的函数。

参数

num_data
训练数据的数量。

num_input
每个训练数据的输入数。

num_output
每个训练数据的输出数。

user_function
用户提供的函数包含以下参数:

  • num - 训练数据集的数量。
  • num_input - 数量数据的输入数。
  • num_output - 数量数据的输出数。

函数应该返回一个包含inputoutput 键的数组,并且这两个键的值分别表示输入输出的值(皆为数组)。

返回值

Returns a train data resource on success, or FALSE on error.

范例

示例 #1 fann_create_train_from_callback example

<?php
function create_train_callback($num_data, $num_input, $num_output) {
    return array(
        "input" => array_fill(0, $num_input, 1),
        "output" => array_fill(0, $num_output, 1),
    );
}

$num_data = 3;
$num_input = 2;
$num_output = 1;
$train_data = fann_create_train_from_callback($num_data, $num_input, $num_output, "create_train_callback");
if ($train_data) {
    // Do something with $train_data
}
?>

参见

  • fann_read_train_from_file
  • fann_train_on_data
  • fann_destroy_train
  • fann_save_train

fann_create_train

创建一个空的训练数据结构。

说明

resource fann_create_train ( int $num_data , int $num_input , int $num_output )

创建一个空的训练数据结构。

参数

num_data
训练数据的数量。

num_input
每个训练数据集输入的数量。

num_output
每个训练数据集输出的数量。

返回值

Returns a train data resource on success, or FALSE on error.

参见

  • fann_read_train_from_file
  • fann_train_on_data
  • fann_destroy_train
  • fann_save_train

fann_descale_input

在获取基于先前计算的参数之后,在输入向量中缩小数据

说明

bool fann_descale_input ( resource $ann , array $input_vector )

在获取基于先前计算的参数之后,在输入向量中缩小数据。

参数

ann
Neural network resource.

input_vector
将要被缩小的输入向量

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_scale_input
  • fann_descale_output

fann_descale_output

在获取基于先前计算的参数之后,在输出向量中缩小数据

说明

bool fann_descale_output ( resource $ann , array $output_vector )

在获取基于先前计算的参数之后,在输出向量中缩小数据。

参数

ann
Neural network resource.

output_vector
将被缩小的输出向量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_scale_output
  • fann_descale_input

fann_descale_train

基于先前计算的参数来缩小输入和输出数据

说明

bool fann_descale_train ( resource $ann , resource $train_data )

基于先前计算的参数来缩小输入和输出数据。

参数

ann
Neural network resource.

train_data
Neural network training data resource.

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_scale_train
  • fann_set_scaling_params

fann_destroy_train

销毁训练数据。

说明

bool fann_destroy_train ( resource $train_data )

销毁训练数据。

参数

train_data
Neural network training data resource.

返回值

Returns TRUE on success, or FALSE otherwise.

fann_destroy

销毁整个网络并且适当地释放所有的关联内存。

说明

bool fann_destroy ( resource $ann )

销毁整个网络并且适当地释放所有的关联内存。

参数

ann
Neural network resource.

返回值

Returns TRUE on success, or FALSE otherwise.

fann_duplicate_train_data

返回 fann 训练数据精确的副本。

说明

resource fann_duplicate_train_data ( resource $data )

返回 fann 训练数据精确的副本 resource

参数

data
Neural network training data resource.

返回值

Returns a train data resource on success, or FALSE on error.

fann_get_activation_function

返回激励函数

说明

int fann_get_activation_function ( resource $ann , int $layer , int $neuron )

获取在层数为 layer 的网络中神经元数为 neuron的激励函数,输入层被计为 0.

在输入层是不能获取神经元激励函数的。

返回值将会是激励函数 常量之一。

参数

ann
Neural network resource.

layer
层数。

neuron
神经元数

返回值

学习函数 常量或者如果神经未在神经网络中定义返回 -1, 错误则返回 FALSE .

参见

  • fann_set_activation_function_layer
  • fann_set_activation_function_hidden
  • fann_set_activation_function_output
  • fann_set_activation_steepness
  • fann_set_activation_function

fann_get_activation_steepness

为提供的神经和网络层数返回激活陡度

说明

float fann_get_activation_steepness ( resource $ann , int $layer , int $neuron )

获取神经元数为 neuron 层数为 layer神经网络的激活陡度,将输入层数计为1层。

在输入层中是不可能获取激活陡度。

激活函数的陡度表明了激活函数从最小到最大有多块。一个高值表明将会提供一个更高效的训练。

在训练神经网络时,输出值应该处于极端(通常是 0 和 1,取决于激励函数),一般陡峭的激活函数将会被使用(比如为1.0时)。

默认的激活陡度是0.5.

参数

ann
Neural network resource.

layer
层数

neuron
神经元数

返回值

激活陡度,当神经元在神经网络中没定义时为-1,错误时返回 FALSE .

参见

  • fann_set_activation_function
  • fann_set_activation_steepness_layer
  • fann_set_activation_steepness_hidden
  • fann_set_activation_steepness_output
  • fann_set_activation_steepness

fann_get_bias_array

获取网络中每一层的偏差数

说明

array fann_get_bias_array ( resource $ann )

获取网络中每一层的偏差数。

参数

ann
Neural network resource.

返回值

包含每一层偏差数的数组。

fann_get_bit_fail_limit

返回训练期间使用的误差限制

说明

float fann_get_bit_fail_limit ( resource $ann )

返回训练期间使用的误差限制。

训练期间使用的误差限制,在 停止函数 中设置的 FANN_STOPFUNC_BIT.

限度是训练过程中期望输出和实际输出之间的最大可接受差值。每个输出偏离超过这个限度将会被算作误差。不同的是在使用对称激活函数的时候这个值要除以2,因此对称或者不对称可以使用同样的限度。

默认的误差限度是 0.35.

参数

ann
Neural network resource.

返回值

成功,返回误差限度,错误则返回 FALSE .

参见

  • fann_set_bit_fail_limit

fann_get_bit_fail

失败位的数量

说明

int fann_get_bit_fail ( resource $ann )

失败位的数量:意味着输出神经元的数量多于失败位的限度 (参见 fann_get_bit_fail_limit, fann_set_bit_fail_limit). 位数将会在所有的训练数据中被计数,因此这个数字将会比训练数据的数量高一点。

该值可以被 fann_reset_MSE 函数重置,并且可以被能够更新MSE值的函数更新。(比如 fann_test_data, fann_train_epoch)

参数

ann
Neural network resource.

返回值

成功 ,返回失败位的数量,错误则返回 FALSE .

参见

  • fann_get_MSE
  • fann_reset_MSE
  • fann_test_data
  • fann_train_epoch
  • fann_get_bit_fail_limit
  • fann_set_bit_fail_limit

fann_get_cascade_activation_functions_count

返回级联激活函数的数量

说明

int fann_get_cascade_activation_functions_count ( resource $ann )

fann_get_cascade_activation_functions 函数数组的激活函数的数量。

默认激活函数的数量为6.

参数

ann
Neural network resource.

返回值

成功,返回级联激活函数的数量,错误则返回**FALSE** .

参见

  • fann_get_cascade_activation_functions
  • fann_set_cascade_activation_functions

fann_get_cascade_activation_functions

返回级联激活函数

说明

array fann_get_cascade_activation_functions ( resource $ann )

层级激活函数数组是一个和被候选使用的不同的数组。

参见 fann_get_cascade_num_candidates 的描述,这个数组将会生成候选神经元。

默认的激活函数是 FANN_SIGMOID, FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN, FANN_GAUSSIAN_SYMMETRIC, FANN_ELLIOT, FANN_ELLIOT_SYMMETRIC.

参数

ann
Neural network resource.

返回值

成功,返回层级激活函数数组,错误则返回 FALSE .

参见

  • fann_get_cascade_activation_functions_count
  • fann_set_cascade_activation_functions

fann_get_cascade_activation_steepnesses_count

激活陡度的数量

说明

int fann_get_cascade_activation_steepnesses_count ( resource $ann )

fann_get_cascade_activation_functions 数组中激活陡度的数量。

默认的激活陡度的数量是 4.

参数

ann
Neural network resource.

返回值

成功返回激活陡度数量,错误,则返回**FALSE** .

参见

  • fann_get_cascade_activation_steepnesses
  • fann_set_cascade_activation_functions

fann_get_cascade_activation_steepnesses

返回级联激活陡度

说明

array fann_get_cascade_activation_steepnesses ( resource $ann )

层级激活函数数组是一个和被候选使用的不同的数组。

参见 fann_get_cascade_num_candidates 的描述,这个数组将会生成候选神经元。

默认的激活陡度是{0.25, 0.50, 0.75, 1.00}.

参数

ann
Neural network resource.

返回值

成功,返回级联激活陡度,错误则返回 FALSE.

参见

  • fann_get_cascade_activation_steepnesses_count
  • fann_set_cascade_activation_steepnesses

fann_get_cascade_candidate_change_fraction

返回级联候选变化分数

说明

float fann_get_cascade_candidate_change_fraction ( resource $ann )

返回级联候选变化分数是一个介于0到1之间的数字。该数字决定了在训练候选神经元使用 fann_get_cascade_candidate_stagnation_epochs 函数时 fann_get_MSE 将会改变多大的分数,是为了不让这个训练停止。如果训练停止,候选神经元的训练将会被终止并且会选出最好的候选。

这意味在fann_get_cascade_candidate_stagnation_epochs期间如果 MSE 被fann_get_cascade_candidate_change_fraction的分数更改,候选神经元的训练会因为训练的停滞而被停止。

如果级联候选变化分数很低,这个候选神经元将训练越多,如果这个分数很高则训练的越少。

默认的级联候选变化分数是 0.01, 等于 MSE 中1%的变化值。

参数

ann
Neural network resource.

返回值

成功,则返回级联候选变化分数,错误则返回 FALSE .

参见

  • fann_set_cascade_candidate_change_fraction
  • fann_get_MSE
  • fann_get_cascade_candidate_stagnation_epochs

fann_get_cascade_candidate_limit

返回候选限度

说明

float fann_get_cascade_candidate_limit ( resource $ann )

候选限度表明将会有多少候选神经元被训练。该限度是 MSE 和候选分数之间的比例限度。

将此值设置为低值以避免过于拟合,如果过度拟合并不是问题,则将其设置为更高的值。

默认的候选限度是 1000.0.

参数

ann
Neural network resource.

返回值

成功,返回候选限度,错误则返回 FALSE .

参见

  • fann_set_cascade_candidate_limit

fann_get_cascade_candidate_stagnation_epochs

返回层叠候选停滞周期的数量

说明

float fann_get_cascade_candidate_stagnation_epochs ( resource $ann )

层叠候选停滞周期的数量决定了在 fann_get_cascade_candidate_change_fraction 不改变MSE分数的情况下继续进行的epochs训练的数量。

更多信息参见 fann_get_cascade_candidate_change_fraction.

层叠候选停滞周期的数量是 12.

参数

ann
Neural network resource.

返回值

成功,返回层叠候选停滞周期的数量,错误则返回 FALSE.

参见

  • fann_set_cascade_candidate_stagnation_epochs
  • fann_get_cascade_candidate_change_fraction

fann_get_cascade_max_cand_epochs

返回候选周期的最大值

说明

int fann_get_cascade_max_cand_epochs ( resource $ann )

候选周期的最大值决定了在添加新的候选神经元之前,候选输入连接周期的最大值。

默认的最大候选周期是 150.

参数

ann
Neural network resource.

返回值

成功,返回最大的候选周期,错误则返回**FALSE** .

参见

  • fann_set_cascade_max_cand_epochs

fann_get_cascade_max_out_epochs

返回输出周期的最大值

说明

int fann_get_cascade_max_out_epochs ( resource $ann )

输出周期的最大值决定了在添加新的候选神经元之后,输出连接周期的最大值。

默认输出周期的最大值是 150.

参数

ann
Neural network resource.

返回值

成功,则返回输出周期的最大值,错误则返回 FALSE .

参见

  • fann_set_cascade_max_out_epochs

fann_get_cascade_min_cand_epochs

返回最小的候选周期

说明

int fann_get_cascade_min_cand_epochs ( resource $ann )

最小候选周期表示在添加新的候选神经元之前,输入连接到被训练的候选神经元最小的周期数。

默认的最小候选周期是50.

参数

ann
Neural network resource.

返回值

成功,返回最小候选周期,错误则返回 FALSE .

参见

  • fann_set_cascade_min_cand_epochs

fann_get_cascade_min_out_epochs

返回最小输出周期

说明

int fann_get_cascade_min_out_epochs ( resource $ann )

最小输出周期表明在加入新的候选神经元后输出连接必须训练的最小周期。

默认的最小输出周期是50。

参数

ann
Neural network resource.

返回值

成功,返回最小的输出周期,错误则返回 FALSE .

参见

  • fann_set_cascade_min_out_epochs

fann_get_cascade_num_candidate_groups

返回候选组的数量

说明

int fann_get_cascade_num_candidate_groups ( resource $ann )

候选组的数目是在训练期间使用的相同候选组的个数。

这个数字可以用来有更多的候选,而不必为候选定义新的参数。

参见 fann_get_cascade_num_candidates 的描述。其中解释了这个参数将会生哪个成候选神经元。

默认的候选组数为2.

参数

ann
Neural network resource.

返回值

成功,返回候选组数量,错误则返回 FALSE .

参见

  • fann_set_cascade_num_candidate_groups

fann_get_cascade_num_candidates

返回训练期间使用的候选数量

说明

int fann_get_cascade_num_candidates ( resource $ann )

返回训练期间使用的候选数量 ( fann_get_cascade_activation_functions_count, fann_get_cascade_activation_steepnesses_countfann_get_cascade_num_candidate_groups)的和。

实际的候选数是由 fann_get_cascade_activation_functionsfann_get_cascade_activation_steepnesses 数组定义的。 这些数组定义的激活功能和激活的陡度用于候选神经元。如果在激活函数数组中有两个激活函数并且陡度数组中有三个陡度,则将会有2x3=6个不同的候选神经元被训练。 这6个不同的候选神经元将会被复制到几个候选组中,这些候选组不同之处在于他们的初始权重。如果组的数量设为2,则候选神经元的数量为2x3x2=12.候选组的数量是有 fann_set_cascade_num_candidate_groups 函数定义的。

默认的候选神经元数量为 6x4x2 = 48

参数

ann
Neural network resource.

返回值

成功,返回训练期间候选神经元的数量,错误则返回 FALSE .

参见

  • fann_get_cascade_activation_functions
  • fann_get_cascade_activation_functions_count
  • fann_get_cascade_activation_steepnesses
  • fann_get_cascade_activation_steepnesses_count
  • fann_get_cascade_num_candidate_groups

fann_get_cascade_output_change_fraction

返回级联输出变化分数

说明

float fann_get_cascade_output_change_fraction ( resource $ann )

级联输出变化分数是一个介于0到1之间的数字,决定了在fann_get_cascade_output_stagnation_epochs的输出连接训练中,fann_get_MSE的值将改变多大才能保持训练不至于停滞。如果训练停滞了, If the training stagnates, 输出连接的训练将结束,新的候选神经元将准备。

这就意味着如果在fann_get_cascade_output_stagnation_epochs期间, MSE没有被 fann_get_cascade_output_change_fraction 改变, 因为训练的停滞将导致输出连接将被停止。

如果级联输出改变分数很小,输出连接将会训练的更多,如果分数很大则会训练的更少。

默认的级联输出改变分数是0.01,和MSE中的1%相等。

参数

ann
Neural network resource.

返回值

成功,返回级联输出更改分数,错误则返回 FALSE .

参见

  • fann_set_cascade_output_change_fraction
  • fann_get_MSE
  • fann_get_cascade_output_stagnation_epochs

fann_get_cascade_output_stagnation_epochs

返回级联输出停滞周期的数量

说明

int fann_get_cascade_output_stagnation_epochs ( resource $ann )

级联输出停滞周期的数量表示在fann_get_cascade_output_change_fraction不改变MSE的情况下,运行训练的周期数。

更多详情参见 fann_get_cascade_output_change_fraction

级联输出停滞周期的默认值是12。

参数

ann
Neural network resource.

返回值

成功,则返回级联输出停滞周期,错误则返回 FALSE .

参见

  • fann_set_cascade_output_stagnation_epochs
  • fann_get_cascade_output_change_fraction

fann_get_cascade_weight_multiplier

返回权重因子

说明

float fann_get_cascade_weight_multiplier ( resource $ann )

权重因子是用于在添加神经元到神经网络之前,和候选神经元权重相乘的参数。该参数的值通常介于0到1之间,用来使训练变得不那么积极。

默认权重因子是 0.4.

参数

ann
Neural network resource.

返回值

成功,返回权重因子,错误则返回 FALSE .

参见

  • fann_set_cascade_weight_multiplier

fann_get_connection_array

获取网络中的连接。

说明

array fann_get_connection_array ( resource $ann )

获取网络中的连接。

参数

ann
Neural network resource.

返回值

包含网络中所有连接的数组。

fann_get_connection_rate

获取当网络创建时连接的使用率。

说明

float fann_get_connection_rate ( resource $ann )

获取当网络创建时连接的使用率。

参数

ann
Neural network resource.

返回值

成功,则返回当网络创建时连接的使用率, 错误则返回 FALSE .

fann_get_errno

返回最后一个错误数字。

说明

int fann_get_errno ( resource $errdat )

返回最后一个错误数字。

参数

errdat
Either neural network resource or neural network trainining data resource.

返回值

成功,返回错误数字,错误则返回 FALSE .

参见

  • fann_reset_errno
  • fann_get_errstr

fann_get_errstr

返回最后的错误字符串。

说明

string fann_get_errstr ( resource $errdat )

返回最后的错误字符串。

参数

errdat
Either neural network resource or neural network trainining data resource.

返回值

成功,返回最后的错误字符串,,失败则返回 FALSE

参见

  • fann_reset_errstr
  • fann_get_errno

fann_get_layer_array

获取网络中每层的神经元数量。

说明

array fann_get_layer_array ( resource $ann )

获取网络中每层的神经元数量。

偏差神经元不包括在内,所以层数是和 fann_create 函数组想匹配的。

参数

ann
Neural network resource.

返回值

包含每层神经元数量的数组。

fann_get_learning_momentum

返回学习动量

说明

float fann_get_learning_momentum ( resource $ann )

学习动量可用来加速 FANN_TRAIN_INCREMENTAL 训练。 一个过高的学习动量不利于训练。 动量设为0效果和没设一样。该参数的值建议在0.0到1.0之间。

默认动量是 0.

参数

ann
Neural network resource.

返回值

Returns TRUE on success, or FALSE otherwise.

正确,返回学习动量,错误则返回 FALSE .

参见

  • fann_set_learning_momentum
  • fann_set_training_algorithm

fann_get_learning_rate

返回学习速率

说明

float fann_get_learning_rate ( resource $ann )

学习率用来确定训练算法(FANN_TRAIN_INCREMENTAL, FANN_TRAIN_BATCH, FANN_TRAIN_QUICKPROP)中应该如何进行积极的训练。 不过,请注意这个函数不能用于 **FANN_TRAIN_RPROP**中。

默认的学习速率是 0.7。

参数

ann
Neural network resource.

返回值

成功,返回学习速率,错误则返回 FALSE .

参见

  • fann_set_learning_rate
  • fann_set_training_algorithm

fann_get_MSE

从网络中读取均方误差。

说明

float fann_get_MSE ( resource $ann )

从网络中读取均方误差。

从网络中读取均方误差。该值是在训练或或测试中被计算的,因此如果权重在最后一次计算时已经改变,有时候会有点不太对劲。

参数

ann
Neural network resource.

返回值

成功,则返回均方误差, 错误则返回 FALSE .

参见

  • fann_test_data

fann_get_network_type

获取所创建的神经网络类型。

说明

int fann_get_network_type ( resource $ann )

获取所创建的神经网络的类型。

参数

ann
Neural network resource.

返回值

成功,则返回网络类型 常量, 错误则返回 FALSE .

fann_get_num_input

获取输入神经元的数量。

说明

int fann_get_num_input ( resource $ann )

获取输入神经元的数量。

参数

ann
Neural network resource.

返回值

成功,则返回输入神经元的数量, 错误则返回 FALSE

fann_get_num_layers

获取神经网络的层数。

说明

int fann_get_num_layers ( resource $ann )

获取神经网络的层数。

参数

ann
Neural network resource.

返回值

成功,则返回神经网络的层数,错误则返回 FALSE .

fann_get_num_output

获取输出神经元的数量。

说明

int fann_get_num_output ( resource $ann )

获取输出神经元的数量。

参数

ann
Neural network resource.

返回值

成功,则返回输出神经元的数量, 错误则返回 FALSE .

fann_get_quickprop_decay

返回衰退值,用于在 quickprop 训练迭代时衰减权重

说明

float fann_get_quickprop_decay ( resource $ann )

衰退值是一个小的负数,用于在 quickprop 训练迭代时衰减权重。 这是用来确保训练时权重不要太高。

默认衰退值是 -0.0001.

参数

ann
Neural network resource.

返回值

成功,返回衰退值,错误则返回 FALSE .

参见

  • fann_set_quickprop_decay

fann_get_quickprop_mu

返回放大系数

说明

float fann_get_quickprop_mu ( resource $ann )

放大系数被用来增加和降低 quickprop 训练期间的步长。放大系数应该始终大于1,因为当它增加时,它会减少步长。

默认放大系数是 1.75.

参数

ann
Neural network resource.

返回值

成功,返回放大系数,错误则返回 FALSE .

参见

  • fann_set_quickprop_mu

fann_get_rprop_decrease_factor

返回 RPROP 训练期间的衰减系数

说明

float fann_get_rprop_decrease_factor ( resource $ann )

衰减系数的值小于1,用于在 RPROP 训练期间减少的步长。

The default decrease factor is 0.5.

参数

ann
Neural network resource.

返回值

成功,返回衰减系数,错误则返回 FALSE .

参见

  • fann_set_rprop_decrease_factor

fann_get_rprop_delta_max

返回最大步长

说明

float fann_get_rprop_delta_max ( resource $ann )

最大步长是正数,决定最大步长可能有多大。.

默认的最大值是 50.0.

参数

ann
Neural network resource.

返回值

成功,返回最大步长,错误则返回 FALSE .

参见

  • fann_set_rprop_delta_max
  • fann_get_rprop_delta_min

fann_get_rprop_delta_min

返回最小步长

说明

float fann_get_rprop_delta_min ( resource $ann )

最小步长是一个小的正数,决定最小步长可能有多小。.

默认的最小步长是 0.0.

参数

ann
Neural network resource.

返回值

成功,返回最小步长,错误则返回 FALSE .

参见

  • fann_set_rprop_delta_min

fann_get_rprop_delta_zero

返回初始步长

说明

ReturnType fann_get_rprop_delta_zero ( resource $ann )

初始步长是确定初始步长的正数。

默认的初始步长是 0.1.

参数

ann
Neural network resource.

返回值

成功,返回初始步长,错误则返回 FALSE .

参见

  • fann_set_rprop_delta_zero
  • fann_get_rprop_delta_min
  • fann_get_rprop_delta_max

fann_get_rprop_increase_factor

返回 RPROP 训练的递增系数

说明

float fann_get_rprop_increase_factor ( resource $ann )

递增系数是一个大于1的值,用于递增 RPROP 训练中的步长。

默认的递进系数是 1.2

参数

ann
Neural network resource.

返回值

成功,返回递进系数,错误则返回 FALSE .

参见

  • fann_set_rprop_increase_factor

fann_get_sarprop_step_error_shift

返回 sarprop 步值的误差偏移

说明

float fann_get_sarprop_step_error_shift ( resource $ann )

返回 sarprop 步值的误差偏移。

默认的步值误差偏移是 1.385.

参数

ann
Neural network resource.

返回值

成功,返回 sarprop 步值误差偏移,错误则返回 FALSE .

参见

  • fann_set_sarprop_step_error_shift

fann_get_sarprop_step_error_threshold_factor

返回 sarprop 算法步值的误差阈值系数

说明

float fann_get_sarprop_step_error_threshold_factor ( resource $ann )

sarprop 算法步值的误差阈值系数。

默认的系数是 0.1.

参数

ann
Neural network resource.

返回值

成功,返回 sarprop 算法步值的误差阈值系数,错误则返回 FALSE .

参见

  • fann_set_sarprop_step_error_threshold_factor

fann_get_sarprop_temperature

返回 sarprop 算法温度

说明

float fann_get_sarprop_temperature ( resource $ann )

返回 sarprop 算法温度。

默认温度是 0.015.

参数

ann
Neural network resource.

返回值

成功,返回 sarprop 温度,错误则返回 FALSE .

参见

  • fann_set_sarprop_temperature

fann_get_sarprop_weight_decay_shift

返回 sarprop 算法权重衰减变化值

说明

float fann_get_sarprop_weight_decay_shift ( resource $ann )

sarprop 算法权重衰减变化值。

默认的最大值是 -6.644.

参数

ann
Neural network resource.

返回值

成功,返回 sarprop 算法权重衰减变化值,错误则返回 FALSE .

参见

  • fann_set_sarprop_weight_decay_shift

fann_get_total_connections

获取整个网络中所有的连接数。

说明

int fann_get_total_connections ( resource $ann )

获取整个网络中所有的连接数。

参数

ann
Neural network resource.

返回值

成功,则返回整个网络中所有的连接数, 错误则返回 FALSE .

fann_get_total_neurons

获取整个网络中神经元的数量。

说明

int fann_get_total_neurons ( resource $ann )

获取整个网络中神经元的数量。 这个数量也包括偏置神经元,因此一个2-4-2的网络有2+4+2+2(偏置神经元)=10个神经元。

参数

ann
Neural network resource.

返回值

成功,则返回整个网络神经元的数量, 错误则返回 FALSE .

fann_get_train_error_function

返回训练中使用的错误函数。

说明

int fann_get_train_error_function ( resource $ann )

返回训练中使用的错误函数。

有关于错误函数的详细描述,参见 error functions 静态变量。

默认的错误函数是 FANN_ERRORFUNC_TANH.

参数

ann
Neural network resource.

返回值

成功,则返回 error function 静态变量, 错误则返回 FALSE .

参见

  • fann_set_train_error_function

fann_get_train_stop_function

返回训练中使用的停止函数。

说明

int fann_get_train_stop_function ( resource $ann )

返回训练中使用的停止函数。

停止函数的详细描述,参见stop functions 常量。

默认的停止函数是 FANN_STOPFUNC_MSE.

参数

ann
Neural network resource.

返回值

成功,则返回 stop function 常量, 错误则返回 FALSE .

参见

  • fann_set_train_stop_function

fann_get_training_algorithm

返回训练算法。

说明

int fann_get_training_algorithm ( resource $ann )

返回训练算法。该训练算法是被 fann_train_on_data 和相关函数使用的。

要注意的是这个算法在fann_cascadetrain_on_data函数中也是可以使用的, 尽管在层叠训练中只有**FANN_TRAIN_RPROP** 和 FANN_TRAIN_QUICKPROP 算法被允许使用。

参数

ann
Neural network resource.

返回值

成功,返回训练算法 常量, 错误则返回 FALSE .

参见

  • fann_set_training_algorithm

fann_init_weights

使用 Widrow 和 Nguyen 算法初始化权重。

说明

bool fann_init_weights ( resource $ann , resource $train_data )

使用 Widrow 和 Nguyen 算法初始化权重。

该函数的作用和 fann_randomize_weights函数相似。 该函数将会使用 Derrick Nguyen 和 Bernard Widrow 开发的算法来设置权重用于加速训练。 该技术不是经常奏效,在某些场景下比纯粹的随机初始化来得更低效。

该算法要求获取输入数据的范围(比如 最大和最小输入),因此接受别的参数,数据(将会在网络中训练的数据)。

参数

ann
Neural network resource.

train_data
Neural network training data resource.

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_randomize_weights
  • fann_read_train_from_file

fann_length_train_data

返回训练数据中训练模式的数量。

说明

int fann_length_train_data ( resource $data )

返回训练数据中训练模式的数量。 resource.

参数

data
Neural network training data resource.

返回值

成功,则返回训练数据resource中的元素数,错误则返回 FALSE .

fann_merge_train_data

合并训练数据。

说明

resource fann_merge_train_data ( resource $data1 , resource $data2 )

将 data1 和 data2 数据集合并为新的训练数据 resource.

参数

data1
Neural network training data resource.

data2
Neural network training data resource.

返回值

成功,则返回合并的训练数据 resource, 错误则返回 FALSE .

fann_num_input_train_data

返回训练数据中每个训练模式输入的数量。

说明

int fann_num_input_train_data ( resource $data )

返回训练数据resource中每个训练模式输入的数量。

参数

data
Neural network training data resource.

返回值

成功,则返回输入数,错误则返回 FALSE .

参见

  • fann_length_train_data
  • fann_num_output_train_data

fann_num_output_train_data

返回训练数据中每个训练模式输出的数量。

说明

int fann_num_output_train_data ( resource $data )

返回训练数据 resource中每个训练模式输出的数量。

参数

data
Neural network training data resource.

返回值

成功,则返回输出数, 错误则返回 FALSE .

参见

  • fann_length_train_data
  • fann_num_input_train_data

fann_print_error

打印错误字符串。

说明

void fann_print_error ( string $errdat )

打印错误字符串。

参数

errdat
Either neural network resource or neural network trainining data resource.

返回值

No value is returned.

参见

  • fann_get_errstr

fann_randomize_weights

给每个连接赋一个介于 min_weight 和 max_weight 之间的随机权重。

说明

bool fann_randomize_weights ( resource $ann , float $min_weight , float $max_weight )

给每个连接赋一个介于 min_weightmax_weight之间的随机权重。

从一开始权重介于 -0.1 和 0.1之间。

参数

ann
Neural network resource.

min_weight
最小权重值

max_weight
最大权重值

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_init_weights

fann_read_train_from_file

读取存储训练数据的文件。

说明

resource fann_read_train_from_file ( string $filename )

读取存储训练数据的文件。

参数

filename
输入文件的格式如下:

num_train_data num_input num_output
inputdata seperated by space
outputdata seperated by space

.
.
.

inputdata seperated by space
outputdata seperated by space

返回值

Returns a train data resource on success, or FALSE on error.

范例

示例 #1 fann_read_train_from_file 函数的使用范例:

<?php
$train_data = fann_read_train_from_file("xor.data");
if ($train_data) {
    // Do something with $train_data for XOR function
}
?>

xor.data 文件的内容:

4 2 1
-1 -1
-1
-1 1
1
1 -1
1
1 1
-1

参见

  • fann_train_on_data
  • fann_destroy_train
  • fann_save_train

fann_reset_errno

重置最后的错误代码。

说明

void fann_reset_errno ( resource $errdat )

重置最后的错误代码。

参数

errdat
Either neural network resource or neural network trainining data resource.

返回值

No value is returned.

参见

  • fann_get_errno
  • fann_reset_errstr

fann_reset_errstr

重置最后的错误字符串。

说明

void fann_reset_errstr ( resource $errdat )

重置最后的错误字符串。

参数

errdat
Either neural network resource or neural network trainining data resource.

返回值

No value is returned.

参见

  • fann_get_errstr
  • fann_reset_errno

fann_reset_MSE

重置网络中的均方误差。

说明

bool fann_reset_MSE ( string $ann )

重置网络中的均方误差。

该函数也会重置失败时位的数量。

参数

ann
Neural network resource.

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_MSE
  • fann_get_bit_fail
  • fann_get_bit_fail_limit

fann_run

将通过神经网络运行输入。

说明

array fann_run ( resource $ann , array $input )

将通过神经网络运行输入,返回输出数组,数组的长度等于输出层神经元的个数。

参数

ann
Neural network resource.

input
输入数组的值。

返回值

成功,返回输出数组,错误则返回 FALSE .

fann_save_train

将训练结构体保存至文件。

说明

bool fann_save_train ( resource $data , string $file_name )

将训练结构体保存至文件, 格式和 fann_read_train_from_file 函数中指定的一样。

参数

data
Neural network training data resource.

file_name
保存训练数据的文件名。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_read_train_from_file

fann_save

将整个网络保存至配置文件。

说明

bool fann_save ( resource $ann , string $configuration_file )

将整个网络保存至配置文件。

配置文件包含了神经网络的所有信息,并且能够通过 fann_create_from_file 函数来创建一个原神经网络的精确副本以及与神经网络关联的所有参数。

这三个参数 (fann_set_callback, fann_set_error_log, fann_set_user_data) 不保存在文件中,因为他们不能被安全地移植到不同的位置。当使用类似 fann_get_MSE 函数训练时,生成的临时参数也不会被保存起来。

参数

ann
Neural network resource.

configuration_file
配置文件的路径。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_create_from_file

fann_scale_input_train_data

在训练数据中缩放输入至指定范围

说明

bool fann_scale_input_train_data ( resource $train_data , float $new_min , float $new_max )

在训练数据中缩放输入至指定范围。

参数

train_data
Neural network training data resource.

new_min
训练数据中缩放输入后新的最小值。

new_max
训练数据中缩放数据后新的最大值。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_scale_output_train_data
  • fann_scale_train_data

fann_scale_input

在以前计算参数的基础上,在训练之前放大输入向量中的数据

说明

bool fann_scale_input ( resource $ann , array $input_vector )

在以前计算参数的基础上,在训练之前放大输入向量中的数据。

参数

ann
Neural network resource.

input_vector
将要被缩放的输入向量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_descale_input
  • fann_scale_output

fann_scale_output_train_data

在训练数据中缩放输出至指定范围

说明

bool fann_scale_output_train_data ( resource $train_data , float $new_min , float $new_max )

在训练数据中缩放输出至指定范围。

参数

train_data
Neural network training data resource.

new_min
训练数据中缩放输出后新的最小值。

new_max
训练数据中缩放输出后新的最大值。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_scale_input_train_data
  • fann_scale_train_data

fann_scale_output

在以前计算参数的基础上,在训练之前放大输出向量中的数据

说明

bool fann_scale_output ( resource $ann , array $output_vector )

在以前计算参数的基础上,在训练之前放大输出向量中的数据。

参数

ann
Neural network resource.

output_vector
将要被缩放的输出向量

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_descale_output
  • fann_scale_input

fann_scale_train_data

在训练数据中缩放输入和输出到指定的范围

说明

bool fann_scale_train_data ( resource $train_data , float $new_min , float $new_max )

在训练数据中缩放输入和输出到指定的范围。

参数

train_data
Neural network training data resource.

new_min
在训练数据中缩放输入和输出后新的最小值。

new_max
在训练数据中缩放输入和输出后新的最大值。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_scale_output_train_data
  • fann_scale_input_train_data

fann_scale_train

在以前计算参数的基础上,缩放输入和输出数据

说明

bool fann_scale_train ( resource $ann , resource $train_data )

在以前计算参数的基础上,缩放输入和输出数据。

参数

ann
Neural network resource.

train_data
Neural network training data resource.

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_descale_train
  • fann_set_scaling_params

fann_set_activation_function_hidden

为所有隐藏层设置激活函数

说明

bool fann_set_activation_function_hidden ( resource $ann , int $activation_function )

为所有隐藏层设置激活函数。

参数

ann
Neural network resource.

activation_function
激活函数 常量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_function
  • fann_set_activation_function_layer
  • fann_set_activation_function_output
  • fann_set_activation_steepness

fann_set_activation_function_layer

为已应用的层中所有的神经元设置激活函数。

说明

bool fann_set_activation_function_layer ( resource $ann , int $activation_function , int $layer )

为层数为 layer 的所有神经元设置激活函数,将输入层计为0.

在输入层中为神经元设置激活函数是不可能的。

参数

ann
Neural network resource.

activation_function
激活函数 常量。

layer
层数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_function
  • fann_set_activation_function_hidden
  • fann_set_activation_function_output
  • fann_set_activation_steepness

fann_set_activation_function_output

为输出层设置激活函数

说明

bool fann_set_activation_function_output ( resource $ann , int $activation_function )

为输出层设置激活函数。

参数

ann
Neural network resource.

activation_function
激活函数 常量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_function
  • fann_set_activation_function_layer
  • fann_set_activation_function_hidden
  • fann_set_activation_steepness

fann_set_activation_function

为已应用的神经元和层设置激活函数

说明

bool fann_set_activation_function ( resource $ann , int $activation_function , int $layer , int $neuron )

为层数为 layer,神经经元数为 neuron 的神经元设置激活函数,将输入层记为0.

在输出层中的神经元设置激活函数是不可能的。

在选择激活函数时,注意激活函数有不同的范围,这个很重要哦。 FANN_SIGMOID 就是个例子。它的范围是0 -1,然而 FANN_SIGMOID_SYMMETRIC 的范围是-1 - 1, FANN_LINEAR 却是无限的。

应用的激活函数应该是激活函数常量之一。

返回值是激活函数常量之一。

参数

ann
Neural network resource.

activation_function
激活函数常量。

layer
层数。

neuron
神经元数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_function_layer
  • fann_set_activation_function_hidden
  • fann_set_activation_function_output
  • fann_set_activation_steepness
  • fann_get_activation_function

fann_set_activation_steepness_hidden

为所有隐藏层中所有的神经元设置激活函数陡度

说明

bool fann_set_activation_steepness_hidden ( resource $ann , float $activation_steepness )

为所有隐藏层中所有的神经元设置激活陡度。

参数

ann
Neural network resource.

activation_steepness
激活陡度。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_steepness
  • fann_set_activation_steepness_layer
  • fann_set_activation_steepness_output
  • fann_get_activation_steepness
  • fann_set_activation_function

fann_set_activation_steepness_layer

为提供的层中所有的神经元设置激活陡度

说明

bool fann_set_activation_steepness_layer ( resource $ann , float $activation_steepness , int $layer )

为层数为 layer 中所有的神经元设置激活陡度,将输入层计为0。

在输出层中设置激活陡度是不可能的。

参数

ann
Neural network resource.

activation_steepness
激活陡度。

layer
层数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_steepness
  • fann_set_activation_steepness_hidden
  • fann_set_activation_steepness_output
  • fann_get_activation_steepness
  • fann_set_activation_function

fann_set_activation_steepness_output

在输出层中设置激活陡度

说明

bool fann_set_activation_steepness_output ( resource $ann , float $activation_steepness )

在输出层中设置激活陡度。

参数

ann
Neural network resource.

activation_steepness
激活陡度。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_steepness
  • fann_set_activation_steepness_layer
  • fann_set_activation_steepness_hidden
  • fann_get_activation_steepness
  • fann_set_activation_function

fann_set_activation_steepness

为提供的神经元和层设置激活陡度

说明

bool fann_set_activation_steepness ( resource $ann , float $activation_steepness , int $layer , int $neuron )

为层数为 layer,神经元数为 neuron 的神经元设置激活陡度,输出层的层数计为0。

为输入层中的神经元设置激活陡度是不可能的。.

激活函数的陡度表示激活从最大值到最小值有多快。一个高的激活函数值也会导致一个更积极的训练。

当训练神经网络中输出值处于一个极端值(通常为0或者1,取决于激活函数)时,可以使用陡峭的激活函数(比如 1.0)。

默认激活陡度是0.5。

参数

ann
Neural network resource.

activation_steepness
激活陡度。

layer
层数。

neuron
神经元数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_activation_steepness_layer
  • fann_set_activation_steepness_hidden
  • fann_set_activation_steepness_output
  • fann_get_activation_steepness
  • fann_set_activation_function

fann_set_bit_fail_limit

设置训练期间使用的误差

说明

bool fann_set_bit_fail_limit ( resource $ann , float $bit_fail_limit )

设置训练期间使用的误差。

参数

ann
Neural network resource.

bit_fail_limit
误差。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_bit_fail_limit

fann_set_callback

设置训练期间使用的回调函数。

说明

bool fann_set_callback ( resource $ann , collable $callback )

设置训练期间使用的回调函数。 这意味着它被fann_train_on_datafann_train_on_file调用。

参数

ann
Neural network resource.

callback
提供的回调函数接受以下参数:

  • ann - 神经网络 resource
  • train - 训练数据 resource 或者 当被 fann_train_on_fileNULL
  • max_epochs - 训练将进行的最大周期数。
  • epochs_between_reports - 在调用该函数之前训练进行的最大周期数。
  • desired_error - 期望的 fann_get_MSE 或者 fann_get_bit_fail, 取决于fann_set_train_stop_function函数选择的停止函数。
  • epochs - The current epoch

回调将会返回 TRUE. 如果返回 FALSE, 表明训练将会终止。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_train_on_data
  • fann_train_on_file

fann_set_cascade_activation_functions

设置级联候选激活函数的数组

说明

bool fann_set_cascade_activation_functions ( resource $ann , array $cascade_activation_functions )

设置级联候选激活函数的数组。

想知道哪个候选神经元将会被该数组生成,参见 fann_get_cascade_num_candidates .

参数

ann
Neural network resource.

cascade_activation_functions
级联候选激活函数数组。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_activation_functions_count
  • fann_set_cascade_activation_functions

fann_set_cascade_activation_steepnesses

设置级联候选激活陡度的数组。

说明

bool fann_set_cascade_activation_steepnesses ( resource $ann , array $cascade_activation_steepnesses_count )

设置级联候选激活陡度的数组。

想知道哪个候选神经元将会被该数组生成,参见 fann_get_cascade_num_candidates .

参数

ann
Neural network resource.

cascade_activation_steepnesses_count
级联候选激活陡度数组。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_activation_steepnesses
  • fann_get_cascade_activation_steepnesses_count

fann_set_cascade_candidate_change_fraction

设置级联候选更改分数

说明

bool fann_set_cascade_candidate_change_fraction ( resource $ann , float $cascade_candidate_change_fraction )

设置级联候选更改分数。

参数

ann
Neural network resource.

cascade_candidate_change_fraction
级联候选更改分数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_candidate_change_fraction

fann_set_cascade_candidate_limit

设置候选限度

说明

bool fann_set_cascade_candidate_limit ( resource $ann , float $cascade_candidate_limit )

设置候选限度。

参数

ann
Neural network resource.

cascade_candidate_limit
候选限度。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_candidate_limit

fann_set_cascade_candidate_stagnation_epochs

设置级联候选停止周期数

说明

bool fann_set_cascade_candidate_stagnation_epochs ( resource $ann , int $cascade_candidate_stagnation_epochs )

设置级联候选停止周期数。

参数

ann
Neural network resource.

cascade_candidate_stagnation_epochs
级联候选停止周期数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_candidate_stagnation_epochs

fann_set_cascade_max_cand_epochs

设置最大候选周期数

说明

bool fann_set_cascade_max_cand_epochs ( resource $ann , int $cascade_max_cand_epochs )

设置最大候选周期数。

参数

ann
Neural network resource.

cascade_max_cand_epochs
设置最大候选周期数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_max_cand_epochs

fann_set_cascade_max_out_epochs

设置最大输出周期

说明

bool fann_set_cascade_max_out_epochs ( resource $ann , int $cascade_max_out_epochs )

设置最大输出周期。

参数

ann
Neural network resource.

cascade_max_out_epochs
最大输出周期。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_max_out_epochs

fann_set_cascade_min_cand_epochs

设置最小候选周期

说明

bool fann_set_cascade_min_cand_epochs ( resource $ann , int $cascade_min_cand_epochs )

设置最小候选周期。

参数

ann
Neural network resource.

cascade_min_cand_epochs
设置最小候选周期。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_min_cand_epochs

fann_set_cascade_min_out_epochs

设置最小输出周期

说明

bool fann_set_cascade_min_out_epochs ( resource $ann , int $cascade_min_out_epochs )

设置最小输出周期。

参数

ann
Neural network resource.

cascade_min_out_epochs
最小输出周期。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_min_out_epochs

fann_set_cascade_num_candidate_groups

设置候选组数量

说明

bool fann_set_cascade_num_candidate_groups ( resource $ann , int $cascade_num_candidate_groups )

设置候选组数量。

参数

ann
Neural network resource.

cascade_num_candidate_groups
候选组数量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_num_candidate_groups

fann_set_cascade_output_change_fraction

设置级联输出改变分数

说明

bool fann_set_cascade_output_change_fraction ( resource $ann , float $cascade_output_change_fraction )

设置级联输出改变分数。

参数

ann
Neural network resource.

cascade_output_change_fraction
级联输出改变分数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_output_change_fraction

fann_set_cascade_output_stagnation_epochs

设置级联输出停滞周期的值

说明

bool fann_set_cascade_output_stagnation_epochs ( resource $ann , int $cascade_output_stagnation_epochs )

设置级联输出停滞周期的值。

参数

ann
Neural network resource.

cascade_output_stagnation_epochs
级联输出停滞周期的值

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_output_stagnation_epochs

fann_set_cascade_weight_multiplier

设置权重因子

说明

bool fann_set_cascade_weight_multiplier ( resource $ann , float $cascade_weight_multiplier )

设置权重因子。

参数

ann
Neural network resource.

cascade_weight_multiplier
权重因子。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_cascade_weight_multiplier

fann_set_error_log

设置错误记录保存的位置。

说明

void fann_set_error_log ( resource $errdat , string $log_file )

设置错误记录保存的位置。

参数

errdat
Either neural network resource or neural network trainining data resource.

log_file
日志文件的路径。

返回值

No value is returned.

fann_set_input_scaling_params

根据训练数据计算将来使用的输入比例参数

说明

bool fann_set_input_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max )

根据训练数据计算将来使用的输入比例参数。

参数

ann
Neural network resource.

train_data
Neural network training data resource.

new_input_min
缩放后输入数据的期望下限 (不严格遵循)

new_input_max
缩放后输入数据的期望上线 (不严格遵循)

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_output_scaling_params

fann_set_learning_momentum

设置学习动量。

说明

bool fann_set_learning_momentum ( resource $ann , float $learning_momentum )

设置学习动量。

更多信息,参见 fann_get_learning_momentum.

参数

ann
Neural network resource.

learning_momentum
学习动量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_learning_momentum
  • fann_set_training_algorithm

fann_set_learning_rate

设置学习速率。

说明

bool fann_set_learning_rate ( resource $ann , float $learning_rate )

设置学习速率。

更新信息,参见 fann_get_learning_rate.

参数

ann
Neural network resource.

learning_rate
学习速率。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_learning_rate
  • fann_set_training_algorithm

fann_set_output_scaling_params

根据训练数据计算将来使用的输出缩放参数

说明

bool fann_set_output_scaling_params ( resource $ann , resource $train_data , float $new_output_min , float $new_output_max )

根据训练数据计算将来使用的输出缩放参数

参数

ann
Neural network resource.

train_data
Neural network training data resource.

new_output_min
缩放后输出数据的期望下限(不严格遵循)

new_output_max
缩放后输出数据的期望上限(不严格遵循)

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_input_scaling_params

fann_set_quickprop_decay

设置quickprop算法衰减因子

说明

bool fann_set_quickprop_decay ( resource $ann , float $quickprop_decay )

设置quickprop算法衰减因子。

参数

ann
Neural network resource.

quickprop_decay
quickprop算法衰减因子。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_quickprop_decay

fann_set_quickprop_mu

设置 quickprop 算法放大因子

说明

bool fann_set_quickprop_mu ( resource $ann , float $quickprop_mu )

设置 quickprop 算法放大因子。

参数

ann
Neural network resource.

quickprop_mu
放大因子。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_quickprop_mu

fann_set_rprop_decrease_factor

使用 RPROP 算法训练时,设置下降因子

说明

bool fann_set_rprop_decrease_factor ( resource $ann , float $rprop_decrease_factor )

使用 RPROP 算法训练时,设置下降因子。

参数

ann
Neural network resource.

rprop_decrease_factor
下降因子。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_rprop_decrease_factor

fann_set_rprop_delta_max

设置最大步长

说明

bool fann_set_rprop_delta_max ( resource $ann , float $rprop_delta_max )

最大步长是一个正数,决定最大步长可能有多大。

参数

ann
Neural network resource.

rprop_delta_max
最大步长。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_rprop_delta_max
  • fann_get_rprop_delta_min

fann_set_rprop_delta_min

设置最小步长

说明

bool fann_set_rprop_delta_min ( resource $ann , float $rprop_delta_min )

最小步长是一个小的正数,决定最小步长可能有多小。

参数

ann
Neural network resource.

rprop_delta_min
最小步长。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_rprop_delta_min

fann_set_rprop_delta_zero

设置初始步长

说明

bool fann_set_rprop_delta_zero ( resource $ann , float $rprop_delta_zero )

初始步长是确定初始步长的正数。

参数

ann
Neural network resource.

rprop_delta_zero
初始步长。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_rprop_delta_zero
  • fann_get_rprop_delta_min
  • fann_get_rprop_delta_max

fann_set_rprop_increase_factor

使用 RPROP 算法训练时,设置增长因子

说明

bool fann_set_rprop_increase_factor ( resource $ann , float $rprop_increase_factor )

使用 RPROP 算法训练时,设置增长因子。

参数

ann
Neural network resource.

rprop_increase_factor
增长因子。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_rprop_increase_factor

fann_set_sarprop_step_error_shift

设置 sarprop 算法的步误差偏移量

说明

bool fann_set_sarprop_step_error_shift ( resource $ann , float $sarprop_step_error_shift )

设置 sarprop 算法的步误差偏移量。

参数

ann
Neural network resource.

sarprop_step_error_shift
sarprop 算法的步误差偏移量.

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_sarprop_step_error_shift

fann_set_sarprop_step_error_threshold_factor

设置 sarprop 算法的步误差阈值因子

说明

bool fann_set_sarprop_step_error_threshold_factor ( resource $ann , float $sarprop_step_error_threshold_factor )

设置 sarprop 算法的步误差阈值因子。

参数

ann
Neural network resource.

sarprop_step_error_threshold_factor
sarprop 算法的步误差阈值因子。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_sarprop_step_error_threshold_factor

fann_set_sarprop_temperature

设置 sarprop 算法的温度

说明

bool fann_set_sarprop_temperature ( resource $ann , float $sarprop_temperature )

设置 sarprop 算法的温度。

参数

ann
Neural network resource.

sarprop_temperature
sarprop 算法的温度。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_sarprop_temperature

fann_set_sarprop_weight_decay_shift

设置 sarprop 算法的权重衰减偏移值

说明

bool fann_set_sarprop_weight_decay_shift ( resource $ann , float $sarprop_weight_decay_shift )

设置 sarprop 算法的权重衰减偏移值。

参数

ann
Neural network resource.

sarprop_weight_decay_shift
sarprop 算法的权重衰减偏移值。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_sarprop_weight_decay_shift

fann_set_scaling_params

根据训练数据计算输入和输出缩放参数以供将来使用

说明

bool fann_set_scaling_params ( resource $ann , resource $train_data , float $new_input_min , float $new_input_max , float $new_output_min , float $new_output_max )

根据训练数据计算输入和输出缩放参数以供将来使用。

参数

ann
Neural network resource.

train_data
Neural network training data resource.

new_input_min
缩放后输入数据的期望下限 (不严格遵循)

new_input_max
缩放后输入数据的期望上限 (不严格遵循)

new_output_min
缩放后输出数据的期望下限 (不严格遵循)

new_output_max
缩放后输出数据的期望上限 (不严格遵循)

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_set_input_scaling_params
  • fann_set_output_scaling_params

fann_set_train_error_function

设置训练期间使用的错误函数。

说明

bool fann_set_train_error_function ( resource $ann , int $error_function )

设置训练期间使用的错误函数。

更多错误函数的信息,参见 error functions 常量.

参数

ann
Neural network resource.

error_function
error function 常量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_train_error_function

fann_set_train_stop_function

设置训练期间使用的停止函数。

说明

bool fann_set_train_stop_function ( resource $ann , int $stop_function )

设置训练期间使用的停止函数。

停止函数更多详情,参见 stop functions 常量。

参数

ann
Neural network resource.

stop_function
stop function 常量。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_train_stop_function

fann_set_training_algorithm

设置训练算法。

说明

bool fann_set_training_algorithm ( resource $ann , int $training_algorithm )

设置训练算法。

更多信息参见 fann_get_training_algorithm.

参数

ann
Neural network resource.

training_algorithm
Training algorithm 常量

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_get_training_algorithm

fann_set_weight_array

在网络中设置一个连接。

说明

bool fann_set_weight_array ( resource $ann , array $connections )

在网络中设置一个连接。

只有权重将会被改变,连接和权重将被忽略如果它们不存在于网络中。

参数

ann
Neural network resource.

connections
一个包含 FANNConnection 对象的数组。

返回值

Returns TRUE on success, or FALSE otherwise.

fann_set_weight

在网络中设置一个连接。

说明

bool fann_set_weight ( resource $ann , int $from_neuron , int $to_neuron , float $weight )

在网络中设置一个连接。

参数

ann
Neural network resource.

from_neuron
连接开始处的神经元。

to_neuron
连接结束处的神经元。

weight
连接权重。

返回值

Returns TRUE on success, or FALSE otherwise.

fann_shuffle_train_data

打算训练数据,使顺序随机。

说明

bool fann_shuffle_train_data ( resource $train_data )

打算训练数据,使顺序随机。 增量训练时推荐使用,但是批训练时并没有什么明显的效果。

参数

train_data
Neural network training data resource.

返回值

Returns TRUE on success, or FALSE otherwise.

fann_subset_train_data

返回一个训练数据子集的副本。

说明

resource fann_subset_train_data ( resource $data , int $pos , int $length )

返回一个训练数据子集的副本 resource, 从 pos 位置开始向前步进 length 个元素。

fann_subset_train_data(train_data, 0, fann_length_train_data(train_data))fann_duplicate_train_data函数的效果是一样的。

参数

data
Neural network training data resource.

pos
起始位置。

length
复制元素的数量。

返回值

Returns a train data resource on success, or FALSE on error.

参见

  • fann_duplicate_train_data

fann_test_data

使用训练数据来测试并且计算出 MSE .

说明

float fann_test_data ( resource $ann , resource $data )

使用训练数据来测试并且计算出 MSE .

该函数将会更新 MSE 和 误差的值。

参数

ann
Neural network resource.

data
Neural network training data resource.

返回值

成功,则更新 MSE, 错误则返回 FALSE .

参见

  • fann_train_on_data
  • fann_train_epoch
  • fann_get_bit_fail
  • fann_get_MSE
  • fann_set_training_algorithm

fann_test

使用一组输入和一组期望的输出来测试。

说明

bool fann_test ( resource $ann , array $input , array $desired_output )

使用一组输入和一组期望的输出来测试。 这个操作将会更新均方误差,但是无论如何都不会改变网络。

参数

ann
Neural network resource.

input
输入数组。 这个数组必须和 fann_get_num_input 一样长。

desired_output
期望的输出数组。 这个数组必须和 fann_get_num_output 一样长.

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_test_data
  • fann_train
  • fann_get_num_input
  • fann_get_num_output

fann_train_epoch

使用一组训练数据训练一个周期。

说明

float fann_train_epoch ( resource $ann , resource $data )

使用保存在 data 中训练数据训练一个周期。一个训练周期表示所有的训练数据正好使用了一次。

这个函数将会返回在其实际计算之前或当中被计算的 MSE 错误。但是因为计算需要再次走一遍整个训练集,所有训练周期之后的不是真正的 MSE。 在训练中使用这个值是绰绰有余的。

该函数使用的是被 fann_set_training_algorithm 函数选中的训练算法。

参数

ann
Neural network resource.

data
Neural network training data resource.

返回值

成功,则返回 MSE, 错误则返回 FALSE .

参见

  • fann_train_on_data
  • fann_test_data
  • fann_get_MSE
  • fann_set_training_algorithm

fann_train_on_data

在整个数据集上训练一段时间。

说明

bool fann_train_on_data ( resource $ann , resource $data , int $max_epochs , int $epochs_between_reports , float $desired_error )

在整个数据集上训练一段时间。

该训练使用 fann_set_training_algorithm 函数选择的算法和这些训练算法设置的参数。

参数

ann
Neural network resource.

data
Neural network training data resource.

max_epochs
训练应该继续的最大周期数。

epochs_between_reports
用户函数之间的周期数。当为0时表示没有用户函数被调用。

desired_error
期望的是 fann_get_MSEfann_get_bit_fail的返回值, 取决于 fann_set_train_stop_function 选择的停止函数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_train_on_file
  • fann_train_epoch
  • fann_get_bit_fail
  • fann_get_MSE
  • fann_set_train_stop_function
  • fann_set_training_algorithm
  • fann_set_callback

fann_train_on_file

在从某个文件读取的整个数据集上训练一段时间。

说明

bool fann_train_on_file ( resource $ann , string $filename , int $max_epochs , int $epochs_between_reports , float $desired_error )

在从某个文件读取的整个数据集上训练一段时间。

该训练使用 fann_set_training_algorithm 函数选择的算法和这些训练算法设置的参数。

参数

ann
Neural network resource.

filename
包含训练数据的文件。

max_epochs
训练应该继续的最大周期数。

epochs_between_reports
用户函数之间的周期数。当为0时表示没有用户函数被调用。

desired_error
期望的是 fann_get_MSEfann_get_bit_fail的返回值, 取决于 fann_set_train_stop_function 选择的停止函数。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_train_on_data
  • fann_train_epoch
  • fann_get_bit_fail
  • fann_get_MSE
  • fann_set_train_stop_function
  • fann_set_training_algorithm
  • fann_set_callback

fann_train

使用一个输入集和一个期望的输出集来迭代训练一次。

说明

bool fann_train ( resource $ann , array $input , array $desired_output )

使用一个输入集和一个期望的输出集来迭代训练一次。 该训练一直是递增训练,因此只会出现一个模式。

参数

ann
Neural network resource.

input
输入数组,这个数组的长度应该恰好和 fann_get_num_input 一样长。

desired_output
期望输出数组,这个数组的长度应该恰好和fann_get_num_output 一样长。

返回值

Returns TRUE on success, or FALSE otherwise.

参见

  • fann_train_on_data
  • fann_train_epoch
  • fann_get_num_input
  • fann_get_num_output

目录