Чому при контрольованому навчанні погано мати співвідносні функції?


35

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


3
Це правило застосовується сильніше в деяких моделях та аналізі, ніж в інших. Будь-який шанс ви могли б додати деякий контекст до "Я десь читав" - наприклад, це стосувалося навчання конкретної моделі?
Ніл Слейтер

3
Зв'язані функції не обов'язково погіршать модель. Видалення співвіднесених функцій допомагає визначити значення щодо функцій.
Гоббс

Відповіді:


31

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

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

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

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


4
Числова стабільність осторонь, на прогнозування, дану моделлю OLS, не повинно впливати мультиколінеарність, оскільки загальний ефект змінних прогнозів не пошкоджується наявністю мультиколінарності. Це інтерпретація ефекту окремих змінних прогнозів, які не є надійними при наявності мультиколінності.
Акавал

11

(Припустимо, що ви говорите про контрольоване навчання)

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

Є три основні причини, з яких ви видалите відповідні функції:

  • Зробіть алгоритм навчання швидшим

Через прокляття розмірності менші характеристики зазвичай означають високе поліпшення швидкості.

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

  • Зменшити шкідливі ухили

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

Деякі алгоритми, як Naive Bayes, насправді отримують пряму користь від "позитивних" співвіднесених особливостей. І інші, як випадковий ліс, можуть побічно отримати від них користь.

Уявіть, що у вас є 3 ознаки A, B і C. A і B сильно співвідносяться з ціллю та один з одним, а C - зовсім не так. Якщо ви вибираєте з трьох функцій, у вас є 2/3 шанси отримати "гарну" функцію, тоді як якщо ви видалите B, наприклад, цей шанс падає до 1/2

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

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

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

  • Інтерпретаційність вашої моделі

Якщо ваша модель потребує інтерпретації, можливо, ви будете змушені її спростити. Не забудьте також пам’ятати бритву Оккама. Якщо ваша модель не так «гірша» з меншими можливостями, то, ймовірно, слід використовувати менше функцій.


2

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


2

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

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


Щодо коментаря datascience.stackexchange.com/users/38887/valentin-calomme : " Корельовані функції не завжди погіршать вашу модель, але вони не завжди вдосконалять її". Я не бачу або не можу подумати, де висока кореляція між змінними не погіршує вашу модель. Принаймні в тому сенсі, що, зважаючи на вибір: я б швидше потренував мережу з менш співвіднесеними функціями. Все, окрім цього, є функціонально та суттєво гіршим. Чи є випадки, коли це не відповідає дійсності?
tjborromeo

1

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

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

У контексті машинного навчання ми зазвичай використовуємо PCAдля зменшення розмірності моделей введення. Цей підхід розглядає можливість видалення корельованих функцій якось (за допомогою SVD) та є непідконтрольним підходом. Це робиться для досягнення наступних цілей:

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

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


0

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

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

Характеристики, що домінують від шуму, як правило, менш співвідносяться з іншими ознаками, ніж особливості, корельовані з y. Отже, як згадувалося вище в прикладі Валентина, витончення останнього збільшить частку першого.

Зокрема, такі методи, як випадкові ліси та KNN, однаково ставляться до всіх ознак, тому витончення корельованих ознак безпосередньо зменшує їх співвідношення сигнал-шум.

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

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