
- •Етапи аналізу даних. Класифікація типів змінних. Кількісні, ординальні та номінальні дані та робота з ними.
- •Методи візуалізації даних. Графічні методи експрес-аналізу даних.
- •Генетичний алгоритм. Генетичне програмування.
- •Методи, стадії, задачі Data Mining.
- •Однофакторний дисперсійний аналіз.
- •Ітераційний алгоритм обчислення головних компонент.
- •Дерева рішень. Методи опорних векторів, «найближчого сусіда», Байеса.
- •Правило розбиття
- •Зупинка навчання
- •Правило відсікання
- •Класифікація з учителем у випадку нормальних спостережень.
- •Асоціаційні правила. Послідовне відображення шаблонів даних.
Генетичний алгоритм. Генетичне програмування.
Генетичний алгоритм (англ. genetic algorithm) — це еволюційний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. Задача кодується таким чином, щоб її вирішення могло бути представлено в вигляді масиву подібного до інформації складу хромосоми. Цей масив часто називають саме так «хромосома». Випадковим чином в масиві створюється деяка кількість початкових елементів «осіб», або початкова популяція. Особи оцінюються з використанням функції пристосування, в результаті якої кожній особі присвоюється певне значення пристосованості, яке визначає можливість виживання особи. Після цього з використанням отриманих значень пристосованості вибираються особи допущені до схрещення (селекція). До осіб застосовується "генетичні оператори" (в більшості випадків це оператор схрещення (crossover) і оператор мутації (mutation), створюючи таким чином наступне покоління осіб. Особи наступного покоління також оцінюються застосуванням генетичних операторів і виконується селекція і мутація. Так моделюється еволюційний процес, що продовжується декілька життєвих циклів (поколінь), поки не буде виконано критерій зупинки алгоритму. Таким критерієм може бути:
знаходження глобального, або надоптимального вирішення;
вичерпання числа поколінь, що відпущені на еволюцію;
вичерпання часу, відпущеного на еволюцію.
Генетичні алгоритми можуть використатися для пошуку рішень в дуже великих і тяжких просторах пошуку. Можна виділити такі етапи генетичного алгоритму:
Створення початкової популяції:
Обчислення функції пристосованості для осіб популяції (оцінювання)
Повторювання до виконання критерію зупинки алгоритму:
Вибір індивідів із поточної популяції (селекція)
Схрещення або/та мутація
Обчислення функції пристосовуваності для всіх осіб
Формування нового покоління
Генетичне програмування - це методика машинного навчання, прототипом якої є біологічна еволюція. У загальному випадку ми починаємо з великого набору програм (іменованих популяцією), згенерованих випадковим чином або написаних вручну, про які відомо, що це досить хороші рішення. Потім ці програми конкурують між собою в спробі вирішити деяку поставлену користувачем завдання. Це може бути гра, в якій програми змагаються між собою безпосередньо, або спеціальний тест, покликаний визначити, яка програма краще. По завершенні змагання складається ранжований список програм - від найкращої до найгіршої. Потім - і ось тут-то вступає у справу еволюція - кращі програми копіюються і модифікуються одним із двох способів. Найпростіший називається мутацією; в цьому випадку деякі частини програми випадковим чином і дуже незначно змінюються в надії, що від цього рішення стане краще. Інший спосіб називається схрещуванням (або кросовером) - частина однієї з відібраних програм переміщається в іншу. У результаті процедури копіювання та модифікації створюється багато нових програм, які засновані на найкращих особинах попередньої популяції, але не збігаються з ними. На кожному етапі якість програм обчислюється за допомогою функції виживаності (fitness function). Так як розмір популяції не змінюється, програми, що опинилися поганими, видаляються з популяції, звільняючи місце для нових. Створюється нова популяція, яка називається «наступним поколінням», і весь процес повторюється. Оскільки зберігаються і змінюються найкращі програми, то є надія, що з кожним поколінням вони будуть вдосконалюватися, як діти, які можуть перевершити своїх батьків. Нові покоління створюються до тих пір, поки не буде виконана умова завершення, яке в залежності від завдання може формулюватися одним із таких способів:
• Знайдено ідеальне рішення.
• Знайдено достатньо хороше рішення.
• Рішення не вдається поліпшити протягом кількох поколінь.
• Кількість поколінь досягло заданої межі.