Машинне навчання змушує комп'ютери робити те, що роблять люди – вчитися на власному досвіді. Ти самостійно порахуєш, за скільки продати авто, або скільки потрібно текіли для "маргарити" на п'ятьох друзів. Але іноді потрібно обчислювати складніші завдання й врахувати сотні факторів, а люди занадто ледачі, та не все тримають в голові.
Нехай хтось інший подивиться на дані, проаналізує, знайде закономірність і навчиться передбачати відповіді для нас, ледачих. Наприклад, машина. Так, ми можемо її навчити.
Медіа-сайти використовують машинне навчання, щоб рекомендувати конкретну пісню або фільм. Ритейлери – щоб відстежувати нашу з тобою поведінку, як покупців. Ще його використовують в додатках розпізнавання голосу, для впізнавання облич, трейдингу, й навіть в медицині, наприклад – для виявлення пухлин. Одним словом – майже всюди.
Ти хочеш влаштувати вечірку і зробити добре всім?
Хтось їсть м'ясо, хтось – лиш рибу, інші п'ють, але не всі. Одні – ігристе, інші – червоне. Хтось слухає джаз, а хтось – панк-рок. Внутрішній івент менеджер вже з'їхав з глузду. Тут тобі могла б допомогти навчена машина.
"Навчай мене", – сказав комп'ютер
Щоб навчити машину, потрібні три прості (або не прості) речі:
Дані (Data). Тут працює правило: “Чим більше – тим краще”. Звичайно, краще для машини, а не для тебе. Можна забути врахувати чиюсь алергію на морепродукти, чи нелюбов до просеко.
Машині простіше видавати правильний результат, коли вона має багато точних даних. Хочемо розуміти інтереси користувача – потрібні його лайки й пости (привіт, соцмережі й контекстна реклама). Хочемо визначати спам – потрібні приклади спам-листів. Хочемо обрати універсальне меню для вечірки – потрібно врахувати смакові переваги й заборони всіх гостей.
Дані збирають вручну, або автоматично. Найрозумніші компанії використовують для цього нас із тобою. ReCaptcha, коли тебе просять вибрати пальми на зображенні й переконатися, що ти не робот – це воно.
Ще потрібні ознаки (Features). Це описи даних, залежно від мети – пробіг автомобіля, стать користувача, його дієта або улюблений музичний жанр. Машина має знати, на що конкретно їй дивитися. Круто, коли дані – це таблиця, назви колонок і є ознаками (фічами).
І алгоритми (Algorithms). Їх багато, і одну задачу можна вирішити різними методами майже завжди. Вибір алгоритму впливає на точність, швидкість роботи й розмір готової моделі. Потрібно підібрати найвірніший метод.
Важливо розуміти одне – якщо даних замало, або вони не точні, не допоможе навіть найкращий алгоритм. Збирай більше даних.
Машина може передбачити, запам'ятати, відтворити й обрати найкраще. Але не може вийти за рамки завдання й створити щось нове. Наприклад – нагадати, що ти забув запросити Валеру на свою вечірку, якщо його заздалегідь не було у списку запрошених. Але може врахувати, що Валера п'є лише пиво, й не любить помідори.
Види машинного навчання
Ми не планували залазити в хащі й розповімо тільки про класику. Буває, п'яту годину дивишся Youtube через рекомендовані до перегляду ролики – це робить свою справу алгоритм навченого Youtube.
Класичне навчання буває з вчителем (Supervised Learning), і без (Unsupervised Learning).
Розберемося, хто такий вчитель. Метод з ним передбачає, що машина має вчителя, який говорить, як правильно. І що дані заздалегідь розбиті на категорії. Ти показуєш машині фото Валери (все-таки не забуваєш про нього, молодець) і вказуєш, що це хлопець. І фото Альони з позначкою, що вона дівчина.
Без вчителя складніше – ти показуєш фотографії всіх і просиш машину самостійно розібрати запрошених на групи.
З вчителем простіше й точніше
Завдання з вчителем є двох типів: класифікація – розділить всі музичні побажання гостей за жанром і ти складеш оптимальний плейлист (прогноз категорії об'єкта), і регресія – підкаже, коли краще почати вечірку щоб все доїхали без заторів (прогноз місця на числовій прямій).
Класифікація – найпопулярніший метод в машинному навчанні, вона розділяє об'єкти за заздалегідь відомою ознакою: кросівки за брендом, музику за жанром, статті за мовою й рубриками.
Cюди входять такі алгоритми: Наївний баєсів класифікатор, Дерева Рішень, Логістична Регресія, K-найближчим сусідам, Метод Опорних Векторів.
Регресія працює майже так само, як класифікація, тільки з числами замість категорії. Вона добре справляється з завданнями, де є залежність від часу: аналіз попиту і продажів, пробки на дорозі в різний час доби. Якщо зовсім просто – малює лінію вздовж точок, яка в середньому відображає залежність.
Машинне навчання, штучний інтелект і повстання роботів
Коли машина вже знає, як правильно, автоматично з'являється і зворотна сторона – як неправильно. Якщо якась ознака (фіча) не вписується в модель – ти теж можеш це відстежити. Наприклад, в медицині на МРТ.
Чим простіші дані (цифри, таблиці, літери), тим простіші алгоритми. Зображення та обличчя – вже складніше завдання, тут допоможуть нейромережі, власне для чого їх і вигадали.
Важливо розуміти тільки одне, що нейромережі це лише один з видів машинного навчання. А машинне навчання, своєю чергою, лише розділ штучного інтелекту, нехай і один з найважливіших.
Машини вміють багато, але не все. Так що повстання не буде. А якщо це і станеться, то влаштуй прощальну вечірку й не забудь запросити Валеру.