Нейромережа для передбачення

Нейроемулятор FuzzySearch

http://www.basegroup.ru/ (завантажити додаток)

Програма призначена для демонстрації можливостей мереж Хемінга в розпізнаванні образів.

Завдання нечіткого пошуку обране в якості простого і зрозумілого прикладу. Це далеко не єдина область застосування цих мереж. Наприклад, вони використовуватися для відновлення образів з неповною або спотвореною інформацією.

Мережа Хемінга є однією з різновидів нейронних мереж. Принцип роботи мереж Хемінга базується на визначенні відстані Хемінга між об'єктами і знаходженні найбільш близького.

Асоціативна пам'ять - застосування мереж Хемінга для нечіткого пошуку

Відстанню Хемінга називається число відмінних бітів у двох бінарних векторах. Для кодування букв в цифри в цій аплікації використовується ASCII код, хоча можна використовувати й інші методи кодування.

Якщо вдало підібрати систему кодування, можна значно поліпшити якість розпізнавання. Наприклад, для виправлення друкарських помилок варто брати до уваги розташування букв на клавіатурі. Кодування повинно бути розроблено таким чином, щоб літери, які розташовані поруч на клавіатурі мали близькі (за Хемінгом) коди.

Для роботи системи необхідно мати файл з образами (словник). Для цього потрібно відкрити будь-якій текстовій файл.

На основі цього файлу система сама складе словник.

Після цього потрібно ввести слово для пошуку, програма виявить слово найбільш близьке до нього і зафіксує на ньому вказівник.

Нейроемулятор Neural Network Wizard

http://www.basegroup.ru (завантажити додаток)

Neural Network Wizard 1.7 це програмний емулятор нейрокомп'ютера. В Neural Network Wizard реалізовано багатошарову нейронну мережу, що навчається за алгоритмом зворотного поширення похибки (back propagation). Програма може застосовуватися для аналізу інформації, побудови моделей процесів і прогнозування.

Можливості емулятора:

  • Отримання даних для навчання з текстового файлу
  • Різні способи нормування даних.
  • Створення багатошарових нейронних мереж різної конфігурації.
  • Налаштування параметрів навчання нейросистеми
  • Можливість зберегти результати навчання
  • Автоматизація навчання системи.
  • Автоматичне формування навчає і тестової множини.
  • Відкрито вихідні тексти програмного коду (версія 1.7).

Для використання нейроемулятора

Для роботи із системою необхідно здійснити наступні операції:

Запустити нейроемулятор (BIN/WIZARD.EXE)і завантажити файл з навчальною множиною.

Дані у текстовий файл записуються з певним форматуванням

Привласнити відповідним полям значення входів або виходів, застосувати певний тип нормалізації до даних (приведення до діапазону [0,1]).

Налаштувати конфігурацію мережі. Кількість нейронів на входи та виході мережі встановлюються автоматично, відповідно до навчальної множини та налаштувань у попередньому вікні. Користувач може встановити кількість прихованих прошарків мережі, кількість нейронів у прихованому прошарку, змінити вигляд сигмоїдної передатної функції.

Встановити критерії щодо навчання, тестування та часу обчислень мережі.

Перевірити налаштовану конфігурацію. У разі виявлення невірних налаштувань, повернутися на попередні кроки і виправити виявлені недоречності.

Запустити навчання нейромережі на приведених даних і спостерігати за прогресом навчання. Якщо не встановлено критеріїв останову навчання, то за пару хвилин зупинити навчання. Під час навчання нейромережа самостійно підбирає значення коефіцієнтів і будує таку модель, що найточніше відбиває процес дослідження.

Перевірити якість навчання в різний спосіб. До перевірки надавати дані, що приймали та не приймали участь в навчанні

Повернутися до попереднього вікна і продовжити навчання ще певний час. Зупинити навчання і перевірити результат на тих же даних. Проаналізувати розбіжності.

Повернутися на попередні кроки і поміняти параметри конфігурації. Повторити навчання і порівняти отримані результати

Порядок роботи

  1. Ознайомитися з теоретичними матеріалами щодо нейронних мереж та їх застосування в задачах передбачення.
  2. Запустити нейроемулятор FuzzySearch. Завантажити певний фрагмент тексту (1000-2000 символів). Здійснити пошук певного слова з утвореного словника. Слово написати з кількома типами помилок
    • Невірна літера на початку, всередині, наприкінці слова.
    • Пропущена літера на початку, всередині, наприкінці слова.
    • Зайва літера на початку, всередині, наприкінці слова.
    • Кілька помилок різного типу
  3. Проаналізувати отримані результати, пояснити причини.
  4. Запустити нейроемулятор Neural Network Wizard. Пройти всі кроки тестового завдання і проаналізувати отримані результати.
  5. Сформувати власні дані для навчання. Для експериментів можна взяти просту функцію (суму, множення, ділення). Приділити увагу до кількості прикладів (кілька десятків) та їх різноманіттю (не монотонність зростання чи спадання).
  6. Пройти всі кроки навчання на сформованих даних, приділити більшої уваги налаштуванню параметрів нейроемулятора: тип нормалізації, коефіцієнт сигмоїдної передатної функції, кількості нейронів у прихованому прошарку, часу навчання.
  7. Проаналізувати отримані результати і зробити висновки.
  8. Під час захисту лабораторної роботи вільно володіти теоретичним матеріалом: особливості нейронних мереж, вимоги щодо даних, фактори, що впливают на результати навчання, усталені терміни, коло практичного застосування моделей.

Зміст звіту

  1. Назва та мета виконання лабораторної роботи.
  2. Скріни основних етапів експериментів, фрагменти навчальних множин.
  3. Характеристика основних параметрів налаштування.
  4. Аналітичні висновки щодо властивостей нейроемуляторів та отриманих результатів.