Лабораторна робота statistica neural networks. STATISTICA Automated Neural Networks Автоматизовані нейронні мережі. STATISTICA Neural Networks у нейромережевих обчисленнях

За певну історію спостереження за хворими накопичився масив даних, які збережені у таблиці системи STATISTICA. Вигляд відповідної таблиці даних представлений на малюнку 6.

Рисунок 6. Фрагмент таблиці вихідних даних

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

Факт нелінійності завдання не викликає сумніву. Звичайно, можна було б спробувати вирішити задачу, скориставшись модулем STATISTICA Nonlinear Estimation, а саме за допомогою пропонованих даним модулем ітеративних процедур "намацати" вид функції. Однак тут є низка неприємностей, які значно розтягують процедуру пошуку рішення. Найважливішою з них є формулювання гіпотези про явний вид досліджуваної залежності, яка зовсім не є очевидною.

Без додаткових досліджень, про явний вид залежності сказати щось складно. Тим більше слід згадати, що ми не врахували ще один фактор. Загалом, розв'язання подібного завдання методами нелінійного оцінювання може розтягнутися дуже надовго, а може ні до чого і не привести. У таких критичних ситуаціях, коли відомо, що

Залежність між змінними є;

Залежність виразно нелінійна;

Про явний вид залежності сказати щось складно,

рятують нейромережевые алгоритми. Розглянемо спосіб розв'язання цього завдання у модулі STATISTICA Neural Networks.

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

Модуль Neural Networks системи STATISTICA включає процедуру, що організовує пошук потрібної конфігурації мережі. Ця процедура полягає у побудові та тестуванні великої кількості мереж з різними архітектурами та наступному виборі з них тієї мережі, яка найкраще підходить для вирішення поставленого завдання. Цей інструмент називається Intelligent Problem Solver. Для запуску модуля Neural Networks необхідно скористатися однойменною командою основного меню системи STATISTICA – Statistics. (Малюнок 7)

Рисунок 7. Запуск модуля Neural Networks

Дуже поширеною є така теза: "нейронні мережі являють собою універсальну структуру, що дозволяє реалізувати будь-який алгоритм". Спробуємо, сліпо вірячи даному твердженню, побудувати нейронну мережу, яка "вловила б" пропоновану залежність відразу (мається на увазі, без попереднього, розвідувального аналізу).

Одним з найважливіших питань, досі не вирішених сучасною наукою, є питання про структуру нейронної мережі, яка була б здатна до відтворення шуканої багатовимірної нелінійної залежності. Так, теорема Колмогорова про повноту, доведена ним ще 1957 року, стверджує, що нейронна мережа здатна відтворити будь-яку (дуже важливо - безперервну) функцію. Однак вона не пропонує досліднику рецепта зі створення такої мережі. У 1988 році ряд авторів узагальнили теорему Колмогорова і показали, що будь-яка безперервна функція може бути апроксимована тришаровою нейронною мережею з одним прихованим шаром і алгоритмом зворотного поширення помилки з будь-яким ступенем точності. Таким чином, у нашому випадку позитивним аспектом є знання того, що мережа має бути тришаровою, але знову-таки у розпорядженні немає правил, що встановлюють залежність між "будь-яким ступенем точності" і кількістю нейронів на проміжному, так званому прихованому шарі.

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

Модуль Neural Networks системи STATISTICA включає унікальну процедуру, що організує пошук потрібної конфігурації мережі. Цей інструмент називається Intelligent Problem Solver. Скористайтеся цим інструментом та здійснимо пошук нейронної мережі, яка буде здатна до вирішення нашого завдання.

Рисунок 8. Стартова панель модуля Neural Networks

У вкладці Quick (Швидкий) цього діалогового вікна в розділі Problem Type (Клас завдань) пропонується здійснити вибір того класу завдань, з яким ми зіткнулися. Нашою метою є побудова багатовимірної залежності чи, іншими словами, багатовимірної нелінійної регресії. Отже, у розділі Problem Type - Клас завдань слід зазначити Regression (Регресія).

Визначившись із класом завдань, необхідно вказати змінні щодо Аналізу. Для того, щоб вибрати змінні, скористаємося кнопкою Variables. При натисканні цієї кнопки з'являється діалогове вікно Select input (independent), output (dependent) and selector variables (Вкажіть вхідні (незалежні), вихідні (залежні) та змінні, що групують). У цьому діалоговому вікні потрібно задати два переліки змінних. Continuous outputs (Безперервні вихідні), в нашому випадку, - це змінні Прийом у стаціонарі І-АПФ/АРА, Прийом у стаціонарі БАБ, Прийом у стаціонарі БКК, Прийом у стаціонарі діуретиків та прийом у стаціонарі препаратів центральної дії. Continuous inputs (Неперервні вхідні), у нашому прикладі, - це з 1 по 61 вихідний параметр.

Рисунок 9. Вибір змінних для аналізу

У розділі Select analysis (Вибір аналізу) є дві опції Intelligent Problem Solver і Custom Network Designer. Для автоматичного вибору параметрів нейронної мережі потрібна перша опція, яка встановлюється за замовчуванням. Для продовження аналізу необхідно натиснути кнопку OK.

На наступному етапі з'являється діалогове вікно налаштування процедури Intelligent Problem Solver.

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

У розділі Networks tested (Кількість мереж, що тестуються) вкажемо 100, Networks retained (Кількість збережених мереж) - 10 (Малюнок 10)

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

Малюнок 10. Завдання кількості мереж, що тестуються.

