PHP 8.4.26 Released!

Предопределённые константы

Следующие константы определяются модулем и доступны, только если модуль либо собрали в PHP, либо динамически загрузили при выполнении кода.

Обучающие алгоритмы
FANN_TRAIN_INCREMENTAL (int)

Стандартный алгоритм обратного распространения ошибки, в котором веса обновляются после каждого обучающего шаблона. Это означает, что веса обновляются множество раз в течение одной эпохи. Это приводит к тому, что для некоторых задач обучение будет происходить очень быстро, в то время как с более сложными задачами обучение не будет давать нужного качества.

FANN_TRAIN_BATCH (int)

Стандартный алгоритм обратного распространения ошибки, в котором веса обновляются после вычисления среднеквадратичной погрешности на всем обучающем наборе. Это означает, что веса обновляются всего один раз в течение одной эпохи. Это приводит к тому, что для некоторых задач обучение будет происходить медленнее. С другой стороны, вычисление среднеквадратичной погрешности более корректно, нежели чем в инкрементальном обучении, что позволяет получить более качественную сеть.

FANN_TRAIN_RPROP (int)

Более продвинутый алгоритм пакетного обучения, позволяющий достичь хороших результатов для многих задач. Обучающий алгоритм RPROP является адаптивным и, следовательно, не использует learning_rate. Тем не менее можно установить некоторые другие параметры для изменения работы алгоритма RPROP, но это рекомендуется делать только тем, кто понимает принципы работы этого алгоритма. Обучающий алгоритм RPROP описан Редмиллером и Брауном в 1993 г., но тут используется обучающий алгоритм iRPROP, описанный Игелем и Хаскиным в 2000 г., который является вариантом стандартного алгоритма RPROP.

FANN_TRAIN_QUICKPROP (int)

Более продвинутый алгоритм пакетного обучения, позволяющий достичь хороших результатов для многих задач. Алгоритм quickprop использует параметр learning_rate наряду с другими параметрами, но изменять эти параметры рекомендуется только если вы понимаете, что делаете. Обучающий алгоритм quickprop описан Фальманом в 1988 г.

FANN_TRAIN_SARPROP (int)

Ещё более продвинутый алгоритм тренировки. Только для версии 2.2

Activation functions
FANN_LINEAR (int)

Линейная функция активации.

FANN_THRESHOLD (int)

Функция активации по порогу.

FANN_THRESHOLD_SYMMETRIC (int)

Функция активации по порогу.

FANN_SIGMOID (int)

Функция активации по сигмоиде.

FANN_SIGMOID_STEPWISE (int)

Пошаговая линейная апроксимация к сигмоиде.

FANN_SIGMOID_SYMMETRIC (int)

Функция активации по симметричной сигмоиде, она же tanh (гиперболический тангенс).

FANN_SIGMOID_SYMMETRIC_STEPWISE (int)

Пошаговая линейная апроксимация к симметричной сигмоиде.

FANN_GAUSSIAN (int)

Гауссова функция активации.

FANN_GAUSSIAN_SYMMETRIC (int)

Симметричная гауссова функция активации.

FANN_GAUSSIAN_STEPWISE (int)

Пошаговая гауссова функция активации.

FANN_ELLIOT (int)

Быстрая (похожая на сигмоиду) функция активации, описанная Дэвидом Эллиотом.

FANN_ELLIOT_SYMMETRIC (int)

Быстрая (похожая на симметричную сигмоиду) функция активации, описанная Дэвидом Эллиотом.

FANN_LINEAR_PIECE (int)

Ограниченная линейная функция активации.

FANN_LINEAR_PIECE_SYMMETRIC (int)

Ограниченная линейная функция активации.

FANN_SIN_SYMMETRIC (int)

Периодическая синусоидальная функция активации.

FANN_COS_SYMMETRIC (int)

Периодическая косинусоидальная функция активации.

FANN_SIN (int)

Периодическая синусоидальная функция активации.

FANN_COS (int)

Периодическая косинусоидальная функция активации.

