Що таке машинне навчання

Машинне навчання (Machine learning, ML) – звід методів в області штучного інтелекту, набір алгоритмів, які застосовують, щоб створити машину, яка вчиться на власному досвіді. В якості навчання машина обробляє величезні масиви вхідних даних і знаходить у них закономірності.

Не варто плутати поняття Data science і Machine learning. Ці інструменти багато в чому перетинаються, але все ж вони різні і кожен зі своїми завданнями. Також у цій статті ми раз і назавжди розберемося як не змішувати в одну купу машинне навчання, штучний інтелект і нейромережі.

Штучний інтелект (Artificial intelligence, AI) – різні технологічні та наукові рішення і методи, які допомагають зробити програми за подобою інтелекту людини. Artificial intelligence включає в себе безліч інструментів, алгоритмів і систем, серед яких також усі складові Data science і Machine learning.

Разница между AI, ML, NN

Data science - наука про методи аналізу даних і вилучення з них цінної інформації та знань. Вона перетинається з такими галузями як машинне навчання і наука про мислення (Cognitive Science), а також із технологіями для роботи з великими масивами даних (Big Data). Результатом роботи Data science є проаналізовані дані і знаходження правильного підходу для подальшої обробки, сортування, вибірки, пошуку даних.

data science

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

Машинне навчання або Machine learning – один з розділів AI, алгоритми, що дозволяють комп'ютеру робити висновки на підставі даних, не слідуючи жорстко заданим правилами. Тобто машина може знайти закономірність у складних і багато-параметричних завданнях (які мозок людини не здатен вирішити), таким чином знаходячи більш точні відповіді. Як результат – вірне прогнозування.


machine learning


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


neural network

Мета машинного навчання і сфери його застосування

Ціль машинного навчання - частково або й повністю автоматизувати рішення різних складних аналітичних задач.

Тому в першу чергу машинне навчання покликане давати максимально точні прогнози на підставі вступних даних, щоб власники бізнесів, маркетологи і співробітники могли приймати правильні рішення в своїй роботі. В результаті навчання машина може передбачати результат, запам'ятовувати його, відтворювати за необхідності, вибирати кращий із декількох варіантів.

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


Що потрібно для якісного машинного навчання

Машинне навчання будується на трьох китах і максимально ефективній взаємодії з замовником:

данные, признаки, алгоритмы

А) дані – базова інформація, надати яку ми зазвичай просимо клієнта. Сюди входять будь-які вибірки даних, роботі з якими потрібно навчити систему;

Б) ознаки – ця частина роботи проводиться в тісній співпраці з клієнтом. Ми визначаємо ключові бізнес-потреби і спільно вирішуємо які саме характеристики та властивості повинна відстежувати система в результаті навчання;

В) алгоритм – вибір методу для вирішення поставленого бізнес-завдання. Це завдання ми вирішуємо без участі клієнта, силами наших співробітників.

Дані (Data)

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

Наприклад, щоб навчити пошту відфільтровувати спам від важливих листів, необхідні приклади. І чим більша їх вибірка, тим краще. Таким чином система вчиться сприймати конкретні слова – «Купити», «Додатковий дохід», «Заробляй вдома», «Гроші», «Кредит», «Збільшення потенції» – як ознаки спаму і відправляти такі листи в окрему папку.

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

Найскладніша і водночас найбільш об'ємна частина роботи – збір цих самих даних. Існує два методи збору даних: вручну і автоматично. Ручний метод набагато повільніший, але при цьому точний. Автоматичний же набагато швидший, але при цьому допускає більшу кількість помилок.

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


Ознаки ( властивості, метрики, фічі, характеристики, features)

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

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

Приклад датасета, складеного за ознаками: https://github.com/php-ai/php-ml/blob/master/data/wine.csv

Ці дані є результатами хімічного аналізу вин, вирощених в одному регіоні в Італії, але отриманих із трьох різних сортів. Аналіз визначив 13 компонентів, знайдених у кожному з трьох типів вин. Саме виходячи з компонентів вина можна визначити його клас.


Алгоритм (Algorithm)

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

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

Основні види машинного навчання

У даній статті ми коротко розглянемо основні види машинного навчання, в подальшому присвятивши кожному з них окремий розгорнутий матеріал.

Виды машинного обучения

За ознакою наявності вчителя, навчання ділиться на навчання з учителем (Supervised Learning), без вчителя (Unsupervised Learning) та з підкріпленням (Reinforcement Learning).

- Навчання з учителем застосовують коли потрібно навчити машину розпізнавати об'єкти або сигнали. Загальний принцип навчання з учителем це "дивись, ось це двері, і це теж двері і ось це теж двері"

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

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

За типом застосовуваних алгоритмів можна виділити два види:

А) класичне навчання - відомі і добре вивчені алгоритми навчання, розроблені в основному більше 50-ти років тому для статистичних бюро. Підходить в першу чергу під завдання роботи з даними - класифікація, кластеризація, регресія і т.п. Застосовують для прогнозування, сегментації клієнтів і так далі.

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

Кілька підходів можна об'єднати і тоді вийдуть ансамблі моделей .

Головна користь від машинного навчання

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

Іншими словами, якісний аналіз характеристик машинами підкаже куди варто направити більше зусиль для залучення клієнтів, а завдання людей – продумати стратегію для цих зусиль. Хочете дізнатися як максимально використовувати можливості машинного навчання і Artificial Intelligence в цілому для вирішення ваших бізнес-завдань? Зв'яжіться з нами, підкажемо варіант, найбільш відповідний вашому бізнесу.

11.01.2019
Рейтинг: 5 / 5 (3)