Малюнок 11. Вибір архітектури мережі

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

Малюнок 12. Вказівка ​​розмірів навчальної, контрольної та тестової вибірок

Тепер, після встановлення всіх параметрів навчання, для запуску процедури пошуку мереж необхідно натиснути кнопку ОК.

Стан алгоритму пошуку відображається у діалоговому вікні IPS Training In Progress (Процес пошуку мережі).

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

Багато понять, які стосуються методів нейронних мереж, краще пояснювати з прикладу конкретної нейронно-сетевой програми. Тому в цьому розділі буде багато посилань на пакет STATISTICA Neural Networks (скорочено, ST Neural Networks, нейронно-мережевий пакет фірми StatSoft), що є реалізацією всього набору нейромережевих методів аналізу даних.

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

Нейронні мережі – виключно потужний метод моделювання, що дозволяє відтворювати надзвичайно складні залежності. Зокрема, нейронні мережі нелінійні за своєю природою (сенс цього поняття докладно пояснюється далі у розділі). Протягом багатьох років лінійне моделювання було основним методом моделювання в більшості областей, оскільки для нього добре розроблені процедури оптимізації. У завданнях, де лінійна апроксимація є незадовільною (а таких досить багато), лінійні моделі працюють погано. Крім того, нейронні мережі справляються з "прокляттям розмірності", яке не дозволяє моделювати лінійні залежності у разі великої кількості змінних

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

Нейронні мережі привабливі з інтуїтивної точки зору, бо вони ґрунтуються на примітивній біологічній моделі нервових систем. У майбутньому розвиток таких нейробіологічних моделей може призвести до створення дійсно мислячих комп'ютерів. Тим часом "прості" нейронні мережі, які будує система ST Neural Networks, є потужною зброєю в арсеналі спеціаліста з прикладної статистики (Нейронні мережі. STATISTICA Neural Networks: Методологія та технології сучасного аналізу даних.).

Нейронні мережі виникли з досліджень у галузі штучного інтелекту, а саме, зі спроб відтворити здатність біологічних нервових систем навчатися та виправляти помилки, моделюючи низькорівневу структуру мозку (Patterson, 1996). Основною областю досліджень із штучного інтелекту у 60-ті – 80-ті роки були експертні системи. Такі системи ґрунтувалися на високорівневому моделюванні процесу мислення (зокрема, уявленні, що процес нашого мислення побудований на маніпуляціях із символами). Незабаром стало ясно, що подібні системи, хоч і можуть принести користь у деяких галузях, не схоплюють деякі ключові аспекти людського інтелекту. Згідно з однією з точок зору, причина цього полягає в тому, що вони не в змозі відтворити структуру мозку. Щоб створити штучний інтелект, необхідно побудувати систему зі схожою архітектурою.

