Конструювання ознак

Конструюва́ння озна́к (англ. feature engineering) — це процес застосування знань предметної галузі для створення ознак, які забезпечують роботу алгоритмів машинного навчання. Конструювання ознак є фундаментальним для застосування машинного навчання, і є як складним, так і витратним. Потребу в ручному конструюванні ознак можливо усувати автоматизованим навчанням ознак.

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

Підходити до ознак складно, витратно за часом, вимагає експертних знань. «Прикладне машинне навчання» є в основному конструюванням ознак.
Оригінальний текст (англ.)
Coming up with features is difficult, time-consuming, requires expert knowledge. "Applied machine learning" is basically feature engineering.
 Ендрю Ин, Machine Learning and AI via Brain simulations[1]

Ознаки

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

Призначенням ознаки, на відміну від того, щоби бути просто атрибутом, є набагато легше розуміння контексту задачі. Ознака є характеристикою, яка може допомогти при розв'язуванні задачі.[2]

Важливість

Ознаки є важливими для передбачувальних моделей, і впливають на результати.[3]

Ви можете сказати, що чим кращими є ознаки, тим кращим буде результат. Це не зовсім вірно, оскільки отримувані результати також залежать від моделі та даних, а не лише від обраних ознак. Проте обрання правильних ознак все одно є дуже важливим. Кращі ознаки можуть продукувати простіші та гнучкіші моделі, і вони часто дають кращі результати.[2]

Алгоритми, що ми застосовували, є цілком стандартними для кеґлерів… Ми витратили більшість своїх зусиль на розробку ознак… Ми також були дуже обережними у скасуванні ознак, що могли піддати нас ризику перенавчання нашої моделі.
Оригінальний текст (англ.)
The algorithms we used are very standard for Kagglers. […] We spent most of our efforts in feature engineering. [...] We were also very careful to discard features likely to expose us to the risk of over-fitting our model.
 Xavier Conort, Q&A with Xavier Conort[4]
… деякі проекти машинного навчання досягають успіху, а деякі зазнають невдачі. В чому різниця? Просто найважливішим чинником є використані ознаки.
Оригінальний текст (англ.)
…some machine learning projects succeed and some fail. What makes the difference? Easily the most important factor is the features used.
 Pedro Domingos, A Few Useful Things to Know about Machine Learning[5]

Процес

Процес конструювання ознак:[6]

  • Наштурмовування або тестування ознак[7];
  • Ухвалення рішення про те, які ознаки створювати;
  • Створення ознак;
  • Перевірка, як ці ознаки працюють з вашою моделлю;
  • Покращення ознак у разі потреби;
  • Повернення до мозкового штурму/створення ще ознак, поки роботу не буде зроблено.

Доречність

Ознака вона може бути сильно доречною (тобто, ця ознака має інформацію, що не існує в жодній іншій ознаці), доречною, слабко доречною (деякою інформацією, що включають інші ознаки), або недоречною.[8] Навіть якщо деякі з ознак і є недоречними, мати забагато краще, ніж упустити важливі. Для запобігання перенавчанню можливо застосовувати обирання ознак.[9]

Вибух ознак

Поєднанням ознак або шаблонами ознак, обидва з яких ведуть до швидкого зростання загальної кількості ознак, може бути спричинено вибух ознак (англ. feature explosion).

  • Шаблони ознак — реалізація шаблонів ознак замість кодування нових ознак
  • Поєднання ознак — поєднання, що не може бути представлено лінійною системою

Вибух ознак можливо зупиняти такими методиками як регуляризація, ядровий метод, обирання ознак.[10]

Автоматизування

Автоматизування конструювання ознак є передовою темою досліджень. 2015 року дослідники з МТІ представили алгоритм глибинного синтезу ознак (англ. Deep Feature Synthesis algorithm) та показали його дієвість в інтерактивних змаганнях з науки про дані, де він побив 615 з 906 людських команд.[11][12] Глибинний синтез ознак є доступним як відкрита бібліотека, звана Featuretools.[13] За цією працею послідували інші дослідження, включно з OneBM IBM[14] та ExploreKit Берклі.[15] Ці дослідники в IBM заявили, що автоматизування конструювання ознак «допомагає науковцям з даних знижувати час на дослідження даних, даючи їм можливість пробувати методом спроб і помилок багато ідей за короткий час. З іншого боку, воно дає можливість не-експертам, що не знайомі з наукою про дані, швидко виділяти цінність з їхніх даних із невеликими зусиллями, часом та витратами». Автоматичне конструювання ознак дозволяє робити теорема вбудовування Бургена.[16]

Див. також

Примітки

  1. Machine Learning and AI via Brain simulations. Stanford University. Процитовано 1 серпня 2019. (англ.)
  2. Discover Feature Engineering, How to Engineer Features and How to Get Good at It - Machine Learning Mastery. Machine Learning Mastery. Процитовано 11 листопада 2015. (англ.)
  3. Feature Engineering: How to transform variables and create new ones?. Analytics Vidhya. 12 березня 2015. Процитовано 12 листопада 2015. (англ.)
  4. Q&A with Xavier Conort. kaggle.com. 10 квітня 2013. Процитовано 12 листопада 2015. (англ.)
  5. Domingos, Pedro (1 жовтня 2012). A few useful things to know about machine learning. Communications of the ACM (англ.) 55 (10): 78–87. doi:10.1145/2347736.2347755. (англ.)
  6. Big Data: Week 3 Video 3 - Feature Engineering. youtube.com. (англ.)
  7. Jalal, Ahmed Adeeb (1 січня 2018). Big data and intelligent software systems. International Journal of Knowledge-based and Intelligent Engineering Systems 22 (3): 177–193. doi:10.3233/KES-180383 через content.iospress.com. (англ.)
  8. Feature Engineering. 22 квітня 2010. Процитовано 12 листопада 2015. (англ.)
  9. Feature engineering and selection. Alexandre Bouchard-Côté. 1 жовтня 2009. Процитовано 12 листопада 2015. (англ.)
  10. Feature engineering in Machine Learning. Zdenek Zabokrtsky. Архів оригіналу за 4 березня 2016. Процитовано 12 листопада 2015. (англ.)
  11. Automating big-data analysis. (англ.)
  12. Deep Feature Synthesis: Towards Automating Data Science Endeavors. (англ.)
  13. Featuretools | An open source framework for automated feature engineering Quick Start. www.featuretools.com. Процитовано 22 серпня 2019. (англ.)
  14. One button machine for automating feature engineering in relational databases. (англ.)
  15. ExploreKit: Automatic Feature Generation and Selection. (англ.)
  16. Orges Leka. Automatic Feature Engineering for Data Science. orges-leka.de. Процитовано 29 вересня 2019. (англ.)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.