Анотація: Лекція присвячена короткому розгляду двох алгоритмів інтелектуального аналізу даних - нейронних мереж і логістичної регресії. Особливістю реалізації цих алгоритмів в SQL Server 2008 є те, що алгоритм логістичної регресії, по суті, є алгоритмом нейронних мереж, що запускаються з особливими параметрами.
Деякі завдання інтелектуального аналізу даних, зокрема, завдання класифікації, можуть вирішуватися за допомогою різних алгоритмів. У разі наявності в даних складних залежностей між атрибутами, "швидкі" алгоритми інтелектуального аналізу, такі як спрощений алгоритм Байеса, можуть давати недостатньо точний результат. Поліпшити ситуацію може застосування нейромережевих алгоритмів.
Нейронні мережі - це клас моделей, побудованих за аналогією з роботою людського мозку. Існують різні типи мереж, зокрема, в SQLServer алгоритм нейронної мережі використовує мережу у вигляді багатошарового перцептрона, до складу якої може входити до трьох шарів нейронів, або перцептронів. Такими шарами є вхідний шар, необов'язковий прихований шар і вихідний шар ( Мал. 12.1 ).
Мал.12.1.
Приклад схеми нейронної мережі: вхідний шар - зелені вузли, прихований шар - блакитні, вихідний - жовтий
Кожен нейрон отримує одне або кілька вхідних значень (входів) і створює вихідне значення (один або кілька однакових виходів). Кожен вихід є простою нелінійної функцією суми входів, отриманих нейроном. Входи передаються в прямому напрямку від вузлів у вхідному шарі до вузлів в прихованому шарі, а звідти передаються на вихідний шар. Нейрони в складі шару не пов'язані один з одним. Прихований шар може бути відсутнім (зокрема, це використовується алгоритмом логістичної регресії).
Хто має більше двох станів дискретний вхідний атрибут моделі інтелектуального аналізу призводить до створення одного вхідного нейрона для кожного стану і одного вхідного нейрона для відсутнього стану (якщо навчальні дані містять будь-які значення NULL). Безперервний вхідний атрибут "створює" два вхідних нейрона: один нейрон для відсутнього стану і один нейрон для значення самого безперервного атрибута. Вхідні нейрони забезпечують входи для одного або декількох прихованих нейронів.
Вихідні нейрони являють значення прогнозованих атрибутів для моделі інтелектуального аналізу даних. Дискретний прогнозований атрибут, який має більше двох станів, "створює" один вихідний нейрон для кожного стану і один вихідний нейрон для відсутнього або існуючого стану. Безперервні прогнозовані стовпці "створюють" два вихідних нейрона: один нейрон для відсутнього або існуючого стану і один нейрон для значення самого безперервного стовпчика.
Нейрон отримує входи від інших нейронів або з інших даних, в залежності від того, в якому шарі мережі він знаходиться. Вхідний нейрон отримує входи від вихідних даних. Приховані нейрони і вихідні нейрони отримують входи з виходу інших нейронів нейронної мережі. Входи встановлюють зв'язки між нейронами, і ці зв'язки є шляхом, по якому проводиться аналіз для конкретного набору варіантів.
Кожному входу присвоєно значення, іменоване вагою, яке описує релевантність або важливість конкретного входу для прихованого або вихідного нейрона. Чим більше вага, присвоєний входу, тим більше релевантним або важливим є значення цього входу. Значення ваги можуть бути негативними; це означає, що вхід може пригнічувати, а не активувати конкретний нейрон. Щоб виділити важливість входу для конкретного нейрона, значення входу множиться на вагу. У разі негативних ваг множення значення на вагу служить для зменшення важливості входу. Схематично це представлено на Мал. 12.2 , де
- Вхід,
- відповідний йому вагу Кожному нейрону сопоставлена проста нелінійна функція, звана функцією активації, яка описує релевантність або важливість певного нейрона для цього шару нейронної мережі. Як функції активації в алгоритмі MicrosoftNeuralNetwork приховані нейрони використовують функцію гіперболічного тангенса (tanh), а вихідні нейрони - сигмоїдальну (логістичну) функцію. Обидві функції є нелінейниміі безперервними, що дозволяють нейронної мережі моделювати нелінійні зв'язки між вхідними та вихідними нейронами.
Мал.12.2.
Формальне представлення нейрона
Навчання моделі інтелектуального аналізу даних проводиться за наступною схемою. Алгоритм спочатку оцінює навчальні дані і резервує певний відсоток з них для використання при визначенні точності мережі.
Потім алгоритм визначає кількість і складність мереж, що включаються в модель інтелектуального аналізу даних. Визначається число нейронів в кожному шарі. Процес навчання будується за наступною схемою [ 1 ]:
- На початковій стадії випадковим чином присвоюються значення всім ваг всіх входів в мережі. Значення зазвичай беруться з інтервалу (-1,1).
- Для кожного навчального варіанта обчислюються виходи.
- Обчислюються помилки виходів. В якості опції помилки може використовуватися квадрат залишку (квадрат різниці між спрогнозірованим і фактичним значенням).
- Кроки 2,3 повторюються для всіх варіантів, які використовуються в якості зразків. Після цього ваги в мережі оновлюються таким чином, щоб мінімізувати помилки.
В процесі навчання може виконуватися кілька ітерацій. Після припинення росту точності моделі навчання завершується.
Тепер перейдемо до алгоритму логістичної регресії.
Логістична регресія є відомим статистичним методом для визначення впливу декількох чинників на логічну пару результатів. Наприклад, завдання може бути наступною. Припустимо, що прогнозований стовпець містить тільки два стани, і необхідно провести регресійний аналіз, зіставляючи вхідні стовпці з ймовірністю того, що прогнозований стовпець міститиме конкретний стан [ 18 ]. Результати, отримані методами лінійної та логістичної регресії представлені на Мал. 12.3 a і 12.3 b відповідно. Лінійна регресія не обмежує значення функції діапазоном від 0 до 1, незважаючи на те, що вони повинні бути мінімальним і максимальним значеннями цього стовпчика. Крива, яка формується алгоритмом логістичної регресії, в цьому випадку більш точно описує досліджувану характеристику.
Мал.12.3.
Порівняння результатів, отриманих методами лінійної (a) та логістичної регресії (b)
У реалізації Майкрософт, для моделювання зв'язків між вхідними та вихідними атрибутами застосовується видозмінена нейронна мережа, в якій відсутній прихований шар. Вимірюється внесок кожного вхідного атрибута, і в закінченою моделі різні входи забезпечуються ваговими коефіцієнтами. Назва "логістична регресія" відображає той факт, що крива даних стискається шляхом застосування логістичного перетворення, щоб знизити ефект екстремальних значень.