Semi-supervised Learning

Оновлено: 31.07.2023

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

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

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

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

  • Ви можете використовувати напівкероване навчання для часткової автоматизації процесу маркування даних.
.

Навчання під наглядом, без нагляду та напів-наглядом

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

Застосування напівкерованого навчання

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

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

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

  • Ви повинні вказати, на скільки кластерів ви хочете розділити дані при навчанні моделі k-середніх. Для моделі машинного навчання k-середніх кількість кластерів має бути більшою, ніж кількість класів.
.

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

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

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

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

Висновок

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

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

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

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