Error function used during training
FANN_ERRORFUNC_LINEAR (int)

Стандартная линейная функция ошибки.

FANN_ERRORFUNC_TANH (int)

Функция ошибки на основе гиперболического тангенса (tanh); обычно более качественное, но и более медленное обучение. Функция ошибки агрессивно нацелена на результаты сильно отличающиеся от ожидаемых, в то время, как результаты с небольшими отличиями не затрагиваются. Не рекомендуется для каскадного или инкрементального обучения.

Критерий остановки, используемый при обучении
FANN_STOPFUNC_MSE (int)

Критерий остановки - это значение среднеквадратичной ошибки (Mean Square Error или MSE).

FANN_STOPFUNC_BIT (int)

Критерий остановки - это количество ошибочных бит. Количество ошибочных бит - это количество отдающих нейронов, количество ошибочных бит, которые более установленного предела (смотрите fann_get_bit_fail_limit, fann_set_bit_fail_limit). Биты считаются во всех обучающих данных, так что это число может быть больше количества обучающих данных.

Определение типов сети используемых fann_get_network_type()
FANN_NETTYPE_LAYER (int)

Каждый уровень имеет связи только со следующим уровнем.

FANN_NETTYPE_SHORTCUT (int)

Каждый уровень имеет связи со всеми последующими уровнями.

Ошибки
FANN_E_NO_ERROR (int)

Нет ошибки.

FANN_E_CANT_OPEN_CONFIG_R (int)

Невозможно открыть конфигурационный файл на чтение.

FANN_E_CANT_OPEN_CONFIG_W (int)

Невозможно открыть конфигурационный файл на запись.

FANN_E_WRONG_CONFIG_VERSION (int)

Неверная версия конфигурационного файла.

FANN_E_CANT_READ_CONFIG (int)

Ошибка чтения данных из конфигурационного файла.

FANN_E_CANT_READ_NEURON (int)

Ошибка чтения данных нейрона из конфигурационного файла.

FANN_E_CANT_READ_CONNECTIONS (int)

Ошибка чтения данных связей из конфигурационного файла.

FANN_E_WRONG_NUM_CONNECTIONS (int)

Количество связей отличается от ожидаемого.

FANN_E_CANT_OPEN_TD_W (int)

Невозможно открыть файл с обучающими данными на запись.

FANN_E_CANT_OPEN_TD_R (int)

Невозможно открыть файл с обучающими данными на чтение.

FANN_E_CANT_READ_TD (int)

Ошибка чтения обучающих данных из файла.

FANN_E_CANT_ALLOCATE_MEM (int)

Невозможно выделить память.

FANN_E_CANT_TRAIN_ACTIVATION (int)

Обучение с заданной функцией активации невозможно.

FANN_E_CANT_USE_ACTIVATION (int)

Невозможно использовать заданную функцию активации.

FANN_E_TRAIN_DATA_MISMATCH (int)

Неразрешимые различия между двумя структурами fann_train_data.

FANN_E_CANT_USE_TRAIN_ALG (int)

Невозможно использовать указанный алгоритм обучения.

FANN_E_TRAIN_DATA_SUBSET (int)

Попытка взять подмножество отсутствующее в обучающем наборе.

FANN_E_INDEX_OUT_OF_BOUND (int)

Индекс за пределами допустимого диапазона.

FANN_E_SCALE_NOT_PRESENT (int)

Не задан параметр масштабирования.

FANN_E_INPUT_NO_MATCH (int)

Количество входных нейронов в сети и данных не совпадают.

FANN_E_OUTPUT_NO_MATCH (int)

Число выходных нейронов в сети и данных не совпадают.

+Добавить

Примечания пользователей 1 note

up
0
aaroncr+php at gmail dot com
2 years ago
RELU and L-RELU activation functions are listed in the C++ library enum (fann_data.h:~214) but PHP constants have not been assigned for them as of this note.  You can add them yourself:

define('FANN_LINEAR_PIECE_RECT', 18);
define('FANN_LINEAR_PIECE_RECT_LEAKY', 19);
To Top