Чому похідні функції використовуються в нейронних мережах?


13

Наприклад, хочеться передбачити ціни на житло та мати два вхідні характеристики довжини та ширини будинку. Іноді також включаються «похідні» поліноміальні вхідні характеристики, такі як площа, що є довжиною * шириною.

1) В чому сенс включення похідних ознак? Чи не повинна нейромережа дізнатися зв’язок між довжиною, шириною та ціною під час тренінгу? Чому третя особливість, область не є зайвою?

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

2) Який сенс зменшити вхідні функції, якщо всі вони містять корисну інформацію? Чи не повинна нейронна мережа присвоювати кожній характеристиці введення відповідну вагу відповідно до її важливості? Який сенс роботи алгоритмів генетичного відбору?

Відповіді:


8

nlnlnl

2): Для цього я знаю дві причини. По-перше, якщо у вас є тисячі функцій (як це часто трапляється в даних реального світу) і вам не вистачає часу на процесор для тренувань (що також є звичайним явищем), ви можете використовувати декілька різних алгоритмів вибору функцій, щоб згрупувати простір функцій наперед. Принципові підходи до цього часто використовують інформаційно-теоретичні заходи для вибору ознак з найвищою силою прогнозування. По-друге, навіть якщо ви можете дозволити собі навчання всіх даних та всіх функцій, які ви маєте, нейронні мережі часто піддаються критиці за те, що вони є «чорними скриньками». Заздалегідь зменшивши простір функцій, ви можете допомогти пом'якшити цю проблему. Наприклад, користувач, дивлячись на NN, не може легко визначити, чи означає вага 0,01 "0, але процес оптимізації не зовсім досяг" або "


0

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

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

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

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

2) За винятком обчислювальної вартості, яку згадував Джон, збільшення кількості параметрів у моделі, що неминуче трапляється, коли ви вводите більше входів, також збільшує ризик перевитрати мережі , особливо якщо у вас мало даних про навчання.

Однак це може стати набагато меншою проблемою, якщо застосовувати хороший метод регуляризації. (Здається, що випадання спрацьовує надзвичайно добре для цього) Теоретично, при достатньо хорошому методі регуляризації, переобладнання не повинно бути проблемою. Як зазначає Гінтон, людина має в мозку порядку 10 ^ 14 синапси (відповідні з’єднанням в нейронній мережі), але живе лише в порядку 10 ^ 9 секунд, але ми все ще здаємося, що не можемо узагальнити досить добре. Очевидно, що наявність багатьох параметрів, які можна налаштувати, має бути правильним алгоритмом лише перевагою.

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