Найпростіший приклад, який використовується для ілюстрації, - це проблема XOR (див. Зображення нижче). Уявіть, що вам дано дані, що містять координати і y та двійковий клас для прогнозування. Ви можете очікувати, що ваш алгоритм машинного навчання сам з’ясує правильну межу рішення, але якщо ви створили додаткову функцію z = x y , проблема стає тривіальною, оскільки z > 0 дає вам майже ідеальний критерій рішення для класифікації, і ви використовували просто простий арифметичні!xyz=xyz>0
Тож, хоча у багатьох випадках можна було очікувати від алгоритму, щоб знайти рішення, або, за допомогою інженерних функцій, ви могли б спростити проблему. Прості проблеми легше і швидше вирішити, і потрібні менш складні алгоритми. Прості алгоритми часто більш надійні, результати часто більш інтерпретаційні, вони більш масштабовані (менше обчислювальних ресурсів, часу на підготовку тощо) та портативні. Ви можете знайти більше прикладів та пояснень у чудовій розмові Вінсента Д. Вармердама, викладеній на конференції PyData в Лондоні .
Крім того, не вірте всьому, що вам говорять маркетологи машинного навчання. У більшості випадків алгоритми не «навчаються самі». Зазвичай у вас обмежений час, ресурси, обчислювальна потужність, і дані зазвичай мають обмежений розмір і шумно, і це нічим не допомагає.
Вважаючи це крайнім, ви можете надати свої дані у вигляді фотографій рукописних заміток результату експерименту та передати їх у складну нейронну мережу. Спочатку він навчиться розпізнавати дані на картинках, потім навчиться їх розуміти та робити прогнози. Для цього тобі знадобиться потужний комп’ютер і багато часу для навчання та налаштування моделі та потрібні величезні обсяги даних через використання складних нейронних мереж. Надання даних у читаному для комп'ютера форматі (у вигляді таблиць чисел) надзвичайно спрощує проблему, оскільки вам не потрібно все розпізнавання символів. Ви можете розглядати функцію інженерії як наступний крок, де ви трансформуєте дані таким чином, щоб створити змістовнеособливостей, так що алгоритм має ще менше розібратися самостійно. Щоб зробити аналогію, це так, як ви хотіли прочитати книгу іноземною мовою, так що вам спочатку потрібно було вивчити мову, а не читати її перекладеною мовою, яку ви розумієте.
У прикладі даних "Титанік" ваш алгоритм повинен був би визначити, що підсумовувати членів сім'ї має сенс, щоб отримати функцію "розмір сім'ї" (так, я це персоналізую тут). Це очевидна риса для людини, але це не очевидно, якщо ви бачите дані як лише деякі стовпці цифр. Якщо ви не знаєте, які стовпці мають значення, якщо розглядати їх разом з іншими стовпцями, алгоритм може це визначити, спробувавши кожну можливу комбінацію таких стовпців. Звичайно, у нас є розумні способи зробити це, але все-таки набагато простіше, якщо інформація буде подана в алгоритм відразу.