Як визначити впевненість прогнозу нейронної мережі?


22

Щоб проілюструвати моє запитання, припустимо, що у мене є навчальний набір, де вхід має ступінь шуму, але вихід, наприклад, не має;

# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]

тут вихід - це градієнт вхідного масиву, якби він був безшумним (не власне градієнтом).

Після тренування мережі вихід повинен мати приблизно такий вигляд для заданого входу.

# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]

Моє запитання полягає в тому, як можна створити нейронну мережу таким чином, щоб вона повернула передбачуване значення і міру впевненості, наприклад, дисперсію або довірчий інтервал?


3
Якщо ви шукаєте інтервал, який буде містити майбутню реалізацію , тоді ви шукаєте інтервал прогнозування , а не інтервал довіри , який стосується неспостережуваних параметрів . Це часто плутають.
S. Kolassa - Відновіть Моніку

Відповіді:


20

Це здається, що ви шукаєте , тобто інтервал, який містить заздалегідь визначений відсоток майбутніх реалізацій. (Подивіться на теги вікі для та для різниці.)

Ваша найкраща ставка, ймовірно, буде працювати безпосередньо з архітектурами NN, які не виводять прогнози єдиної точки, а цілі прогнози . Потім можна безпосередньо витягти бажані інтервали прогнозування (або середні, або середні точкові прогнози) з цих розподілів. Я та інші доводили, що прогнозні розподіли набагато корисніші, ніж точкові прогнози , але якщо чесно сказати, я ще не бачив багато роботи над прогнозними розподілами з нейронними мережами, хоча я тримаю очі відкритими. Цей документ виглядає, як може бути корисним. Ви можете трохи пошукати, можливо, також використовуючи інші ключові слова, такі як "прогнозні розподіли" або "прогнозовані щільності" тощо.

З цього приводу ви можете заглянути в алгоритм NeuroBayes Майкла Фейндта , який використовує байєсовський підхід до прогнозування прогнозних щільностей.


1
Це може бути ще один корисний документ - нейронна мережа, яка вивчає розподіли: google.com/…
Pro Q

