Чи є методи машинного навчання «алгоритмами наближення»?


23

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

Чи згодні з цим інші? Крім того, мені здається, є відчуття того, які евристичні алгоритми можуть бути гарантовано наближені до теоретичних оптимумів, якщо вони створені для дослідження значної частини простору пошуку (наприклад, встановлення параметрів / розмірів кроків малих), хоча у мене немає Я цього не бачив у папері. Хтось знає, чи це було показано чи доведено в роботі? (якщо не для великого класу алгоритмів, можливо, для малого класу скажімо, NN тощо)


З подальшої думки з цього питання, схоже, пов'язана / відповідна область дослідження називається методами / варіантами глобальної оптимізації поверх алгоритмів локального типу, наприклад, спуск градієнта ...
vzn

Відповіді:


29

Я думаю, ви змішуєте кілька важливих понять. Дозвольте спробувати уточнити пару речей:

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

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

  • Існують дискретні методи оптимізації, які, як правило, пов'язані з алгоритмами, які добре вивчають окремі проблеми: такі, як найкоротші шляхи, максимальний потік і т. Д. Люди в цій області також дбають про те, щоб їх алгоритми справді працювали (докази). У цій групі є підгрупа людей, які вивчають дійсно важкі проблеми, щодо яких не існує швидкого алгоритму. Потім вони вивчають алгоритми наближення, це швидкі алгоритми, за якими вони здатні показати, що їх рішення знаходиться в межах постійного коефіцієнта справжнього оптимуму. Це називається "алгоритмами наближення". Ці люди також показують свої результати як докази.

Отже ... щоб відповісти на ваше запитання, я не думаю, що метагевристика є алгоритмами наближення. Мені це не здається чимось пов'язаним з думкою, це лише факт.


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

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

2
@vzn багато людей вибирають моделі, для яких можна знайти оптимальне рішення. Це тому, що використовуються функції опуклих втрат, як це роблять SVM. Знайти справжній оптимум тут означає «знайти оптимальне рішення у вашому просторі пошуку», так що це не має нічого спільного з тим, як виглядає простір пошуку. Як сказав jb, для загальних функцій втрат знайти справжній оптимум зазвичай неможливо / нездійсненно.
Андреас Мюллер

приймаючи цю відповідь як опис поточного стану речей та загальних категорій застосувань, але все ж думаю, що існують і залишаються доказовими деякі мостові рішення, які пов'язують окремі області. доказ того, що NN можуть моделювати або "наближати" будь-який безперервний математичний fn до довільної ступеня точності, тісно пов'язаний ... тобто колгоморов thm
vzn

3

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

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

Для деяких моделей, як-от логістична регресія, існує один локальний мінімум, функція опукла, мінімізація сходить до мінімуму, але самі моделі спрощені.

Це гірка правда.

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

Нарешті, для деяких моделей ми взагалі не знаємо, як навчитися. Наприклад, якщо вихід є довільною обчислювальною функцією входів, ми не знаємо хороших алгоритмів, які в розумний час знаходять Тьюрінга або аналогічну машину, що реалізує цю функцію. Наприклад, якщо f (1) = 2, f (2) = 3, f (3) = 5, f (4) = 7, ..., f (10) = 29 (десять перших праймерів), ми робимо Я не знаю жодного алгоритму навчання, який міг би передбачити у розумний час, що f (11) = 31, якщо тільки він уже не знає поняття простих чисел.

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