Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИИ / ИИ / СШІ / Лабораторна робота 3 СШІ.docx
Скачиваний:
51
Добавлен:
11.02.2015
Размер:
156.74 Кб
Скачать

Практична частина

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

1. Збережіть поточний мережевий набір, виконавши команду File->Network Set->Save As.

2. Закрийте вікно Data Set командою File->Close.

3. Закрийте вікна, що все залишилися, крім головного вікна програми.

4. Відкрийте набір даних з файлу SNNExamples\Series_g.sta (Додаток Б)

Дані містять значення лише однієї змінної SERIES_G: місячні перевезення пасажирів. Для нейронної мережі ця змінна служитиме одночасно і вхідною і вихідною (оскільки ми прогнозуємо майбутні значення ряду на основі попередніх значень).

5. Для змінної SERIES_G встановіть тип INPUT/OUTPUT.

Для цього виділіть змінну у відкритому файлі даних (щиглем на заголовку стовпця). Потім натисніть праву кнопку миші і виберіть з контекстного меню пункт INPUT/OUTPUT.

6. Виконайте команду File->New->Network. У полі Type виберіть тип мережі Багатошаровий персептрон (Multilayer Perceptron) і зробіть наступні установки:

Входи – Inputs = 1, виходи – Outputs = 1, кількість шарів – No Layers = 3, часове окно – Steps = 12 (дані є щомісячними авіаперевезеннями з присутньою в них сезонною складовою), горизонт – Lookahead = 1. Після цього натисніть кнопки Порада – Advise і Створити – Create. На екрані з'явиться схема тришарового персептрона, який має 12 входів (рис. 93).

Рис. 93. Архітектура мережі

3. Навчіть мережу.

У файлі даних виберіть 66 навчальних (Training) і 66 перевірочних (Verification) спостережень. Всього у файлі міститься 144 спостереження. Перші 12 резервуються для побудови прогнозу на першому кроці. Відмітьте, що кількість тренувальних і перевірочних зразків кратне 12 (оскільки ряд має період 12).

Далі виконайте команду Edit->Cases->Shuffle->Train and Verify.

Зазначимо, в часовому ряді спостереження впорядковані за часом, тому при перемішуванні не можна користуватися функцією Group Sets (згрупувати множини).

Для навчання мережі скористайтеся методом сполучених градієнтів. Число епох встановіть рівним 100. Поставте відмітку в полі Cross-verification щоб в процесі навчання мережі виконувалася її крос-перевірка. Натисніть кнопку Reinitialize, потім кнопку Train.

4. Побудуйте проекцію часового ряду.

Виконайте команду Run->Time Series і у вікні, що відкрилося, проведіть настройки так, як показано на рис. 94.

Проекція ряду будується таким чином:

а) мережа обробляє початковий набір значень (перші 12 спостережень) і видає прогноз;

б) перше спостереження з вихідного набору відкидається, замість нього ставиться прогноз, одержаний на першому кроці;

в) по новому набору вхідних значень будується наступний прогноз і т.д.

Рис. 94. Проекція часового ряду

5. Оцініть якість роботи мережі. Відкрийте вікно Статистики регресії – Regression Statistics (Рис. 95) і натисніть кнопку Запуск – Run.

Рис. 95. Статистики регресії

6. Побудуйте прогноз на один крок.

Додайте одне «фіктивне» спостереження. Для цього виконайте команду Edit->Cases->Add. У вікні, що з'явилося (Рис. 96), вкажіть кількість зразків (No. To add = 1), що додаються, і номер зразка, після якого вони будуть додані (Insert after = 144). Натисніть кнопку Add, потім кнопку Close. Не заповнюйте значення змінної SERIES_G для цього спостереження. Це значення буде спрогнозоване мережею.

