Машинне навчання (Machine learning, ML) – звід методів в області штучного інтелекту, набір алгоритмів, які застосовують, щоб створити машину, яка вчиться на власному досвіді. В якості навчання машина обробляє величезні масиви вхідних даних і знаходить у них закономірності.
Не варто плутати поняття Data science і Machine learning. Ці інструменти багато в чому перетинаються, але все ж вони різні і кожен зі своїми завданнями. Також у цій статті ми раз і назавжди розберемося, як не змішувати в одну купу машинне навчання, штучний інтелект і нейромережі.
Штучний інтелект (Artificial intelligence, AI) – різні технологічні та наукові рішення і методи, які допомагають зробити програми за подобою інтелекту людини. Artificial intelligence охоплює безліч інструментів, алгоритмів і систем, серед яких також усі складові Data science і Machine learning.
Data science - наука про методи аналізу даних і вилучення з них цінної інформації та знань. Вона перетинається з такими галузями як машинне навчання і наука про мислення (Cognitive Science), а також із технологіями для роботи з великими масивами даних (Big Data). Результатом роботи Data science є проаналізовані дані і знаходження правильного підходу для подальшої обробки, сортування, вибірки, пошуку даних.
Наприклад, є незв'язні дані про фінансові операції витрат підприємства і дані контрагентів. Між собою ці дані пов'язані виключно через проміжні банківські дані або дати і час операцій. В результаті глибокого машинного аналізу можна через проміжні дані з'ясувати, який контрагент є найбільш витратним.
Машинне навчання або Machine learning – один з розділів AI, алгоритми, що дозволяють комп'ютеру робити висновки на підставі даних, не слідуючи жорстко заданим правилами. Тобто машина може знайти закономірність у складних і багато-параметричних завданнях (які мозок людини не здатен вирішити), таким чином знаходячи більш точні відповіді. Як результат – правильне прогнозування.
Нейронна мережа за допомогою штучних нейронів моделює роботу людського мозку (нейронів), що вирішує певне завдання, самонавчається з урахуванням попереднього досвіду. І з кожним разом робить усе менше помилок. Нейромережі є одним із видів машинного навчання, а не окремим інструментом.
Ціль машинного навчання - частково або й повністю автоматизувати рішення різних складних аналітичних задач.
Тому, насамперед, машинне навчання покликане давати максимально точні прогнози на підставі вступних даних, щоб власники бізнесів, маркетологи і співробітники могли приймати правильні рішення в своїй роботі. В результаті навчання машина може передбачати результат, запам'ятовувати його, відтворювати за необхідності, вибирати кращий із декількох варіантів.
На даний момент машинне навчання охоплює широкий спектр додатків від банків, ресторанів, заправок до роботів на виробництві. Нові завдання, що виникають практично щодня, призводять до появи нових напрямків машинного навчання.
Машинне навчання будується на трьох китах і максимально ефективній взаємодії з замовником:
А) дані – базова інформація, надати яку ми зазвичай просимо клієнта. Сюди входять будь-які вибірки даних, роботі з якими потрібно навчити систему;
Б) ознаки – ця частина роботи проводиться в тісній співпраці з клієнтом. Ми визначаємо ключові бізнес-потреби і спільно вирішуємо, які саме характеристики та властивості повинна відстежувати система в результаті навчання;
В) алгоритм – вибір методу для вирішення поставленого бізнес-завдання. Це завдання ми вирішуємо без участі клієнта, силами наших співробітників.
Чим більше даних завантажити в систему, тим краще, швидше і точніше вона працюватиме. Самі дані безпосередньо залежать від завдання, яке стоїть перед машиною.
Наприклад, щоб навчити пошту відфільтровувати спам від важливих листів, необхідні приклади. І чим більша їх вибірка, тим краще. Таким чином система вчиться сприймати конкретні слова – «Купити», «Додатковий дохід», «Заробляй вдома», «Гроші», «Кредит», «Збільшення потенції» – як ознаки спаму і відправляти такі листи в окрему папку.
Вхідні дані для інших завдань будуть іншими. Щоб радити покупцеві товари, які можуть його зацікавити, потрібна історія здійснених ним покупок. Щоб передбачити зміну цін на ринку, потрібна історія цін.
Найскладніша і водночас найбільш об'ємна частина роботи – збір цих самих даних. Існує два методи збору даних: вручну і автоматично. Ручний метод набагато повільніший, але при цьому точний. Автоматичний же набагато швидший, але при цьому допускає більшу кількість помилок.
Хороша вибірка даних дорогого коштує, адже саме вона відповідає за точність прогнозування, яку ви отримаєте в результаті. Дуже важливо не обмежувати збір даних людським мисленням, а надавати максимум розрізненної інформації, оскільки машина може побачити користь і взаємозв'язки там, де людина їх не помітить.
До властивостей належать ті характеристики, від яких безпосередньо залежить вихідний результат. Наприклад, у випадку з автомобілем такими фічами будуть пробіг, кількість циліндрів, максимально можлива швидкість. У випадку з покупцем: вік, стать, освіта, рівень доходу і т.д. У випадку з тваринами: порода, зріст, довжина від кінчика хвоста до носа, масть.
Всі характеристики, розбиті на конкретні колонки, і є тими властивостями, які машини використовують для видачі результату. Оскільки правильність характеристик безпосередньо впливає на результат, який ви отримаєте, їх відбір займає набагато більше часу, ніж сам процес машинного навчання. Тут головне - не обмежувати набір характеристик, виходячи з особистої думки, щоб не спотворити машинне сприйняття. А разом із ним і кінцевий результат.
Приклад датасета, складеного за ознаками: https://github.com/php-ai/php-ml/blob/master/data/wine.csv
Ці дані є результатами хімічного аналізу вин, вирощених в одному регіоні в Італії, але отриманих із трьох різних сортів. Аналіз визначив 13 компонентів, знайдених у кожному з трьох типів вин. Саме виходячи з компонентів вина можна визначити його клас.
Система послідовних операцій для вирішення певної задачі. Іншими словами – метод вирішення. Під кожну конкретну задачу можна підібрати окремий витончений алгоритм. Саме від обраного методу безпосередньо залежить швидкість і точність результату обробки вхідних даних.
Бувають випадки, коли навіть ідеально написані алгоритми не допомагають вирішувати поставлені бізнес-завдання. Наприклад, якщо ви хочете збільшити кількість крос-продажів на сайті та впевнені, що для цього потрібно просто поліпшити алгоритм рекомендації товарів. Але при цьому не знаєте, що ваші клієнти приходять за прямими посиланнями з пошуку і ігнорують поради щодо купівлі інших товарів, показані на сайті. Тому, перш ніж починати роботу, ми визначаємо реальну причину проблеми клієнта. І якщо вона технічна, із задоволенням допомагає розв'язати цю проблему.
У даній статті ми коротко розглянемо основні види машинного навчання, в подальшому присвятивши кожному з них окремий розгорнутий матеріал.
За ознакою наявності вчителя, навчання ділиться на навчання з учителем (Supervised Learning), без вчителя (Unsupervised Learning) та з підкріпленням (Reinforcement Learning).
- Навчання з учителем застосовують коли потрібно навчити машину розпізнавати об'єкти або сигнали. Загальний принцип навчання з учителем це "дивись, ось це двері і це теж двері, і ось це теж двері"
- Навчання без вчителя використовує принцип "ця річ така ж як інші". Алгоритми вивчають подібності і можуть виявити відмінність і виконати виявлення аномалій, розпізнаючи, що є незвичайним або несхожим.
- Навчання з підкріпленням використовують там, де перед машиною стоїть завдання - правильно виконати поставлені завдання у зовнішньому середовищі маючи безліч можливих варіантів дії Наприклад в комп'ютерних іграх, трейдингових операціях, для безпілотної техніки.
За типом застосовуваних алгоритмів можна виділити два види:
А) класичне навчання - відомі і добре вивчені алгоритми навчання, розроблені в основному більше 50-ти років тому для статистичних бюро. Підходить, насамперед, під завдання роботи з даними: класифікація, кластеризація, регресія і т.п. Застосовують для прогнозування, сегментації клієнтів і так далі.
Б) нейронні мережі і глибоке навчання - найбільш сучасний підхід до машинного навчання. Нейронні мережі застосовуються там, де потрібні розпізнавання або генерація зображень і відео, складні алгоритми управління або прийняття рішень, машинний переклад і подібні складні завдання.
Кілька підходів можна об'єднати і тоді вийдуть ансамблі моделей .
При вмілому підході, комбінуючи різні види машинного навчання, можна домогтися автоматизації всіх рутинних бізнес-процесів. Іншими словами, роботи, підготовлені за допомогою машинного навчання, можуть виконувати всю рутинну роботу. Людям же залишається вся творча частина: складання стратегій, ведення переговорів, укладення договорів та інше. Це важливий фактор, оскільки машина не може вийти за задані їй рамки, а людський мозок вміє мислити непересічно.
Іншими словами, якісний аналіз характеристик машинами підкаже, куди варто скерувати більше зусиль для залучення клієнтів, а завдання людей – продумати стратегію для цих зусиль. Хочете дізнатися, як максимально використовувати можливості машинного навчання і Artificial Intelligence в цілому для вирішення ваших бізнес-завдань? Зв'яжіться з нами, підкажемо варіант, найбільш відповідний вашому бізнесу.