Предопределенные константы
Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение было подгружено во время выполнения.
Обучающие алгоритмы
-
FANN_TRAIN_INCREMENTAL
(integer)
-
Стандартный алгоритм обратного распространения ошибки, в котором веса
обновляются после каждого обучающего шаблона. Это обозначает, что веса
обновляются множество раз в течении одной эпохи. Это приводит к тому, что для
некоторых задач обучение будет происходить очень быстро, в то время как
с более сложными задачами обучение не будет давать нужного качества.
-
FANN_TRAIN_BATCH
(integer)
-
Стандартный алгоритм обратного распространения ошибки, в котором веса
обновляются после вычисления среднеквадратичная погрешность на всем обучающем
наборе. Это обозначает, что веса обновляются всего один раз в течении одной эпохи.
Это приводит к тому, что для некоторых задач обучение будет происходить медленнее.
С другой стороны, вычисление среднеквадратичная погрешности более корректно, нежели
чем в инкрементальном обучении, что позволяет получить более качественную сеть.
-
FANN_TRAIN_RPROP
(integer)
-
Более продвинутый алгоритм пакетного обучения, позволяющий достичь хороших результатов
для многих задач. Обучающий алгоритм RPROP является адаптивным и, следовательно, не
использует learning_rate. Тем не менее модно установить некоторые другие параметры
для изменения работы алгоритма RPROP, но это рекомендуется делать только тем, кто
понимает принципы работы этого алгоритма. Обучающий алгоритм RPROP описан
Редмиллером и Брауном в 1993г, но тут используется обучающий алгоритм iRPROP,
описанный Игелем и Хаскиным в 2000г, который является вариантом стандартного алгоритма
RPROP.
-
FANN_TRAIN_QUICKPROP
(integer)
-
Более продвинутый алгоритм пакетного обучения, позволяющий достичь хороших результатов
для многих задач. Алггоритм quickprop использует параметр learning_rate наряду с другими
параметрами, но изменять эти параметры рекомендуется только если вы понимаете, что
делаете. Обучающий алгоритм quickprop описан Фальманом в 1988г.
-
FANN_TRAIN_SARPROP
(integer)
-
Еще более продвинутый алгоритм тренировки. Только для версии 2.2
Activation functions
-
FANN_LINEAR
(integer)
-
Линейная функция активации.
-
FANN_THRESHOLD
(integer)
-
Функция активации по порогу.
-
FANN_THRESHOLD_SYMMETRIC
(integer)
-
Функция активации по порогу.
-
FANN_SIGMOID
(integer)
-
Функция активации по сигмоиде.
-
FANN_SIGMOID_STEPWISE
(integer)
-
Пошаговая линейная апроксимация к сигмоиде.
-
FANN_SIGMOID_SYMMETRIC
(integer)
-
Функция активации по симметричной сигмоиде, она же tanh (гиперболический тангенс).
-
FANN_SIGMOID_SYMMETRIC_STEPWISE
(integer)
-
Пошаговая линейная апроксимация к симметричной сигмоиде.
-
FANN_GAUSSIAN
(integer)
-
Гауссова функция активации.
-
FANN_GAUSSIAN_SYMMETRIC
(integer)
-
Симметричная гауссова функция активации.
-
FANN_GAUSSIAN_STEPWISE
(integer)
-
Пошаговая гауссова функция активации.
-
FANN_ELLIOT
(integer)
-
Быстрая (похожая на сигмоиду) функция активации, описанная Дэвидом Эллиотом.
-
FANN_ELLIOT_SYMMETRIC
(integer)
-
Быстрая (похожая на симметричную сигмоиду) функция активации, описанная Дэвидом Эллиотом.
-
FANN_LINEAR_PIECE
(integer)
-
Ограниченная линейная функция активации.
-
FANN_LINEAR_PIECE_SYMMETRIC
(integer)
-
Ограниченная линейная функция активации.
-
FANN_SIN_SYMMETRIC
(integer)
-
Периодическая синусоидальная функция активации.
-
FANN_COS_SYMMETRIC
(integer)
-
Периодическая косинусоидальная функция активации.
-
FANN_SIN
(integer)
-
Периодическая синусоидальная функция активации.
-
FANN_COS
(integer)
-
Периодическая косинусоидальная функция активации.
Error function used during training
-
FANN_ERRORFUNC_LINEAR
(integer)
-
Стандартная линейная функция ошибки.
-
FANN_ERRORFUNC_TANH
(integer)
-
Функция ошибки на основе гиперболического тангенса (tanh), обычно более качественное, но и
более медленное обучение. Эта функция ошибки аггресивно нацелена на результаты сильно отличающиеся
от ожидаемых, в то время как результаты с небольшими отличиями не затрагивает.
Эта функция ошибки не рекомендована для использования в каскадном и инкрементальном обучении.
Критерий остановки используемый при обучении
-
FANN_STOPFUNC_MSE
(integer)
-
Критерий остановки - это значение среднеквадраатичной ошибки (Mean Square Error или MSE).
-
FANN_STOPFUNC_BIT
(integer)
-
Критерий остановки - это количество ошибочных бит. Количество ошибочных бит - это количество
отдающих нейронов, количество ошибочных бит которых более установленного предела
(смотрите fann_get_bit_fail_limit, fann_set_bit_fail_limit). Бити считаются во всех обучающих данных,
так что это число может быть больше количества обучающих данных.
Определение типов сети используемых fann_get_network_type()
-
FANN_NETTYPE_LAYER
(integer)
-
Каждый уровень имеет связи только со следующим уровнем.
-
FANN_NETTYPE_SHORTCUT
(integer)
-
Каждый уровень имеет связи со всеми последующими уровнями.
Ошибки
-
FANN_E_NO_ERROR
(integer)
-
Нет ошибки.
-
FANN_E_CANT_OPEN_CONFIG_R
(integer)
-
Невозможно открыть конфигурационный файл на чтение.
-
FANN_E_CANT_OPEN_CONFIG_W
(integer)
-
Невозможно открыть конфигурационный файл на запись.
-
FANN_E_WRONG_CONFIG_VERSION
(integer)
-
Неверная версия конфигурационного файла.
-
FANN_E_CANT_READ_CONFIG
(integer)
-
Ошибка чтения данных из конфигурационного файла.
-
FANN_E_CANT_READ_NEURON
(integer)
-
Ошибка чтения данных нейрона из конфигурационного файла.
-
FANN_E_CANT_READ_CONNECTIONS
(integer)
-
Ошибка чтения данных связей из конфигурационного файла.
-
FANN_E_WRONG_NUM_CONNECTIONS
(integer)
-
Количество связен отличается от ожидаемого.
-
FANN_E_CANT_OPEN_TD_W
(integer)
-
Невозможно открыть файл с обучающими данными на запись.
-
FANN_E_CANT_OPEN_TD_R
(integer)
-
Невозможно открыть файл с обучающими данными на чтение.
-
FANN_E_CANT_READ_TD
(integer)
-
Ошибка чтения обучающих данных из файла.
-
FANN_E_CANT_ALLOCATE_MEM
(integer)
-
Невозможно выделить память.
-
FANN_E_CANT_TRAIN_ACTIVATION
(integer)
-
Обучение с заданной функцией активации невозможно.
-
FANN_E_CANT_USE_ACTIVATION
(integer)
-
Невозможно использовать заданную функцию активации.
-
FANN_E_TRAIN_DATA_MISMATCH
(integer)
-
Неразрешимые различия между двумя структурами fann_train_data.
-
FANN_E_CANT_USE_TRAIN_ALG
(integer)
-
Невозможно использовать указанный алгоритм обучения.
-
FANN_E_TRAIN_DATA_SUBSET
(integer)
-
Попытка взять подмножество отсутствующее в обучающем наборе.
-
FANN_E_INDEX_OUT_OF_BOUND
(integer)
-
Индекс за пределами допустимого диапазона.
-
FANN_E_SCALE_NOT_PRESENT
(integer)
-
Не задан параметр масштабирования.
-
FANN_E_INPUT_NO_MATCH
(integer)
-
Количество входных нейронов в сети и данных не совпадают.
-
FANN_E_OUTPUT_NO_MATCH
(integer)
-
Число выходных нейронов в сети и данных не совпадают.