Вибір параметрів генетичного алгоритму


9

Як можна вибрати належну кількість параметрів генетичного алгоритму для моделювання заданої системи?

Наприклад, скажіть, що ви хочете оптимізувати виробництво автомобілів, і у вас є 1000 вимірювань погодинної ефективності при різних завданнях для кожного з 1000 різних співробітників. Отже, у вас є 1 000 000 точок даних. Більшість із них, ймовірно, слабко співвідносяться із загальною ефективністю вашої фабрики, але не настільки слабко, що можна сказати, що вони не мають відношення до статистичної впевненості. Як ви займаєтеся вибором вхідних даних для свого GA, щоб у вас не було 1 000 000+ ступенів свободи, що призводить до дуже повільної конвергенції або взагалі відсутності конвергенції?

Зокрема, які алгоритми можна використати для попереднього вибору або вибіркового усунення функцій?

Один підхід , який я використовував себе в цьому сценарії еволюціонувати вибір параметрів сам, так що я міг би мати батьків , як {a,b,c}, {b,d,e,q,x,y,z}і так далі. Тоді я б мутував дітей, щоб додати або відкинути функції. Це добре працює для кількох десятків функцій. Але проблема в тому, що вона неефективна, якщо є велика кількість ступенів свободи. У такому випадку ви переглядаєте 10^nкомбінації (у прикладі вище 10^1,000,000), що робить деяку попередню фільтрацію функцій критичною для отримання будь-якої корисної продуктивності.

Відповіді:


11

Перш за все - приклад здається не дуже підходящим, оскільки ви, ймовірно, використовуєте якісь регресії або класичні методи ML для вирішення цього питання. По-друге - ви маєте на увазі загальну проблему вибору ознак (Kira, Rendell, 1992) або вибір атрибутів (Hall, Holmes, 2003) або змінний вибір (Guyon, Elisseeff, 2003) або вибір змінних підмножин (Stecking, Schebesch, 2005) або вилучення особливостей (Hillion, Masson, Roux, 1988) або зменшення розмірності (Roweis, Saul, 200) або абстракція стану (Amarel, 1968). Ця проблема є актуальною не лише для генетичних алгоритмів, але і майже для всіх методів машинного навчання при роботі з високомірними даними.

Тут можна виділити три випадки: останній екземпляр цієї проблеми, відомий як абстракція стану , зазвичай пов'язаний з моделюванням процесів (що відповідає вашому прикладу, але не контексту GA). Перші три, тобто вибір функції , вибір атрибута або змінний вибір , як видається, найбільш актуальний при прийомі на ваше запитання буквально. У цьому контексті поширеним рішенням є підхід mRMR (Peng, Long, Ding, 2005) . З мого досвіду, це не завжди добре працює з постійними даними - однак взаємна інформація може бути замінена іншими коефіцієнтами, наприклад кореляцією. Іншим можливим підходом є використання перехресної перевірки (Picard, Cook, 1984)для цього. Ви можете мати кілька моделей, кожна з яких використовує різні функції, і за допомогою вибору моделі за допомогою методів перехресної перевірки ви вибираєте найкращу модель, яка дає вам інформацію про те, які функції найкраще працюють для даного завдання.

У добуванні ознак і скорочення розмірних випадків дозволяють не тільки вибрати початкові функції, а й їх комбінацію. Добре відомим прикладом рішення для цього випадку є алгоритм PCA (Pearson, 1901) , який дає оптимальний, з точки зору поясненої дисперсії, набір функцій, що представляють собою лінійні комбінації вхідних ознак.

Також зауважте, що існує багато моделей, які самостійно вирішують завдання витягання. Ось кілька прикладів: зростаюча мережа нейронного газу (Fritzke, 1995) , LASSO (Tibshirani, 2011) , RFE SVM (Zeng, Chen, Tao, 2009) , дерева рішень (Quinlan, 1986) .

Список літератури:


3

Я ніколи цього не робив і, очевидно, не маю доступу до зазначених даних, але потенційно хороший спосіб зробити це через кластеризацію . Для кожного працівника ми маємо n-мірний вектор, де кожен вимір відповідає одному завданню. Тоді ми можемо використовувати кластеризацію для групування «подібних» співробітників разом; однак, це буде залежати виключно від ваших даних, тобто цілком можливо, що з урахуванням лише 1000 співробітників, що кластеризація дасть групи працівників, які насправді не так пов’язані, і, хоча ми можемо зменшити чисельність населення, це може бути за рахунок втрати інформації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.