introduction genetic algorithms machine learning
Запитання щодо інтерв’ю на основі сценарію pl sql
Цей підручник з генетичного алгоритму детально пояснює, що таке генетичні алгоритми та їх роль у машинному навчанні. :
В Попередній підручник , ми дізналися про моделі штучних нейронних мереж - багатошаровий персептрон, зворотне розповсюдження, радіальне зміщення та самоорганізуючі карти Kohonen, включаючи їх архітектуру.
Ми зосередимося на генетичних алгоритмах, які з’явилися раніше, ніж на нейронних мережах, але зараз GA перейняла NN. Хоча GA все ще має додатки в реальному житті, такі як проблеми оптимізації, такі як планування, гра в ігри, робототехніка, апаратне проектування, проблеми продавців тощо.
Генетичні алгоритми - це алгоритми, які базуються на еволюційній ідеї природного відбору та генетики. GA - це адаптивні евристичні алгоритми пошуку, тобто алгоритми слідують ітераційній схемі, яка змінюється з часом. Це тип навчання підкріплення, де зворотний зв’язок необхідний, не кажучи про правильний шлях. Відгуки можуть бути як позитивними, так і негативними.
=> Прочитайте повну навчальну серію машинного навчання
Що ви дізнаєтесь:
- Навіщо використовувати генетичні алгоритми
- Що таке генетичні алгоритми
- Переваги та недоліки генетичного алгоритму
- Застосування генетичних алгоритмів
- Висновок
Навіщо використовувати генетичні алгоритми
GA - це більш надійні алгоритми, які можна використовувати для різних задач оптимізації. Ці алгоритми не відхиляються легко за наявності шуму, на відміну від інших алгоритмів ШІ. GA можна використовувати при пошуку великого простору або мультимодального простору.
Біологічне тло генетичних алгоритмів
Генетика походить від грецького слова «генезис», що означає рости. Генетика вирішує фактори спадковості, схожість та відмінності між нащадками в процесі еволюції. Генетичні алгоритми також походять від природної еволюції.
Деякі термінології в біологічній хромосомі
- Хромосоми: Вся генетична інформація виду зберігається хромосомами.
- Гени: Хромосоми поділяються на кілька частин, які називаються генами.
- Алелі: Гени ідентифікують характеристику особини. Можливість поєднання генів для утворення властивості називається алелями. Ген може мати різні алелі.
- Генофонд: Усі можливі комбінації генів, які є всіми алелями в популяційному пулі, називають генофондом.
- Геном: Сукупність генів виду називається геном.
- Локус: Кожен ген має положення в геномі, яке називається локусом.
- Генотип: Повна комбінація генів у особини називається генотипом.
- Фенотип: Сукупність генотипів у розшифрованій формі називається фенотипом.
Що таке генетичні алгоритми
Генетичні алгоритми стимулюють процес, як у природних системах еволюції. Чарльз Дарвін висловив теорію еволюції, згідно з якою в природній еволюції біологічні істоти еволюціонують відповідно до принципу «виживання найсильніших». Пошук GA призначений для заохочення теорії «виживання найсильніших».
GA виконують випадковий пошук для вирішення проблем оптимізації. GA використовує методи, які використовують попередню історичну інформацію, щоб спрямувати свій пошук на оптимізацію в новому просторі пошуку.
Співвідношення хромосоми з ГА
В людському тілі є хромосоми, які побудовані з генів. Сукупність усіх генів певного виду називається геном. У живих істот геноми зберігаються в різних хромосомах, тоді як у ГА всі гени зберігаються в одній і тій же хромосомі.
Порівняння між природною еволюцією та термінологією генетичного алгоритму
Природна еволюція | Генетичний алгоритм |
---|---|
Хромосома | Рядок |
Ген | Особливість |
Алель | Значення функції |
Генотип | Кодований рядок |
Фенотип | Розшифрована структура |
Важлива термінологія в GA
- Населення: Це група осіб. Популяція включає кількість особин, які тестуються, інформацію про простір пошуку та параметри фенотипу. Як правило, популяція випадково ініціалізується.
- Фізичні особи: Люди є єдиним рішенням для населення. Індивід має набір параметрів, які називаються генами. Гени, об'єднані, утворюють хромосоми.
- Гени: Гени - це будівельні блоки генетичних алгоритмів. Хромосома складається з генів. Гени можуть визначати вирішення проблеми. Вони представлені бітовим (0 або 1) рядком випадкової довжини.
- Фітнес: Фітнес говорить про значення фенотипу проблеми. Функція фітнесу показує, наскільки рішення наближене до оптимального рішення. Фітнес-функція визначається багатьма способами, наприклад, сумою всіх параметрів, що стосуються проблеми - евклідова відстань і т. Д. Немає правила для оцінки функції фітнесу.
Простий генетичний алгоритм
Простий ГА має популяцію окремих хромосом. Ці хромосоми представляють можливі рішення. Оператори розмноження застосовуються над цими наборами хромосом для здійснення мутацій та рекомбінації. Таким чином, важливо знайти відповідні оператори відтворення, оскільки поведінка GA залежить від цього.
Простий генетичний алгоритм такий:
# 1) Почніть з популяції, створеної випадковим чином.
# два) Обчисліть функцію придатності кожної хромосоми.
# 3) Повторюйте кроки, поки не буде створено n нащадків. Потомство створюється, як показано нижче.
- Виберіть пару популяцій хромосом.
- Кросовер пари з ймовірністю pcформувати потомство.
- Мутуйте кросовер з імовірністю pм.
# 4) Замініть початкову сукупність новою і перейдіть до кроку 2.
Давайте подивимося кроки, виконані в цьому процесі ітерації. Генерується початкова популяція хромосом. Початкова популяція повинна містити достатньо генів, щоб можна було генерувати будь-яке рішення. Перший пул населення генерується випадковим чином.
- Вибір: Найкращий набір генів підбирається залежно від функції фітнесу. Вибирається струна з найкращою фітнес-функцією.
- Розмноження: Нові нащадки породжуються шляхом рекомбінації та мутації.
- Оцінка: Нові хромосоми, що утворюються, оцінюють на предмет їхньої придатності.
- Заміна: На цьому кроці старе населення замінюється новим населенням.
Метод вибору колеса рулетки
Вибір колеса рулетки - це метод відбору, який використовується широко.
Процес відбору короткий, як показано нижче:
У цьому методі здійснюється лінійний пошук через колесо рулетки. Прорізи в колесі зважуються відповідно до індивідуальних показників фізичної підготовки. Цільове значення встановлюється випадковим чином відповідно до частки суми придатності в популяції.
Потім здійснюється пошук популяції до досягнення цільового значення. Цей метод не гарантує найбільш придатних людей, але має ймовірність бути найбільш придатними.
Давайте подивимось кроки, пов’язані з вибором колеса рулетки.
Очікувана цінність особини = Індивідуальна підготовленість / підготовленість населення. Слоти на колесах призначаються особам залежно від їхньої фізичної форми. Колесо обертається N разів, де N - загальна кількість особин у популяції. Коли одна ротація закінчиться, обрана особа потрапляє до пулу батьків.
- Нехай загальне очікуване значення певної кількості особин у популяції дорівнює S.
- Повторіть кроки 3-5 n разів.
- Виберіть ціле число s від 0 до S.
- Прокрутіть окремих осіб у популяції, підсумуйте очікувані значення, поки сума не перевищить s.
- Вибирається особа, очікуване значення якої перевищує суму, обмежену s.
Недоліки вибору колеса рулетки:
- Якщо придатність сильно відрізняється, тоді окружність колеса рулетки буде максимально прийнята хромосомою з найвищою фітнес-функцією, тому інші мають дуже мало шансів бути обраними.
- Це шумно.
- Еволюція залежить від різниці у підготовленості населення.
Інші методи відбору
Існує багато інших методів відбору, що використовуються в “Вибір” крок генетичного алгоритму.
Ми обговоримо 2 інші широко використовувані методи:
# 1) Вибір рангу: У цьому методі кожній хромосомі присвоюється рейтингова оцінка. Найгірша придатність - 1, а найкраща - N. Це метод повільної конвергенції. У цьому методі різноманітність зберігається, що призводить до успішного пошуку.
Відбираються потенційні батьки, а потім проводиться турнір, щоб вирішити, хто з осіб буде батьком.
# 2) Вибір турніру: У цьому методі стратегія селективного тиску застосовується до населення. Найкращий - той, хто має найвищу фізичну форму. Ця особа є переможцем у турнірному змаганні серед людей серед населення Ну.
Населення турніру разом із переможцем знову додається до пулу для створення нових нащадків. Різниця у фітнес-показниках переможця та осіб у шлюбному басейні забезпечує селективний тиск для досягнення оптимальних результатів.
Кросовер
Це процес взяття двох особин і народження у них дитини. Процес розмноження після відбору робить клони хорошими жалами. Оператор кросовера застосовується по струнах для отримання кращого потомства.
Реалізація оператора кросоверу полягає в наступному:
- Дві особини відбираються випадковим чином серед населення для отримання потомства.
- Хрест-сайт вибирається випадковим чином по довжині рядка.
- Значення на сайті поміняні місцями.
Виконуваний кросовер може бути одноточковим кросовером, двоточковим кросовером, багатоточковим кросовером і т. Д. Одноточковий кросовер має одну ділянку кросовера, тоді як двоточковий кросовер має 2 ділянки, де значення міняються місцями.
Це можна побачити на прикладі нижче:
Одноточковий кросовер
Двоточковий кросовер
Імовірність перехрещення
Pc, ймовірність кросоверу - це термін, який описує, як часто буде виконуватися кросовер. Імовірність 0% означає, що нові хромосоми будуть точною копією старих хромосом, тоді як 100% ймовірність означає, що всі нові хромосоми зроблені шляхом кросинговеру.
Мутація
Мутація проводиться після перехрещення. Хоча кросовер фокусується лише на поточному рішенні, операція мутації здійснює пошук у всьому просторі пошуку. Цей метод полягає у відновленні втраченої генетичної інформації та розповсюдженні генетичної інформації.
Цей оператор допомагає підтримувати генетичне різноманіття в популяції. Це допомагає запобігти місцевим мінімумам та запобігає виробленню марних рішень з будь-якої популяції.
Мутація виконується багатьма способами, наприклад, інвертування значення кожного гена з невеликою ймовірністю або виконання мутації, лише якщо це покращує якість розчину.
Деякі із способів мутації:
- Гортати: Зміна від 0 до 1 або 1 до 0.
- Обмін: Вибираються дві випадкові позиції, і значення обмінюються місцями.
- Реверс: Вибирається випадкове положення, а біти поруч із ним зворотні.
Давайте подивимося кілька прикладів кожного з них:
Гортати
Взаємозмінні
Реверс
Імовірність мутації
Pм, ймовірність мутації - це термін, який визначає, як часто хромосоми будуть мутувати. Якщо ймовірність мутації становить 100%, це означає, що вся хромосома змінена. Якщо мутація не проводиться, то нові потомство генеруються безпосередньо після кросинговеру.
Приклад загального генетичного алгоритму Імовірність мутації: Pм, ймовірність мутації - це термін, який визначає, як часто хромосоми будуть мутувати. Якщо ймовірність мутації становить 100%, це означає, що вся хромосома змінена.
Якщо мутація не проводиться, то нове потомство генерується безпосередньо після кросинговеру. Початкова популяція хромосом подана як A, B, C, D. Розмір популяції становить 4.
Функція фітнесу приймається як число 1 у рядку.
Хромосома | Фітнес |
---|---|
До: 00000110 | два |
B: 11101110 | 6 |
C: 00100000 | один |
D: 00110100 | 3 |
Сума фітнесу дорівнює 12, що означає, що середня функція фітнесу буде ~ 12/4 = 3
Імовірність кросоверу = 0,7
Ймовірність мутації = 0,001
# 1) Якщо вибрані B і C, кросовер не виконується, оскільки значення придатності C нижче середньої придатності.
# два) B мутує => B: 11101110 -> B': 01101110 для збереження різноманітності населення
# 3) Вибираються B і D, виконується кросовер.
B: 11101110 E: 10110100 -> D: 00110100 F: 01101110
# 4) Якщо E мутує, то
E: 10110100 -> E': 10110000
Відповідні хромосоми наведені в таблиці нижче. Замовлення розміщується випадковим чином.
Хромосома | Фітнес |
---|---|
A: 01101110 | 5 |
B: 00100000 | один |
C: 10110000 | 3 |
D: 01101110 | 5 |
Незважаючи на те, що найпридатніша особа зі значенням фізичної форми 6 втрачається, загальна середня підготовленість населення зростає і становитиме: 14/4 = 3,5
Коли зупиняти генетичний алгоритм
Генетичний алгоритм зупиняється, коли виконуються деякі перелічені нижче умови:
# 1) Найкраща індивідуальна конвергенція: Коли мінімальний рівень фізичної підготовки опускається нижче значення конвергенції, алгоритм зупиняється. Це призводить до швидшої конвергенції.
# 2) Найгірша індивідуальна конвергенція: Коли найменш придатні особи в популяції досягають мінімальних значень придатності нижче конвергенції, тоді алгоритм зупиняється. За цим методом у населення підтримується мінімальний стандарт придатності. Це означає, що найкраща особа не гарантована, але присутні мінімальні показники фізичної підготовки.
# 3) Сума фізичної форми: У цьому методі, якщо сума придатності менше або дорівнює значенню конвергенції, пошук зупиняється. Це гарантує, що все населення знаходиться в межах фітнесу.
# 4) Середній фітнес: У цьому методі принаймні половина осіб у популяції буде кращою або рівною значенню конвергенції.
Деяким критерієм збіжності або умовою зупинки можуть бути:
- Коли еволюціонувала певна кількість поколінь.
- Коли вказаний час запуску алгоритму дотримано.
- Коли придатність населення не змінюється далі з повтореннями.
Переваги та недоліки генетичного алгоритму
Перевагами генетичного алгоритму є:
- Він має ширший простір рішень.
- Простіше виявити глобальний оптимум.
- Паралельність: Кілька ГА можуть працювати разом, використовуючи один і той же процесор, не втручаючись один в одного. Вони працюють паралельно ізольовано.
Обмеження GA:
- Ідентифікація функції фітнесу є обмеженням.
- Збіжність алгоритмів може бути занадто швидкою або занадто повільною.
- Існує обмеження вибору таких параметрів, як кросовер, ймовірність мутації, розмір популяції тощо.
Застосування генетичних алгоритмів
GA ефективний для вирішення проблем із великими розмірами. GA ефективно використовується, коли простір пошуку дуже великий, відсутні математичні методи вирішення проблем та інші традиційні алгоритми пошуку не працюють.
Деякі програми, де використовується GA:
- Проблема оптимізації: Одним з найкращих прикладів проблем оптимізації є проблема продавця подорожей, яка використовує GA. Інші проблеми оптимізації, такі як планування завдань, оптимізація якості звуку, широко використовуються.
- Модель імунної системи: ГА використовуються для моделювання різних аспектів імунної системи для окремих генних та мультигенових сімей протягом еволюційного часу.
- Машинне навчання: ГА використовувались для вирішення проблем, пов’язаних з класифікацією, прогнозуванням, створення правил навчання та класифікації .
Висновок
Генетичні алгоритми засновані на методі природної еволюції. Ці алгоритми відрізняються від інших алгоритмів класифікації, оскільки вони використовують закодовані параметри (0 або 1), у популяції є декілька осіб, і вони використовують імовірнісний метод для конвергенції.
З процесом кросинговеру та мутації ГА сходяться у наступних поколіннях. Виконання алгоритму GA не гарантує успішного рішення завжди. Генетичні алгоритми є високоефективними в оптимізації - завданнях планування роботи.
Сподіваюся, цей підручник збагатив би ваші знання про концепцію генетичних алгоритмів !!
=> Відвідайте тут ексклюзивну серію машинного навчання
Рекомендована література
- Модельне тестування з використанням генетичного алгоритму
- Видобуток даних проти машинного навчання проти штучного інтелекту проти глибокого навчання
- Підручник з машинного навчання: Вступ до ML та його застосування
- Типи машинного навчання: Контрольоване проти ненавчаного навчання
- Повне керівництво зі штучної нейронної мережі в машинному навчанні
- 11 Найпопулярніших програмних засобів машинного навчання в 2021 році
- 13 найкращих компаній машинного навчання (Оновлений список 2021)
- Що таке підтримка векторної машини (SVM) у машинному навчанні