Виконайте команду Run->Single Case. У вікні, що з'явилося(Рис. 97), в поле Case No введіть номер спостереження, для якого потрібно побудувати прогноз (у нашому випадку спостереження 145), і натисніть кнопку Run. У рядку Output з'явиться прогноз ряду на один крок вперед. У рядку Target стоїть знак «?», оскільки в вихідному файлі всього 144 спостереження.

Рис. 97. Прогноз на один крок вперед, побудований за допомогою навченої мережі

7. Збережіть поточний набір даних, виконавши команду File->Save.

8. Збережіть поточний мережевий набір, виконавши команду File->Network Set->Save As.

9. Закрийте вікно Data Set командою File->Close.

10. Закрийте вікна, що все залишилися, крім головного вікна програми.

Приклад 2. Спрогнозуємо місячні обсяги роздрібних продажів на бензоколонках США за допомогою майстра рішення задач Statistica Neural Networks.

1. Збережіть поточний мережевий набір, виконавши команду File->Network Set->Save As.

2. Закрийте вікно Data Set командою File->Close.

3. Закрийте вікна, що залишилися, крім головного вікна програми.

4. Відкрийте застосування STATISTICA.

5. Відкрийте файл SNNExamples\Retail.sta (Додаток Б).

6. Створіть додатково дві числові змінні Var2 і Var3.

7. Скопіюйте вміст стовпця Var1 у стовпець Var2.

8. Клацніть на заголовку стовпця, потім виконайте команду Data->Shift, і у вікні, що з'явилося, виконайте установки так, як показано на рис. 98, потім натисніть кнопку ОК.

Рис. 98. Вікно задавання параметрів зсуву ряду значень змінної Var3 на один крок назад (вгору)

9. Відкрийте вікно визначення характеристик змінної Var3 і в поле Long name (label or formula) введіть формулу так, як показано на рис. 99. Натисніть кнопку OK. Підтвердіть намір перерахувати значення в стовпці Var3 ще раз в спеціальному діалоговому вікні.

Рис. 99. Вікно визначення характеристик змінної Var3.

10. Збережіть дані у файл SNNExamples\Retail.txt. Для цього виконаєте команду File->Save As, у вікні збереження файлу в полі “Ім'я файлу” (File Name) вкажіть ім'я файлу RETAIL1.txt, у вікні настройки параметрів експорту даних в текстовий файл, виконайте установки так, як показано на рис. 100. Натисніть кнопку OK.

Рис. 100. Вікно настройки параметрів експорту даних в текстовий файл

11. Відкрийте застосування Statistica Neural Networks.

12. Відкрийте файл SNNExamples\Retail.txt виконавши команду File->Open і виконавши імпорт даних з текстового файлу.

13. Видаліть перший рядок з набору даних. Для цього виконайте команду Edit->Cases->Delete, виберіть рядок 1 в полі From і в полі To, натисніть кнопку Delete, а потім кнопку Close.

14. Для змінної Var1 встановіть тип INPUT/OUTPUT.

15. Для змінної Var2 встановіть тип IGNORE.

16. Для змінної Var3 встановіть тип INPUT.

17. Виконайте команду File->New->Intelligent Problem Solver. З'явиться вікно спеціального помічника для виконання настройок процесу рішення задачі і пошуку множини підходящих мереж (IPS). Виберіть опцію Advanced.

18. Натисніть кнопку Next і в наступному вікні майстра виберіть тип вирішуваної задачі – Time Series (часові ряди).

19. Встановіть значення поля Period = 12. Натисніть кнопку Next.

20. У наступному вікні виберіть вихідну змінну Var1 із списку активних змінних в наборі вихідних даних. Натисніть кнопку Next.

21. Далі виберіть в якості вхідних змінних змінні Var1 і Var3. Натисніть кнопку Next.

22. У наступному вікні виберіть опцію Use current division of Data Set, щоб підтвердити використання вже наявного розподілу зразків поточного набору даних по тренувальному і перевірочному піднаборах. Натисніть кнопку Next.

