Обумовлені константи

Наведені нижче константи визначені цим модулем і доступні або в збірках 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)

Число вихідних нейронів у мережі та даних не збігаються.