Мозок складається з дуже великої кількості (приблизно 10,000,000,000) нейронів, з'єднаних численними зв'язками (загалом кілька тисяч зв'язків однією нейрон, проте це може сильно коливатися). Нейрони – це спеціальна клітина, здатна поширювати електрохімічні сигнали. Нейрон має розгалужену структуру введення інформації (дендрити), ядро ​​і вихід, що розгалужується (аксон). Аксони клітини поєднуються з дендритами інших клітин за допомогою синапсів. При активації нейрон посилає електрохімічний сигнал свого аксону. Через синапс цей сигнал досягає інших нейронів, які можуть у свою чергу активуватися. Нейрон активується тоді, коли сумарний рівень сигналів, які у його ядро ​​з дендритів, перевищить певний рівень (поріг активації).

Інтенсивність сигналу, одержуваного нейроном (а отже, і можливість його активації), сильно залежить від активності синапсів. Кожен синапс має протяжність і спеціальні хімічні речовини передають сигнал уздовж нього. Один із найавторитетніших дослідників нейросистем, Дональд Хебб, висловив постулат, що навчання полягає насамперед у змінах "сили" синаптичних зв'язків. Наприклад, у класичному досвіді Павлова, щоразу перед годуванням собаки дзвонив дзвіночок, і собака швидко навчився пов'язувати дзвінок дзвіночка з їжею. Синаптичні зв'язки між ділянками кори головного мозку, відповідальними за слух, і слинними залозами посилилися, і при збудженні кори звуком дзвіночка у собаки починалося слиновиділення.

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

Пакет Statistica Neural Networks (SNN)

  1. Відкрити файл даних Series_gз наявних у пакеті даних. Файл містить єдину змінну, що визначає обсяг перевезень протягом кількох років із помісячною реєстрацією даних. (При відкритті цього файлу з'являється ще ряд таблиць, які належать до опції інтелектуального решателя, які у цій стадії треба закрити, залишивши лише таблицю вихідних даних).
  2. Задати тип змінної "вхідна - вихідна" наступним чином: виділити змінну клацанням по заголовку таблиці, натиснути праву клавішу миші та вибрати з меню опцію Input/Output (Вхідна/вихідна).При цьому ім'я змінної висвітиться зеленим.
  3. Створити нову мережуза допомогою діалогового вікна Create Network (Створити мережу).Для цього послідовно натиснути: File – New – Network (Файл – новий – мережа).На екрані монітора – діалогове вікно (рис. 1).

Мал. 1. Діалогове вікно створення мережі

У задачі прогнозу часового ряду мережа повинна знати, скільки копій однієї змінної вона повинна взяти і як далеко вперед вона повинна прогнозувати значення змінної. У цій задачі прийняти параметр Steps (Тимчасове вікно)рівним 12, т. к. дані є щомісячні спостереження, а параметр Lookahead (Горизонт)– рівним 1.

  1. Вибрати тип мережі Multilayer Perceptron (Багатошаровий персептрон) і прийняти число шарів мережі рівним 3. Після цього натиснути кнопку Advice (Рада), в результаті чого програма автоматично встановить число нейронів у всіх трьох шарах мережі: 12 – 6 – 1 (мал. 2).

Мал. 2. Діалогове вікно після встановлення параметрів мережі

Після цього натиснути кнопку Create (Створити).

  1. При створенні мережі програма SNN автоматично надасть першим 12 спостережень із файлу даних тип Ignore (Невраховуються). При подальшому навчанні і роботі мережі завдання аналізу тимчасового ряду кожен поданий їй на вхід блок даних містить дані, що стосуються кількох спостережень. Весь такий блок приписується тому спостереженню, що містить значення вихідної змінної. У результаті перші 12 спостережень насправді не ігноруються, а є входами першого блоку даних тимчасового ряду, що відповідає спостереженню №13. Насправді програма будує перетворений набір даних, у якому кількість спостережень на 12 менше, але у кожне спостереження беруться з 13 послідовних рядків вихідного файла.

Створена мережа показано на рис. 3.

Мал. 3. Тришаровий персептрон

  1. У вікні вихідних даних "Data Set Editor"задати 66 учнів (Training)та 66 контрольних (Verification)спостережень (мал. 4), після чого натиснути кнопку перемішування рядків так: через меню Edit – CasesShuffle – All (Редагування – Випадки – Перемішати – Всі).
  2. Навчити мережу методом Левенберга-Маркара, для чого необхідно натиснути: TrainMultilayer Perceptron – Levenberg-Marquardt (Навчити – Багатошаровий персептрон – Левенберг-Маркар).Процедура навчання триває кілька секунд (залежить від типу процесора). Метод Левенберга-Маркара є одним із надійних та швидких алгоритмів навчання, проте його застосування пов'язане з певними обмеженнями:

Мал. 4. Вікно вихідних даних із розділеними спостереженнями

  • цей метод можна застосовувати лише для мереж із одним вихідним елементом.
  • метод Левенберга-Маркара вимагає пам'яті, пропорційної квадрату числа ваг у мережі, тому метод не підходить для мереж великого розміру(близько 1000 ваг).
  • метод застосовний тільки для середньоквадратичної функції помилок.

Алгоритм Левенберга-Маркара розроблено так, щоб мінімізувати середньоквадратичну функцію помилок. Поблизу точки мінімуму припущення виконується з великою точністю, тому алгоритм просувається дуже швидко. Далеко від мінімуму це припущення може виявитися неправильним, тому метод знаходить компроміс між лінійною моделлю та градієнтним спуском. Крок робиться тільки в тому випадку, якщо він зменшує помилку, і там, де це необхідно, для забезпечення просування використовується градієнтний спуск із досить малим кроком.

Діалогове вікно методу Левенберга-Маркара показано на рис. 5.

Мал. 5. Діалогове вікно методу Левенберга-Маркара

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

  • Epochs (Кількість епох)– задається кількість епох, протягом яких алгоритм проганятиметься. На кожній епосі через мережу пропускається все навчальна множина, а потім відбувається коригування ваг.
  • Cross-Verification (Крос-перевірка)– при зазначеній позиції якість результату, що видається мережею, перевіряється на кожній епосі по контрольній множині (якщо воно задано). При вимкненій позиції ігноруються контрольні спостереження, навіть якщо вони присутні у файлі даних.
  • Train (Навчити)– При кожному натисканні кнопки алгоритм проганяється через задану кількість епох.
  • Reinitialize (Переустановити)– перед новим запуском навчання слід натиснути кнопку переустановки, тому що при цьому знову випадково встановлюються ваги мережі.
  • Jog Weights (Страхування ваг) –при можливому застряганні алгоритму в локальному мінімумі дана опція додає до кожної ваги невелику величину.
  1. Побудувати проекцію тимчасового ряду, навіщо через Run – Times Series Projection (Запуск – Проекція часового ряду)відкрити відповідне вікно (рис. 6).

Мал. 6. Вікно проекції часового ряду

Опис діалогового вікна

  • Start (Початок)– вказує, чи має проекція часового ряду починатися з деякого номера спостережень (Case No)у файлі даних або з окремого спостереження.
  • Case No (Номер спостереження) –при проекції часового ряду файлу даних вказується номер спостереження з вихідним значенням, з якого треба починати.
  • Length (Довжина)- Число кроків, на яке проектуватиметься прогноз.
  • Variable (Змінна)– вказується змінна, яка проектуватиметься.
  1. За допомогою навченої мережі можна виконати проекцію часового ряду. Спочатку мережа відпрацює на перших 12 вхідних значеннях, у результаті буде отримано прогноз наступного значення. Потім спрогнозоване значення разом із попередніми 11 вхідними величинами знову подається на вхід мережі, і остання видає прогноз чергового значення.

Єдиний керуючий параметр, який потрібно вибрати, – це довжина проекції. У цьому прикладі всього 144 спостереження, 12 з яких буде видалено при попередній обробці, тому порівнювати результати можна буде найбільше на 132 кроках. Однак можна проектувати ряд і за межі наявних даних, тільки при цьому не буде з чим порівнювати результат.

Переглянути поведінку прогнозованих значень за різних довжин, з використанням кнопки Run (Запуск)можна спостерігати зміну цільових та вихідних значень ряду.

На наведеному рис. 6 видно, що прогнозована крива (синього кольору на екрані монітора) не дуже добре навчилася, оскільки є значні відхилення між вихідним та прогнозованим рядами, починаючи приблизно з 70 спостереження.

  1. Провести прогнозування ряду за допомогою інтелектуального решателя (третя кнопка ліворуч у верхньому ряду). У цьому випадку необхідно відповісти на низку питань у режимі діалогу:
  • Вибрати основну версію (рис. 7) та натиснути Next.

Мал. 7. Вибір основної версії

  • Визначити тип завдання (стандартний або тимчасовий ряд). Тут слід зазначити тимчасовий ряд (рис. 8).

Мал. 8. Вибір типу завдання

  • Встановити період спостережень, що дорівнює 12 місяців (рис. 9).

Мал. 9. Встановлення періоду спостережень

  • Вибрати залежну та незалежну змінні, в якості яких служить та сама змінна Series.
  • Визначити час розрахункової процедури, що дорівнює 2 хв (рис. 10).

Мал. 10. Встановлення часу розрахункової процедури

  • Вказати кількість мереж, що зберігаються, і дії при їх збереженні (рис. 11).

Мал. 11. Дії щодо вибору мереж

  • Вибрати форми подання результатів (рис. 12) та натиснути Finish.

Мал. 12. Вибір форми подання результатів

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

Мал. 13. Прогноз за допомогою інтелектуального вирішувача

Завдання

Побудувати змодельований часовий ряд із пакету Statistica наступним чином:

  • Створити новий файл, Що складається з 20 рядків та 2 стовпців.
  • Через меню Data – Variable Specs (Дані – опис змінної)ввести у вікно формул вираз = vnormal (rnd (1); 1; 3).
  • Змоделювати 20 значень випадкової нормально розподіленої величини з математичним очікуванням, рівним 1, і середньоквадратичним відхиленням, рівним 3. Ці 20 значень визначають змінну Var 1. Перевести їх до цілого типу даних, встановивши у вікні опису змінної як Typeзначення Integer.
  • Перейти до змінної Var 2 наступним чином: перше значення Var 2 дорівнює першому значенню змінної Var 1; друге значення Var 2 дорівнює сумі перших двох значень змінної Var 1; третє значення змінної Var 2 дорівнює сумі перших трьох значень змінної Var 1 і т.д.
  • Копіювати змінну Var 2 і перейти в пакет SNN, розмістивши скопійовані дані в створеному файлі.
  • Провести прогнозування отриманого ряду за допомогою нейронної мережі.

Версія для друку

Викладено нейромережевые методи аналізу даних, засновані використання пакета Statistica Neural Networks (фірма виробник StatSoft), повністю адаптованого російського пользователя. Дано основи теорії нейронних мереж; велику увагу приділено вирішенню практичних завдань, всебічно розглянуто методологію та технологію проведення досліджень за допомогою пакету Statistica Neural Networks - потужного інструменту аналізу та прогнозування даних, що має широкі застосування в бізнесі, промисловості, управлінні, фінансах. Книга містить безліч прикладів аналізу даних, практичні рекомендаціїщодо проведення аналізу, прогнозування, класифікації, розпізнавання образів, управління виробничими процесамиза допомогою нейронних мереж. Для широкого кола читачів, які займаються дослідженнями у банківській сфері, промисловості, економіці, бізнесі, геологорозвідці, управлінні, транспорті та інших областях. Зміст Передмова до другого видання Вступ. Запрошення в нейронні мережі Глава 1. ОСНОВНІ ПОНЯТТЯ АНАЛІЗУ ДАННИХ ення нейронних мережПре- і постпроцессування.Багатошаровий персептронРадіальна базисна функціяВірогіднісна нейронна мережаУзагальнено-регресійна нейронна мережаЛінійна мережаМережа КохоненаЗавдання класифікаціїЗавдання регресіїПрогнозування тимчасових рядівВідбір змінних і зниження розмірностіГлава 5. ПЕРШІ КРОКИ В STATISTICA NEURAL NETWORKS. НИХ МЕРЕЖЕЙКласичний приклад: Іриси ФішераНавчання з крос-перевіркоюУмови зупинкиРішення задач регресіїРадіальні базисні функціїЛінійні моделі.Мережі КохоненаВірогіднісні та узагальнено-регресійні мережіКонструктор мережГенетичний алгоритм відбору вхідних данихТимчасові рядиГлава 7. ПРАКТИЧНІ ПОРАДИ ЗА РІШЕННЯМ ЗАДАЧПредставлення данихВиділення корисних вхідних змін ва 8. ПРИКЛАДИ ЗАСТОСУВАННЯ (CASE STUDIES)Приклад 1. Зниження розмірності в геологічному дослідженняПриклад 2 Розпізнавання образів Приклад 3. Нелінійна класифікація двовимірних множин Приклад 4. Сегментація різних зразків палива за даними лабораторного дослідження Приклад 5. Побудова моделі поведінкового скорингу Приклад 6. Апроксимація функцій Приклад 7. Прогнозування продажів нафти Приклад 9. Монітор Примір 8. підписиГлава 9 КОРОТКЕ КЕРІВНИЦТВО МЕРЕЖІ Навчання мережІнші типи мережРобота з мережеюПересилка результатів в систему STATISTICAГлава 10. КЛАСИЧНІ МЕТОДИ, АЛЬТЕРНАТИВНІ НЕЙРОННИМ СІТЯМКласичний дискримінантКласичний дискримін ATISTICAГлава 11. Видобуток даних у STATISTICAДодаток 1. Генератор кодуДодаток 2. Інтеграція STATISTICA з ERP-системамиСписок литературыПредметный покажчик

  • Пре- та пост-процесування, включаючи вибір даних, кодування номінальних значень, шкалювання, нормалізація, видалення пропущених даних з інтерертацією для класифікації, регресія та завдання часових рядів;
  • Виняткова простота у використанні плюс неперевершена аналітична потужність; наприклад, не має аналогів Майстер рішеньпроведе користувача через всі етапи створення різних нейронних мереж і вибере найкращу (це завдання, в іншому випадку, вирішується тривалим шляхом "проб і помилок" і вимагає ґрунтовного знання теорії);
  • Потужні розвідувальні та аналітичні технології, в тому числі Аналіз основних компонентіві Зниження розмірностідля вибору необхідних вхідних змінних у розвідувальному (нейросетевом) аналізі даних (вибір необхідних вхідних змінних для нейронних мереж часто займає тривалий час; система STATISTICA Neural Networksможе виконувати цю роботу за користувача);
  • Найсучасніші, оптимізовані та потужні алгоритми навчання мережі (включаючи методи сполучених градієнтів та Левенберга-Маркара); повний контроль над усіма параметрами, що впливають на якість мережі, такими як функції активації та помилок, складність мережі;
  • Підтримка ансамблів нейромереж та нейромережевих архітектур практично необмеженого розміру, створених у Набори мереж - Network Sets; вибіркове навчання нейромережевих сегментів; об'єднання та збереження наборів мереж в окремих файлах;
  • Повна інтеграція із системою STATISTICA; усі результати, графіки, звіти тощо. можуть бути надалі модифіковані за допомогою потужних графічних та аналітичних інструментів STATISTICA(наприклад, щодо аналізу передбачених залишків, створення докладного звіту тощо.);
  • Повна інтеграція з потужними автоматичними інструментами STATISTICA; запис повноцінних макросів для будь-яких аналізів; створення власних нейромережевих аналізів та додатків за допомогою STATISTICA Visual Basic, виклик STATISTICA Neural Networksз будь-якої програми, що підтримує технологію СОМ(наприклад, автоматичне проведення нейро-мережевого аналізу у таблиці MS Excelабо об'єднання декількох додатків, написаних на С++, С#, Javaі т.д.).


STATISTICA Neural Networks у нейромережевих обчисленнях:

  • Використання нейронних мереж має на увазі набагато більше, ніж просто обробку даних нейромережевими методами.
  • STATISTICA Neural Networksнадає різноманітні функціональні можливостідля роботи з дуже складними завданнями, що включають не тільки новітні Архітектури Нейронних Мережі Алгоритми навчання, але також і нові підходи в Відбір вхідних данихі Побудови Мережі. Крім того, розробники програмного забезпеченнята користувачі, що експериментують з налаштуваннями додатків, оцінять той факт, що після проведення заданих експериментів у простому та інтуїтивно зрозумілому інтерфейсі STATISTICA Neural Networks, нейромережевые аналізи можуть бути об'єднані в додатку користувача. Це досягається або за допомогою бібліотеки СОМ-функцій STATISTICA, яка повністю відображає всі функціональні можливості програми, або за допомогою коду мовою З (З++, З#)або Visual Basic, Який генерується програмою і допомагає запустити повністю навчену нейронну мережу або мережевий ансамбль.

Вихідні дані

Модуль STATISTICA Neural Networksповністю інтегрований із системою STATISTICA, таким чином доступний величезний вибір інструментів редагування (підготовки) даних для аналізу (перетворення, умови вибору спостережень, засоби перевірки даних тощо). Як і всі аналізи STATISTICA, програма може бути "приєднана" до віддаленої бази даних за допомогою інструментів обробки "на місці" або пов'язана з активними даними, щоб моделі навчалися або запускалися (наприклад, для обчислення передбачених значень або класифікації) автоматично кожного разу при зміні даних.

Відбір вхідних даних та зниження розмірності

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


Алгоритми зниження розмірності:

  • У STATISTICA Neural Networksреалізовано зворотний та прямий алгоритми покрокового вибору. Крім того, нейро-генетичний агоритм відбору вхідних даних поєднує в собі можливості генетичних алгоритмів та PNN/GRNN (PNN - імовірнісні нейронні мережі, GRNN - узагальнено-регресійні нейронні мережі)для автоматичного пошуку оптимальних комбінацій вхідних змінних, у тому числі й у тих випадках, коли між ними є кореляції та нелінійні залежності. Майже миттєва швидкість навчання з PNN/GRNN-алгоритмуне тільки дає можливість застосувати Нейро-генетичний алгоритм відбору вхідних даних, але і, дозволяє Вам (користуючись наявними в Редакторіданих системи STATISTICA Neural Networksзручними засобами придушення незначних змінних) реальному часі проводити власні експерименти на чутливість даних. STATISTICA Neural Networksмістить також вбудовану систему Аналіз основних компонентів (АГК, та асоціативні мережі для "нелінійного АГК"), що дозволяє знижувати розмірність вихідних даних. Зауважимо, що велика різноманітність статистичних методів зниження розмірності даних доступні у базовій системі STATISTICA.


Шкалювання даних та перетворення номінальних значень:

  • Перед тим, як дані будуть введені в мережу, вони мають бути певним чином підготовлені. Так само важливо, щоб вихідні дані можна було правильно інтерпретувати. У STATISTICA Neural Networksє можливість автоматичного масштабування вхідних та вихідних даних (у тому числі шкалювання за мінімальним/максимальним значенням та за середнім/стандартним відхиленням); також можуть бути автоматично перекодовані змінні з номінальними значеннями (наприклад, Пол=(Чоловік,Жін)), у тому числі за методом 1-N кодування. STATISTICA Neural Networksмістить також засоби роботи з пропущеними даними. Реалізовано такі функції нормування, як "поодинока сума", "переможець отримує все"і "вектор одиничної довжини". Є засоби підготовки та інтерпретації даних, спеціально призначені для аналізу часових рядів. Велика різноманітність аналогічних засобів реалізована також у базовій системі STATISTICA.
  • У задачах класифікації є можливість встановити довірчі інтервали, які STATISTICA Neural Networksвикористовує для віднесення спостережень до того чи іншого класу. У поєднанні зі спеціальною реалізованою в STATISTICA Neural Networksфункцією активації Софтмакста крос-ентропійними функціями помилок це дає принциповий теоретико-імовірнісний підхід до завдань класифікації.

Вибір нейромережевої моделі, Мережеві ансамблі

Різноманітність моделей нейронних мереж та безліч параметрів, які необхідно встановити (розміри мережі, параметри алгоритму навчання тощо), може поставити іншого користувача в глухий кут (для цього і існує Майстер рішень, який може автоматично здійснити пошук відповідної архітектури мережі будь-якої складності).


У системі STATISTICA Neural Networks реалізовані всі основні типи нейронних мереж, що використовуються при вирішенні практичних завдань, у тому числі:

  • багатошарові персептрони (мережі з прямою передачею сигналу);
  • мережі на радіальних базових функціях;
  • самоорганізовані карти Кохонена;
  • імовірнісні (байесівські) нейронні мережі;
  • узагальнено-регресійні нейронні мережі;
  • мережі основних компонент;
  • мережі для кластеризації;
  • лінійні мережі.
Також, у системі STATISTICA Neural Networksреалізовані Мережеві ансамблі, що формуються з випадкових (але значущих) комбінацій перелічених вище мереж. Існує ще один зручний засіб: ви можете зв'язати мережі, щоб вони запускалися послідовно. Це корисно при препроцесуванні для знаходження рішень із мінімальною вартістю.

У пакеті STATISTICA Neural Networksє численні засоби, що полегшують користувачеві вибір відповідної архітектури мережі. Статистичний та графічний інструментарій системи включає гістограми, матриці та графіки помилок для всієї сукупності та за окремими спостереженнями, підсумкові дані про правильну/неправильну класифікацію, а всі важливі статистики - наприклад, пояснена частка дисперсії - обчислюються автоматично.

Для візуалізації даних у пакеті STATISTICA Neural Networksреалізовані діаграми розсіювання та тривимірні поверхні відгуку, що допомагають користувачеві зрозуміти "поведінку" мережі.
Зрозуміло, будь-яку інформацію, отриману з перелічених джерел, Ви можете використовувати для подальшого аналізу іншими засобами STATISTICA, а також для подальшого включення до звітів або налаштування.

STATISTICA Neural Networksавтоматично запам'ятовує найкращий варіант мережі з тих, які Ви отримували, експериментуючи над завданням, і Ви можете звернутися до нього будь-якої миті. Корисність мережі та її здатність до прогнозування автоматично перевіряється на спеціальній перевірочній множині спостережень, а також шляхом оцінки розмірів мережі, її ефективності та ціни неправильної класифікації. Реалізовані в STATISTICA Neural Networksавтоматичні процедури крос-перевірки та регуляризації ваг по Вігендудозволяють Вам швидко з'ясувати, чи є Ваша мережа недостатньо або, навпаки, надто складною для цього завдання.

Для покращення продуктивності в пакеті STATISTICA Neural Networksпредставлені численні опції налаштування мережі. Так, Ви можете задати лінійний вихідний шар мережі у задачах регресії або функцію активації типу софтмакс у задачах імовірнісного оцінювання та класифікації. Якщо у даних багато викидів, то під час навчання мережі можна замінити стандартну функцію помилок менш чутливу функцію "міських кварталів". У системі також реалізовані засновані на моделях теорії інформації крос-ентропійні функції помилок та ряд спеціальних функційактивації, у тому числі: ступінчаста, пилкоподібна та синусоїдальна.


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

  • Складовою частиною пакету STATISTICA Neural Network s є Майстер рішень - Intelligent Problem Solver, який оцінює безліч нейронних мереж різної архітектури та складності та вибирає вибирає мережі найкращої архітектури для даної задачі.
  • Майстерздатний будувати мережі для даних із незалежними спостереженнями (стандартні регресійні мережі, мережі класифікації чи змішані) так само як і мережі, призначені для прогнозування майбутніх значень деякої змінної на основі вже наявних значень цієї ж змінної (мережі з тимчасовими рядами).
  • Значний час при створенні нейронної мережі йде на вибір відповідних змінних та оптимізацію архітектури мережі методом евристичного пошуку. STATISTICA Neural Networksбере цю роботу на себе та автоматично проводить евристичний пошук за вас. Ця процедура враховує вхідну розмірність, тип мережі, розмір мережі та необхідні вихідні функції кодування.
  • У ході пошуку ви можете задати кількість відгуків, одержуваних у процесі навчання. Під час встановлення режиму максимальної деталізації Майстер розв'язанийй відображатиме архітектуру та рівні якості для кожної тестованої мережі.
  • Майстер рішеньє надзвичайно ефективним інструментом використання складних технік, дозволяючи автоматично знаходити найкращу архітектуру мережі. Замість того, щоб витрачати багато годин на сидіння перед комп'ютером, надайте системі STATISTICA Neural Networksзробити цю роботу за Вас.
  • Автоматичний конструктор мережіможна також використовувати в процесі розробки моделі, коли модуль STATISTICA Neural Networks,спільно з іншими модулями базової системи STATISTICA, застосовується для виявлення найбільш значущих змінних (наприклад, найкращих предикторів для подальшого їх включення та тестування в будь-якій моделі Нелінійне оцінювання - Nonlinear Estimation).


Навчання нейронної мережі:

  • Успіх Ваших експериментів з пошуку найкращого типу та архітектури мережі істотно залежить від якості та швидкості алгоритмів навчання мережі. В системі STATISTICA Neural Networksреалізовані найкращі на сьогоднішній день навчальні алгоритми.
  • Для навчання багатошарових персептронів у системі STATISTICA Neural Networksреалізовано, передусім, метод зворотного поширення - з швидкістю навчання і коефіцієнтом інерції, що змінюються в часі, перемішуванням спостережень перед черговим кроком алгоритму і додаванням адитивного шуму для робастного узагальнення. Крім цього, у системі STATISTICA Neural Networksреалізовано два швидкі алгоритми другого порядку - методи сполучених градієнтів та Левенберга-Маркара. Останній є надзвичайно потужним сучасним алгоритмом нелінійної оптимізації, і фахівці дуже рекомендують ним користуватися. У той же час область застосування цього методу обмежена випадками відносно невеликих за розміром мереж з одним вихідним нейроном, а для більш громіздких завдань у пакеті STATISTICA Neural Networksє спосіб сполучених градієнтів. Як правило, і той і інший алгоритм сходяться швидше, ніж метод зворотного розповсюдження, і при цьому зазвичай видають відповідне рішення.
  • Ітеративний процес навчання мережі у системі STATISTICA Neural Networksсупроводжується автоматичним відображенням поточної помилки навчання та обчислюваної незалежно від неї помилки на перевірочній множині, при цьому показується графік сумарної помилки. Ви можете перервати навчання будь-якої миті, просто натиснувши кнопку. Крім того, є можливість задати умови зупинки, при виконанні яких навчання буде перервано; такою умовою може бути, наприклад, досягнення певного рівня помилки, або стабільне зростання перевірочної помилки протягом заданої кількості проходів - "епох" (що свідчить про так зване перенавчання мережі). Якщо перенавчання має місце, це не повинно турбувати користувача: STATISTICA Neural Networksавтоматично запам'ятовує екземпляр найкращої мережі, отриманої в процесі навчання, і до цього варіанту мережі завжди можна звернутися, натиснувши відповідну кнопку. Після завершення навчання мережі, Ви можете перевірити якість її роботи на окремій тестовій множині.
  • У пакеті STATISTICA Neural Networksреалізовано також низку алгоритмів навчання інших мереж інших архітектур. Параметри радіальних сплайнів та коефіцієнти згладжування у мереж на радіальній базисній функції та узагальнено-регресійних мереж можуть вибиратися за такими алгоритмами, як: навчання Кохонена, підбірка, метод K-середніх, методи ізотропії та найближчих сусідів Нейрони лінійного вихідного шару у мереж на радіальній базовій функції, як і у лінійних мереж, повністю оптимізуються методом сингулярного розкладання (SVD).
  • Створення гібридних структур мереж. В системі STATISTICA Neural Networksє можливість створювати мережі змішаної структури. Наприклад, у модифікованої мережі на радіальній базовій функції перший шар нейронів може вчитися. алгоритму Кохонена, а другий - нелінійний шар - методом Левенберга-Маркара.


Тестування нейронної мережі:

  • Після того, як мережа навчена, потрібно перевірити якість її роботи та визначити характеристики. Для цього у пакеті STATISTICA Neural Networksє набір екранних статистик та графічних засобів.
  • Якщо задані кілька моделей (мереж та ансамблів), то (якщо це можливо) STATISTICA Neural Network s відображає порівняльні результати (наприклад, побудує криві відгуки кількох моделей на одному графіку, або представить предиктори кількох моделей в одній таблиці). Ця властивість дуже корисна для порівняння різних моделей, що навчаються на одному наборі даних.
  • Усі статистики обчислюються окремо для навчального, перевірочного та тестового множин. Усі ваги та параметри активації доступні у вигляді зручного текстового файлу, який одним клацанням миші можна перетворити на таблицю результатів системи STATISTICA. Результати дослідів за окремими спостереженнями або з усього набору даних також можна переглянути у вигляді таблиці STATISTICAта використовувати у подальших аналізах або графіках.
  • Автоматично обчислюються наступні підсумкові статистики: середньоквадратична помилка мережі, так звана матриця невідповідностей (confusion matrix)для завдань класифікації (де підсумовуються всі випадки правильної та неправильної класифікації) та частка поясненої регресії для завдань регресії. Мережа Кохоненамає вікно Топологічні карти, В якому можна візуально спостерігати активації елементів мережі, а також змінювати мітки спостережень та вузлів у процесі аналізу даних. Є також вікно Частоти виграшів, що дозволяє миттєво локалізувати кластери у топологічній карті. Кластерний аналізможна виконувати за допомогою поєднання мережі стандартної архітектури зі спеціальною кластерною діаграмою системи STATISTICA Neural Networks. Наприклад, Ви можете навчити мережу для аналізу головних компонентів та графічно зобразити дані в проекції на дві перші компоненти.

Редагування, модифікація та послідовне з'єднання нейронних мереж

В системі STATISTICA Neural Networksє інтелектуальні засоби, що дозволяють відрізати шматки від мереж, що вже є, і з'єднувати кілька мереж воєдино. Так, можна видаляти або додавати окремі нейрони, видаляти з мережі певний шар, а мережі, узгоджені за кількістю входів/виходів, послідовно з'єднувати один з одним. Завдяки цим можливостям пакет STATISTICA Neural Networksдозволяє використовувати такі засоби, як зниження розмірності (при пре-процесуванні) за допомогою асоціативних мереж та матриця втрат (для прийняття рішень з найменшими втратами). Матриця втрат автоматично використовується під час роботи з ймовірнісними нейронними мережами.

Готові рішення (додатки користувача, що використовують STATISTICA Neural Networks):

  • Простий та зручний інтерфейс системи STATISTICA Neural Networksдозволяє Вам швидко створювати нейромережні програми для вирішення Ваших завдань.
  • Можлива така ситуація, коли необхідно вбудувати ці рішення у вже наявну систему, наприклад, зробити їх частиною ширшого обчислювального середовища (це можуть бути процедури, розроблені окремо та вбудовані в корпоративну обчислювальну систему).
  • Навчені нейронні мережі можуть бути застосовані до нових наборів даних (для передбачення) декількома способами: Можна зберегти навчену мережу або ансамбль мереж (наприклад, для обчислення середнього передбачення на основі декількох архітектур) і потім застосувати її до нового набору даних (для передбачення, передбаченої класифікації) чи прогнозування); Можна використовувати генератор коду для автоматичного створення програмного коду мовою (С++, C#)або Visual Basicі надалі використовувати його для передбачення нових даних у будь-якому програмному середовищі visual basic або С++ (C#), тобто. впровадити повністю навчену нейронну мережу у вашу програму. Насамкінець, всі функціональні можливості системи STATISTICA, включаючи STATISTICA Neural Networksможуть бути використані як СОМ об'єктів (Component Object Model)в інших додатках (наприклад, Java, MS Excelі т.д.). Наприклад, ви можете впровадити автоматичні аналізи, створені в STATISTICA Neural Networksу таблиці MS Excel.


Перелік алгоритмів навчання:

  • Зворотне поширення;
  • Левенберга-Маркара;
  • Сполучених градієнтів;
  • Квазі-Ньютонівський;
  • Швидке поширення;
  • Дельта-дельта-з-чортом;
  • Псевдо-зворотний;
  • Навчання Кохонена;
  • Позначка найближчих класів;
  • Навчальний векторний квантувач;
  • Радіальна (під) вибірка;
  • Метод K-середніх;
  • Метод К-найближчих сусідів (KNN);
  • Встановлення ізотропних відхилень;
  • встановлення явних відхилень;
  • Ймовірнісна нейронна мережа;
  • Узагальнено-регресійна нейронна мережа;
  • генетичний алгоритм відбору вхідних даних;
  • Покроковий прямий чи зворотний відбір вхідних даних.

Вимоги до системи

Система STATISTICA Neural Networksможе працювати навіть на відносно слабких чи старих комп'ютерах. Однак, оскільки багато процедур пакета вимагають великих обсягів обчислень, настійно рекомендується використовувати процесор Pentium із 32 мегабайтами оперативної пам'яті.


Обмеження у розмірах мереж:

  • Нейронна мережа може бути практично будь-якого розміру (тобто її розміри можна взяти набагато більше, ніж це насправді потрібно і розумно); допускається до 128 шарів без обмежень кількості нейронів. Фактично, для будь-яких практичних завдань програма обмежена лише апаратними можливостями комп'ютера.


Електронне керівництво:

  • У складі системи STATISTICA Neural Networksє добре ілюстрований підручник, що містить повне та зрозуміле введення в нейронні мережі, а також приклади. З будь-якого діалогового вікна доступна система докладних контекстно-залежних довідок.


Генератор вихідного коду:

  • Генератор вихідного кодує додатковим продуктом, який дозволяє користувачам легко створювати власні програми на базі системи STATISTICA Neural Networks. Цей додатковий продукт створює вихідний системний код нейромережевої моделі (у вигляді файлу мовою C, C++, C#), який можна окремо скомпілювати та інтегрувати у вашу програму для вільного розповсюдження. Цей продукт розроблений спеціально для корпоративних системних розробників, а також тих користувачів, кому необхідно перетворити високооптимізовані процедури, створені в STATISTICA Neural Networksу зовнішні додатки на вирішення складних аналітичних завдань.

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

Промисловість:

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


Маркетинг:

  • Прогнозування ціни золото;
  • прогнозування цін на сировину;
  • Торгівля шляхом прямого розсилання.


Фінанси:

  • Оцінка кредитоспроможності (класичне завдання - за анкетними даними визначити, чи надійний даний позичальник).
  • Прогнозування фінансових часових рядів.


Геологорозвідка:

  • Підвищення ефективності процесу видобутку з корисними копалинами (виділення значних чинників, які впливають показники ефективності видобутку).


Інші галузі:

  • Оптичне розпізнавання символів, включаючи розпізнавання підпису;
  • Обробка зображень;
  • прогнозування хаотичних часових рядів;
  • медична діагностика;
  • Синтез мови;
  • Лінгвістичний аналіз.



Top