Основи ШІ

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

mm

Машинне навчання – одна з найшвидше зростаючих технологічних галузей, але незважаючи на те, як часто слова “машинне навчання” використовуються, може бути складно зрозуміти, що таке машинне навчання саме по собі.

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

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

Хоча термін машинне навчання можна застосувати до багатьох різних речей, загалом, термін відноситься до надання комп’ютеру можливості виконувати завдання без отримання явних інструкцій ряд за рядком. Спеціаліст з машинного навчання не повинен записувати всі кроки, необхідні для вирішення проблеми, оскільки комп’ютер здатний “вчитися” шляхом аналізу закономірностей у даних і узагальнення цих закономірностей до нових даних.

Системи машинного навчання мають три основні частини:

  • Вхідні дані
  • Алгоритми
  • Вихідні дані

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

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

Некероване проти керованого навчання

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

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

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

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

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

Типи керованого навчання

Поширені алгоритми керованого навчання включають:

  • Наївний Баєс
  • Машини опорних векторів
  • Логістична регресія
  • Випадкові ліси
  • Штучні нейронні мережі

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

Логістична регресія – це алгоритм, використовуваний у завданнях бінарної класифікації, коли дані точки потрібно класифікувати як належачі до одного з двох класів. Логістична регресія працює шляхом маркування даних точки або 1, або 0. Якщо сприйняте значення даних точки становить 0,49 або нижче, воно класифікується як 0, тоді як якщо воно становить 0,5 або вище, воно класифікується як 1.

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

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

Класифікатор наївного Баєса обчислює ймовірність того, що дані точка відбулися на основі ймовірності попередньої події. Він заснований на теоремі Баєса і класифікує дані точки в класи на основі їх розрахованої ймовірності. При реалізації класифікатора наївного Баєса припускається, що всі передбачувані змінні мають однаковий вплив на результат класу.

Штучна нейронна мережа, або багатошаровий перцептрон, – це алгоритми машинного навчання, які надихаються структурою і функцією людського мозку. Штучні нейронні мережі отримують свою назву від того, що вони складаються з багатьох вузлів/нейронів, пов’язаних разом. Кожен нейрон маніпулює даними за допомогою математичної функції. У штучних нейронних мережах є входові шари, приховані шари і вихідні шари.

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

Типи некерованого навчання

Алгоритми некерованого навчання включають:

  • Кластеризація k-середніх
  • Автокодери
  • Аналіз головних компонентів

Кластеризація k-середніх – це техніка некерованої класифікації, і вона працює шляхом розділення точок даних на кластери або групи на основі їх ознак. Кластеризація k-середніх аналізує ознаки, знайдені в даних точках, і розрізняє закономірності в них, які роблять дані точки, знайдені в даному класі кластера, більш схожими один на одного, ніж на точки в інших кластерах. Це досягається шляхом розміщення можливих центрів кластера, або центроїдів, на графіку даних і повторної зміни положення центроїда, поки не буде знайдено положення, яке мінімізує відстань між центроїдом і точками, які належать до цього центроїда. Дослідник може вказати бажану кількість кластерів.

Аналіз головних компонентів – це техніка, яка зменшує велику кількість ознак/змінних до меншого простору ознак/менших змінних. “Головні компоненти” даних точок вибираються для збереження, тоді як інші ознаки стискаються в менший масштаб. Відношення між оригінальними даними частинами зберігається, але оскільки складність даних менша, дані легше кількісно оцінити і описати.

Автокодери – це варіанти нейронних мереж, які можна застосувати до завдань некерованого навчання. Автокодери здатні брати неозначені, вільні дані і перетворювати їх у дані, які нейронна мережа здатна використовувати, фактично створюючи自己的 навчальні дані. Метою автокодера є перетворення вхідних даних і відновлення їх якомога точно, тому це в інтересах мережі визначити, які ознаки найважливіші і витягнути їх.

Блогер і програміст з спеціалізацією у темах Machine Learning і Deep Learning. Даніель сподівається допомогти іншим використовувати силу штучного інтелекту для соціальної добробути.