Що таке зменшення розмірності? Чим відрізняється вибір функції та вилучення?


58

З Вікіпедії,

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

Чим відрізняється вибір функції та вилучення функції?

Що таке приклад зменшення розмірності завдання з обробки природних мов?

Відповіді:


51

Простіше кажучи:

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

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

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


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

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

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

16

Зменшення розмірності зазвичай вибирає основу або математичне подання, в якому ви можете описати більшість, але не всю дисперсію у своїх даних, тим самим зберігаючи відповідну інформацію, зменшуючи при цьому кількість інформації, необхідної для її представлення. Є безліч методів зробити це , включаючи , але не обмежуючись цим PCA, ICAі Matrix Feature Factorization. Вони забирають наявні дані та зводять їх до найбільш дискримінаційних компонентів. Усі вони дозволяють представляти більшість інформації у вашому наборі даних з меншою кількістю дискримінаційних функцій.

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


2
Я погоджуюся з більшою точністю: вибір функцій не потрібно робити вручну, він може бути автоматичним. Дивіться, наприклад, метод Лассо ( en.wikipedia.org/wiki/Least_squares#Lasso_method ).
jrouquie

Я згоден з Dimensionality Reductionпунктом , але трохи відрізняються по Feature Engineeringвикористанню - що з того, що я бачив тільки Feature Extraction : Feature Selectionвважається окремо. Це лише різниця в термінології.
javadba

7

Як і в @damienfrancois, відповідь на вибір функції стосується вибору підмножини функцій. Отже, в NLP було б вибір набору певних слів (типовим для NLP є те, що кожне слово являє собою ознаку зі значенням, рівним частоті слова чи іншою вагою на основі TF / IDF або подібного).

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


5

Вибір особливостей полягає у виборі деяких функцій на основі статистичного показника, але вилучення функції використовує методи витягування інформації з другого рівня із даних, наприклад, цікавих частот сигналу за допомогою перетворення Фур'є.

[x1,...,xn]


Із наявних відповідей ця найкраща відповідність тому, що я бачив у кількох командах Data Science та ML Platform
javadba

3

Для завершення відповіді Деміена, приклад зменшення розмірності NLP - це тема теми , де ви представляєте документ вектором із зазначенням ваги його складових тем.



2

А1. Що таке зменшення розмірності: Якщо ви думаєте про дані в матриці, де рядки є екземплярами, а стовпці - атрибутами (або ознаками), то зменшення розмірності - це відображення цієї матриці даних у нову матрицю з меншою кількістю стовпців. Для візуалізації, якщо ви вважаєте кожен матричний стовпець (атрибут) як вимір у просторі функцій, то зменшення розмірності - це проекція примірників з більш високого розмірного простору (більше стовпців) на нижній розмірний підпростір (менше стовпців). Зменшення розмірності - це проекція підпростори Типовою метою цього перетворення є (1) збереження інформації в матриці даних, зменшуючи при цьому обчислювальну складність; (2) поліпшення відокремленості різних класів даних.

А2. Зменшення розмірності як вибір функції або вилучення можливостей: я буду використовувати всюдисущий набір даних Iris , який, мабуть, є "привіт світом" науки про дані. Коротко, набір даних Iris має 3 класи та 4 атрибути (стовпці). Я проілюструю вибір та вилучення функцій для завдання зменшити розмірність набору даних Iris з 4 до 2.

Я обчислюю парну кореляцію цього набору даних за допомогою бібліотеки в Python під назвою seaborn. Код: sns.pairplot (iris, hue = "види", маркери = ["o", "s", "D"]) Я отримав цифру, що Ірисова пара-сюжет я можу вибрати пару атрибутів (2 виміри), які надають мені найбільше розмежування між 3 класами (видами) в наборі даних про Ірис. Це був би варіант вибору функцій.

Далі йде вилучення функції. У цьому документі я проектую 4-мірний простір функцій Iris у новий двовимірний підпростір, який не є осі, вирівняному з вихідним простором. Це нові атрибути. Вони, як правило, засновані на розподілі у вихідному просторовому просторі. Найпопулярніший метод - це аналіз основних компонентів, який обчислює власні вектори в оригінальному просторі. PCA з використанням SVD Очевидно, що ми не обмежуємось лише використанням лінійної та глобальної проекції на підпростір на основі власних векторів. Ми також можемо використовувати нелінійні методи проекції. Ось приклад нелінійної PCA з використанням нейронних мереж нелінійна PCA з використанням NN Атрибути (розміри) в останньому прикладі витягуютьсявід початкових 4 атрибутів за допомогою нейронних мереж. Ви можете експериментувати з різними смаками PCA для набору даних для райдужної оболонки, використовуючи цей код методу pca .

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


1

Витягнуто з практичного машинного навчання за допомогою scikit-learn & Tensorflow

  1. Очищення даних: виправлення або видалення залишків (необов’язково). Заповніть пропущені значення (наприклад, нуль, середнє значення, медіану ...) або опустіть їх рядки (або стовпці).
  2. Вибір функції (необов’язково): відкиньте атрибути, які не дають корисної інформації для завдання.
  3. Функціональні можливості, де це доречно: Дискретизуйте безперервні функції. Розкладіть функції (наприклад, категоричність, дата / час тощо). Додайте багатообіцяючі перетворення функцій (наприклад, log (x), sqrt (x), x ^ 2 тощо). Об’єднайте функції в нові перспективні функції.
  4. Масштабування функцій: стандартизуйте або нормалізуйте функції.

0

Тут є кілька чудових відповідей, зокрема, відповідь @ damienfrancois дуже лаконічно відображає загальну думку.

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

Я написав фрагмент на цю тему, який детальніше описується з кількома прикладами тут: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/


0

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

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

Вилучення особливостей, як випливає з назви, враховуючи, що мета даних - це знайти основний шаблон. Ця основна закономірність, яка є терміном як ознака, відповідає відповідним даним. Існують різні методології для вилучення функцій, такі як Support Vector Machine (SVM).

Тепер вилучення можливостей має генерувати функції, які повинні бути

  • міцний
  • дискримінаційний
  • оптимальний набір функцій

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

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

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


-3

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


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