РЕКОМЕНДАЦІЇ ДО ВИБОРУ ОЗНАК

Після того як був налаштований процес збору та чистки даних, для завдання машинного навчання постає питання: які ж ознаки використовувати далі при складанні матриці «об'єкти - ознаки»? Чітких рекомендацій для відповіді на це питання дати неможливо, так як вибір ознак сильно залежить від вихідної задачі. Наведемо кілька прикладів завдань з різними ознаками для ілюстрації цієї проблеми.

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

Ознаки в задачі:

  • 1) булеві - підлогу, наявність головного болю, слабкості, нудоти і т.д .;
  • 2) порядкові - тяжкість стану, жовтушність і т.д .;
  • 3) кількісні: тиск, температура, дози препаратів, що приймаються, зміст еритроцитів у крові, вік.

Завдання ранжирування докуметов - класична задача, яка виникає в більш-менш серйозної пошуковій системі. Об'єктом в даній задачі є пара «запит користувача - документ».

Ознаки в задачі:

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

Очевидно, що ознаки в завданні абсолютно не схожі один на одного. Розробка ознак {feature engineering ) є свого роду мистецтвом 1 , яке дається після досить сильного занурення в задачу (тобто в проблемну середу), а також при наявності досить великого досвіду у вирішенні завдань машинного навчання. І все ж можна дати кілька теоретичних рекомендацій до вибору ознак {feature selection) - етапу, наступного за розробкою ознак:

  • 1) ознаки повинні бути корельовані з відповіддю в навчальній вибірці. Очевидно, що якщо відповідь ніяк не залежить від ознаки, то на основі цієї ознаки неможливо прийняти будь-яке було рішення по вхідному об'єкту в завданні;
  • 2) ознаки не повинні бути функціонально залежні між собою.

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

Статистична фільтрація ознак дозволяє ранжувати ознаки за значимістю, за яку приймається величина кореляції ознаки і відповіді в навчальній вибірці. Як приклад наведемо один з таких методів: інформативність ознаки (information gain). Даний метод пов'язаний з поняттям ентропії [1] [2] . Формула ентропії:

де p (Xj) - ймовірність того, що змінна X прийме значення х г При наявності вибірки це значення вважається як статистична ймовірність для даного значення, тобто число випадків X = x i9 розділене на кількість прикладів у вибірці. Як відомо, ентропія характеризує ступінь рівномірності розподілу досліджуваної величини. У випадку з оцінкою корисності ознаки нам необхідно оцінити так звану відносну ентропію:

де Y - це змінна-відповідь в завданні. Сама ж міра інформаційної корисності ознаки обчислюється як різниця між ентропією У і відносної ентропією, розрахованої за цільовим ознакою:

Зрозуміти сенс цього виразу зовсім неважко - різниця між відповідними значеннями ентропії (по змінної Y і відносної ентропією) буде говорити про зменшення ступеня невпорядкованості (рівномірності, невизначеності) змінної Y при використанні ознаки X. Чим більше значення IG y тим вище кореляція між ознакою і відповіддю . Так можна впорядкувати всі ознаки спаданням IG і викинути найменш інформативні.

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

Методи-обгортки (wrapper method) позбавлені такого недоліку і в їх основі лежить метод виділення деякого підмножини ознак [3] , навчання моделі на цьому підмножині з наступним перерахунком метрики якості одержуваної моделі. Існує два класи таких методів: з виключенням ознак з початкової множини і з включенням ознак, в якому алгоритм стартує з порожньої безлічі ознак і поступово додає нові. На кожному кроці алгоритму додається (або віддаляється) ознака, перераховується метрика на тестовій вибірці, яка не бере участі в процесі перенавчання на новому наборі ознак, і в залежності від зміни значення цільової метрики вибирається та чи інша нова підмножина ознак. Очевидно, що у даного методу основною проблемою є те, що обчислення займають багато часу.

Особливість вбудованих методів полягає в тому, що вони дозволяють впровадити алгоритм вибору оптимальної підмножини ознак безпосередньо в алгоритм навчання моделі. Базовим методом в даній групі алгоритмів вибору ознак є метод регуляризації ( regularization ). Суть його полягає в тому, що в цільову функцію, що оптимізується при навчанні моделі (див. Параграф 4.3) впроваджується так званий регуляризатора - функція, незалежна від об'єктів навчальної вибірки, але залежна від вагових коефіцієнтів при ознаках об'єктів.

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

де А, • | w | 2 - регуляризатора.

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

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

  • [1] Hsiang-Fu Yt Hung-Yi L, Hsun-Ping H. Feature Engineering and ClassifierEnsemble for KDD Cup // Proceedings of the KDD Cup 2010 Workshop. 2010 року.
  • [2] Cm .: Feature Selection Based on Information Theory Filters / W. Dush, J. Biesiada, T. Winiarski [et al.J // Neural Networks and Soft Computing / ed. byL. Rutkowski, J. Kacprzyk. Zakopane: Springer-Vcrlag, 2003.
  • [3] Див .: Kohavi R., John G. Wrappers for Feature Subset Selection // ArtificialIntelligence. 1997. № 12.
 
Переглянути оригінал
< Попер   ЗМІСТ   ОРИГІНАЛ   Наст >