Питання:
Я хочу розпочати дискусію про те, як люди встановлюють алгоритмічні параметри, коли перевірка проти земної правди неможлива (можливо, тому, що землю просто неможливо отримати або дуже важко / нудно отримати).
Я прочитав численні статті та реалізував основні алгоритми, де --- набір параметрів, як кажуть, встановлено "емпірично" --- і часто я виявляв, що це ті, які впливають на загальність алгоритму (навіть якщо теорія, що лежить в основі методу, елегантна, приваблива і звукова).
Буду вдячний, якби ви могли поділитися своїми думками. І немає правильної чи неправильної відповіді на це питання. Мені просто хочеться знати, як усі інші з цим справляються.
Довідка / джерело запитання:
Я є вченим-комп’ютером, який працює в області аналізу зображень, комп’ютерного зору та машинного навчання, і це питання вже деякий час опинилося в моїй думці, коли я стикався з цією дилемою раз і знову, коли я розробляю новий алгоритм і я я виявив, що витрачаю значну кількість часу на налаштування параметрів.
Крім того, я думаю, моє питання тут більш загальне для будь-якої області, де в обчислювальних алгоритмах сильно задіяні, і я хочу запросити думки людей з усіх зацікавлених областей.
Я хотів би навести вам конкретний приклад, просто так це допомагає вам думати:
--- Візьмемо випадок виявлення особливостей (скажімо, кругові краплі або видні точки). Ви запускаєте деякі фільтри (параметри потреб) у різних масштабах (параметри масштабу) і, ймовірно, порогову відповідь (пороговий параметр). Зазвичай неможливо отримати ґрунтовну правду для перевірки і тим самим автоматично налаштувати ваші параметри в таких сценаріях.
--- Візьміть будь-яку обчислювальну основу, яка включає багато компонентів обробки сигналів. Завжди є параметри настройки, і зазвичай немає ґрунтової правди, і коли ви їх суб'єктивно налаштуєте на невеликому випадковому підмножині вашого набору даних, ви коли-небудь зіткнетесь із випадком, на який він не узагальнюється.
Цей параметр чорт викликає більше проблем, коли ви встановлюєте параметри для деяких проміжних кроків у своєму алгоритмі.
І я часто виявляв, що проблему пошуку хороших значень для цих параметрів неможливо поставити як проблему оптимізації, об'єктивна функція якої можна взяти похідну і тим самим використовувати стандартні алгоритми оптимізації для пошуку хороших значень.
Крім того, у багатьох сценаріях виставлення цих параметрів кінцевому користувачеві не є можливим, оскільки ми часто розробляємо додатки / програмне забезпечення для некомп'ютерних кінцевих споживачів (скажімо, біологи, лікарі), і вони, як правило, розуміють, коли ви просите їх настроїти. якщо тільки не дуже інтуїтивно зрозумілий (наприклад, приблизно розмір об'єкта).
Будь ласка, поділіться своїми думками.
I want to kick up a discussion ...
- це справді хороший показник того, що те, що ви запитуєте, не підходить для формату * .SE.