@Stephan: Посилання минуло: (
Меттью Друрі

@MatthewDrury: про яке посилання ти маєш на увазі? Усі троє добре працюють для мене.
S. Kolassa - Відновити Моніку

Чи можете ви привести нас до простої демонстрації / прикладу Ternsorflow з NN Predictive Distribution?
Мартін Торгерсен

@ MartinThøgersen: Вибачте, ні, я не використовую Tensorflow ...
S. Kolassa - Відновіть Моніку

5

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

Якщо - ваш коефіцієнт помилок під час класифікації деяких даних розміром , 95% довірчий інтервал для вашої частоти помилок задається через: .S n e ± 1,96 еSн

е±1,96е(1-е)н

(див. книгу «Машинне навчання» від Тома Мітчелла, глава 5.)

EDIT

Здогадуюсь, я повинен констатувати більш загальний випадок, а саме: де загальні варіанти для перераховані в наступній таблиці:zN

е±zNе(1-е)н,
zN
confidence level    80%    90%    95%    98%    99%
values of zN       1.28   1.64   1.96   2.33   2.58

1
Для цього потрібно, щоб асимптотичний розподіл був нормальним
користувач2879934

4
Для великих розмірів зразків (що досить часто зустрічається в ML), як правило, це безпечно. Не потрібно було ти просто говорити про роз'яснення, але добре.
mp85

4

Інтервали прогнозування (PI) у непараметричних регресії та проблемах класифікації, таких як нейронні мережі, SVM, випадкові ліси тощо, важко побудувати. Я хотів би почути інші думки з цього приводу.

Однак, наскільки мені відомо, конформне прогнозування (CP) - єдиний принциповий метод побудови каліброваного ІП для прогнозування в непараметричних регресії та проблемах класифікації. Навчальний посібник з CP див. У Shfer & Vovk (2008), J. Machine Learning Research 9 , 371-421 [pdf]


3

Я не знаю жодного способу зробити це точно.

мкσ(хi,уi)-журналN(уi-мк(хi),σ(хi))мк(хi)уiσ(хi)

уi-мк(хi)σ(хi)N(0,1)


1
σ+

Чи є якісь конкретні приклади, коли хтось бачив використання NN для виведення параметрів розподілу, підготовлених за вірогідністю журналу?
Міс Палмер

3

Я не чув жодного методу, який дає інтервал довіри для прогнозування нейронної мережі. Незважаючи на відсутність формальної методології, здається, що її можна було б побудувати. Я ніколи не намагався цього зробити через обчислювальну потужність, яка була б потрібна, і я не пред'являю жодних претензій на це, працюючи напевно, але один метод, який може працювати для крихітної нейронної мережі (або з яскравою швидкою потужністю GPU, може працювати для мереж середнього розміру ) було б переутворювати навчальний набір і будувати багато подібних мереж (скажімо, 10 000 разів) з однаковими параметрами та початковими налаштуваннями, а також будувати довірчі інтервали на основі прогнозів для кожної вашої завантаженої мережі.

Наприклад, у 10000 мережах, підготовлених, як обговорювалося вище, можна отримати 2,0 (після округлення прогнозів регресії нейронної сітки) 9000 з тих часів, тож можна було б передбачити 2,0 при 90% ІС. Потім можна створити масив CI для кожного зробленого прогнозу та вибрати режим для звітування як основний CI.


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

1
Я не голосував проти, але, наскільки я розумію, запропонований метод виводить інтервали, які фіксують передбачувані значення моделі, це не те саме, що інтервали, які фіксують справжні значення.
Міс Палмер

3

З точки зору прямого виведення інтервалів прогнозування, існує документ " Всебічний огляд інтервалів прогнозування на основі нейромережі "

Вони порівнюють чотири підходи:

1: метод Delta 2: метод Байєса 3: Оцінка середньої дисперсії 4: Bootstrap

Ті ж автори продовжили розробку методу нижньої верхньої межі для побудови інтервалів прогнозування на основі нейронної мережі, що безпосередньо виводить нижню та верхню межу від NN. На жаль, це не працює з backprop, але нещодавня робота зробила це можливим, високоякісним інтервалом прогнозування для поглибленого навчання .

Альтернативно прямим виведенням інтервалів прогнозування, байєсові нейронні мережі (BNN) моделюють невизначеність параметрів NN, а отже, і захоплюють невизначеність на виході. Це важко зробити, але популярні методи включають запуск MC-відсіву на час передбачення або збирання .


1
Це насправді досить легко зробити за допомогою байєсівського глибокого навчання. Дивіться, наприклад, edwardlib.org/tutorials/bayesian-neural-network
DeltaIV

2

Насправді існують способи зробити це за допомогою відсіву. Запустіть оцінку з увімкненим відмовою (зазвичай це відключено для оцінювання, але увімкнено під час тренування) та запустіть оцінку кілька разів.

Розподіл результатів від декількох різних прогонів може використовуватися як довірчі інтервали.

Дивіться статтю " Відпадання як байєсівське наближення: представлення невизначеності моделі в глибокому навчанні " Дивіться презентацію на youtube Ендрю Роуан - Байєсівське глибоке навчання з Едвардом (і трюк з використанням відмови)


1

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

Отже, щоб отримати щось, будь ласка, використовуйте різні прикладні та фундаментальні науки:

  • Використовуйте контроль (і зробіть припущення про динаміку)

  • Використовувати опуклу оптимізацію (з деякою додатковою умовою функціонування)

  • Використовуйте математичну статистику (з попередніми припущеннями щодо розподілу)

  • Використовуйте обробку сигналів (з деякими припущеннями, що сигнал обмежений)

Вчений використовує деякі попередні припущення (їх називають аксіомами), щоб щось вивести.

Немає ніякої впевненості без попереднього припущення, тому проблема не в DL-мехтоді, але це проблема в будь-якому методі, який намагаються інтерполювати без будь-якого попереднього припущення - немає ніякого способу отримати через алгебру щось інтелектуально без припущення.

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

Ще глибша регресія, що відповідає Е [Y | X], або її оцінка може бути абсолютно невірною проблемою для вирішення (можливо, pdf у точці Y = E [Y | X] має мінімум, а не максимум), і таких дуже тонких дуже багато речі.

Також дозвольте нагадати дві нерозв’язні проблеми в AI / ML, про які можна з якихось причин забути, за лозунгами краси:

(1) Це методи інтерполяції, а не екстраполяція - вона не має можливості вирішувати нові проблеми

(2) ніхто не знає, як буде поводитися будь-яка модель за даними, які не з того самого розповсюдження (людина в костюмі банана для локалізації пішоходів)


як щодо моделювання помилки з навчальних даних, встановлених для "прогнозування" помилки для висновку?
Джако

Навіть припустимо, що це добавка "predict_for_mean" + "predict_for_error". Ви можете уявити будь-яку схему для прогнозування сигналу та помилки окремо. Але ще один раз - якщо ми «лише інтерполюємо», ми не можемо щось впевнено сказати. Ми прогнозуємо температуру на поверхні. Так, ви можете сказати це моє передбачення "20", а прогноз на помилку - "5". Так сказано, що я думаю, що реальна відповідь лежить у [20-5, 20 + 5], але щоб зрозуміти, що це означає, нам потрібно зрозуміти реальне явище та математичну модель. І ML - це не про те й інше. Інші області роблять деякі попередні припущення.
bruziuz

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