23. Далі виберіть типи Multilayer Perceptron (three layer) і Multilayer Perceptron (four layer), які використовуватимуться для створення пробних екземплярів нейронних мереж і їх подальшого аналізу з метою знаходження найефективнішої мережі. Натисніть кнопку Next.

24. У наступному вікні встановіть опцію автоматичного визначення складності мережі (кількість елементів в прихованих шарах мережі). Для цього поставте мітку в прапорці з найменуванням Determine network complexity automatically. Натисніть кнопку Next.

25. Далі виберіть середню тривалість процедури пошуку нейронних мереж, встановивши опцію Medium. Натисніть кнопку Next.

26. Виберіть опцію підтримки різноманітності мереж в мережевому наборі (Balance performance against type and complexity) і автоматичного збільшення обсягу мережевого набору (Increase the network set size).

27. Для відображення результатів пошуку, загальної статистики для знайдених мереж і для кращої з них проведіть установки так, як показано на рис. 101.

Рис. 101. Вікно вибору переліку результатів, що відображаються відразу після закінчення роботи майстра IPS

28. Для запуску процесу пошуку мереж натисніть кнопку Finish.

29. Після закінчення процесу пошуку відкрийте вікно редактора мережевого набору командою Edit->Network Set і знайдіть поточну мережу (в даному випадку це остання мережа в списку, вона позначається символом «*»). Виберіть представлення Verbose. Оскільки тестовий набір нами не використовувався, то значення в полях Te.Perf і TeError будуть рівні нулю. Порівняйте значення в полях T.Perf і V.Perf, а також в полях T.Error і V.Error. Якщо T.Error значно менше ніж V.Error, то мережа піддалася перенавчанню. Якщо T.Perf і V.Perf також дуже відрізняються, то тренувальний і перевірочний піднабори сформовані невірно.

30. Далі перейдіть до представлення Basic (рис. 102) і вивчіть перелік мереж їх типи і складність.

Рис. 102. Мережевий набір

30. Виберіть найкращу мережу. У відповідності з рис. 102 це мережа з номером 6. Її архітектура приведена на рис. 103.

Рис. 103. Архітектура мережі

Зверніть увагу, що для кожної вхідної змінної було використано по 12 вхідних елементів.

Відзначте також, що для навчання мережі використовувався алгоритм Conjugate Gradients, оскільки кількість міжнейронних зв'язків в мережі більше 200.

31. Виконайте команду Run->Data Set, і у вікні, що відкрилося, натисніть кнопку Run, а потім кнопку <-Data Set.

32. Збережіть отримані результати (мережевий набір і модифікований набір вихідних даних) у файлі Retail1.sta виконавши команду File->Save.

33. Закрийте всі вікна виконавши команду File->Close, а потім команду File->Network Set->Close.

33. Відкрийте застосування STATISTICA.

34. Відкрийте файл SNNExamples\Retail.sta.

35. Створіть додатково дві числові змінні Var4 і Var5.

36. Скопіюйте вміст стовпця Var1 у стовпець Var4, а вміст стовпця PR_VAR1 у стовпець Var5.

37. Побудуйте суміщений лінійний графік для двох часових рядів Var4 і Var5 (рис. 104).

Рис. 104. Вихідний ряд (синій) і спрогнозований мережею ряд (червоний)

38. Заблокуйте всі мережі в мережевому наборі використовуючи команду Lock.

39. Для всіх змінних окрім Var1 встановіть тип IGNORE.

40. Виконайте кроки 17 – 37. На кроці 21 вхідною виберіть лише змінну Var1.

41. Порівняйте якість прогнозу одержаної кращої мережі з тією, що була розглянута на кроці 30. Для цього використовуйте лінійні графіки в STATISTICA і проекції проекцію часового ряду в Statistica Neural Networks.

42. Зробіть висновки і рекомендації за результатами аналізу результатів роботи.

Соседние файлы в папке СШІ