Ознайомлення з основними поняттями нейронних мереж. Вивчення пакету MatLab
Лабораторна
робота
з
дисципліни «Нейромережі і нейрокомп’ютерні системи»
на
тему «Ознайомлення з основними поняттями нейронних мереж. Вивчення пакету
MatLab»
Вступ
Мета: набути основних навичок роботи
програми, вивчення предметної області, а також вивчення основних принципів мови
MatLab.
1. Теоретичні відомості
- це пакет прикладних програм для
числового аналізу, а також мова програмування, що використовується в даному
пакеті. Система створена компанією The MathWorks і є зручним засобом для роботи
з математичними матрицям, малювання функцій, роботи з алгоритмами, створення
робочих оболонок (user
interfaces) з
програмами в інших мовах програмування.
Штучні нейронні мережі - математичні
моделі, а також їхня програмна та апаратна реалізація, побудовані за принципом
біологічних нейронних мереж - мереж нервових клітин живого організму.
Network/Data
Manager -
інструмент, що дозволяє імпортувати, створювати, застосовувати та експортувати
моделі штучних нейронних мереж та дані. Для його запуску необхідно в командному
рядку MatLab ввести команду nntool і натиснути Enter.
Скриптова мова - мова програмування
розроблена для запису “сценаріїв”, послідовностей операцій, які користувач може
виконувати на комп’ютері. Прості скриптові мови раніше часто називали мовами
пакетної обробки (batch
languages або job
control languages).
Сценарії зазвичай інтерпретуються, а не компілюються.
У прикладній програмі, сценарій
(скрипт) - це програма, яка автоматизує деяке завдання, яке без сценарію
користувач робив би вручну, використовуючи інтерфейс програми.
Функція - це частина програми, яка
реалізує певний алгоритм і дозволяє звернення до неї з різних частин загальної
(головної) програми. В термінах мов програмування: функції (C), процедури (Pascal),
методи (в термінології об’єктно-орієнтованого програмування в мовах C++, Java,
C# та ін.).
В MatLab і скрипти, і функції
зберігаються в файлах із розширенням .m.
Різниця полягає в тому, що функції можуть приймати аргументи і мають окремий
робочий простір, що відокремлений від головного. Завдяки цьому значення
змінних, що використовуються користувачем не перепишуться під час виконання
функції, навіть якщо назви змінних збігаються.
Component
Object Model
- платформа компонентно-орієнтованого програмування розроблена в 1993 році
компанією Microsoft, дозволяє використання міжпроцесної взаємодії (inter-process
communication)
та динамічного створення об’єктів у будь-якій мові програмування, що підтримує
технологію. Використовується переважно у ОС Windows, хоча була реалізована на декількох
платформах.надає користувачеві велику кількість функцій для аналізу даних, які
покривають майже всі області математики, зокрема:
· Матриці та лінійна
алгебра - алгебра матриць, лінійні рівняння, власні значення і вектори,
сингулярності, факторизація матриць та інше.
· Многочлени та
інтерполяція - корені многочленів, операції над многочленами та їх
диференціювання, інтерполяція та екстраполяція кривих.
· Математична
статистика та аналіз даних - статистичні функції, статистична регресія, цифрова
фільтрація, швидке перетворення Фур’є та інші.
· Обробка даних -
набір спеціальних функцій, включаючи побудову графіків, оптимізацію, пошук
нулів, чисельне інтегрування та інше.
· Розріджені матриці
- спеціальний клас даних пакету MATLAB, що використовується у спеціалізованих
додатках.
· Цілочисельна
арифметика - виконання операцій цілочисельної арифметики в середовищі MATLAB.
Нейронні мережі (NN - Neural
Networks) широко
використовуються для розв’язання різноманітних задач. Наприклад, обробка
аналогових і цифрових сигналів, синтез і ідентифікація електронних кіл і
систем. Із допомогою нейронних систем можна виконувати фільтрацію, оцінку
параметрів, детектування, ідентифікацію систем, розпізнавання образів,
реконструкцію сигналів, аналіз часових рядів і стиснення.файл - файл, за
допомогою якого можна забезпечити взаємодію між MATLAB або GNU Octave і
підпрограмами, що написані на мовах C, C++ або Fortran. Після компіляції,
MEX-файл динамічно завантажуються і дозволяють виконувати в MATLAB або GNU
Octave код, що не написаний на мові MATLAB, так, немовби це вбудована функція.
. Хід роботи
. Запустив Network/Data
Manager за
допомогою команди nntool.
. Створив модель штучної нейронної
мережі з ім’ям NW1 і додав послідовності входу: P1 = [1 0.5 0 1; -2 0 0.5 1],
Dtest = [0.25 0.5 0.5 0.75 1; -2 -1 0 0.4 1] і цілі T1 = [-1 0.25 0.5 2], Ttest
= [-1.9375 -0.75 0.25 0.9625 2].
Рис. 1
3. Побудував графік результату навчання
мережі і відповідні ваги й зміщення.
Рис. 2
Рис. 3
Рис. 4
. Провів тестування мережі і отримав
наступні вихідні дані: [0.86241 -0.59008 -0.58513 -0.091827 -0.43091] і
значення абсолютних похибок: [-2.7999 -0.15992 0.83513 1.0543 2.4309].
matlab програмування
нейронний мережа
Висновки
За допомогою NNTool програмного
комплексу MATLAB можна створювати та досліджувати штучні нейронні мережі.
NNTool має широкий спектр функцій для дослідження та навчання мережі, а також
зміни її параметрів.