И контролируемое, и неконтролируемое обучение являются формами машинного обучения, поэтому сначала давайте поговорим об основах машинного обучения. Согласно Geeks for Geeks, машинное обучение — это: «Машинное обучение — это область исследования, которая дает компьютерам возможность учиться без явного программирования. ML — одна из самых захватывающих технологий, с которыми когда-либо приходилось сталкиваться. Как видно из названия, это дает компьютеру то, что делает его более похожим на человека: Способность к обучению. Сегодня машинное обучение активно используется, возможно, во многих других областях, чем можно было бы ожидать.». Машинное обучение — отличный способ принимать бизнес-решения без предубеждений со стороны человека (однако даже данные могут быть предвзятыми, но это совсем другая история для другой день). Алгоритмы машинного обучения имеют возможность просматривать наборы данных и находить тенденции, которые позволяют им делать прогнозы на основе данных, которые они еще не видели. Это поможет предприятиям и правительствам улучшить их способность принимать решения во многих различных сценариях и даст им конкурентное преимущество.

Контролируемое обучение

Название «Контролируемый» неспроста. Обучение с учителем требует некоторого наблюдения за тем, что происходит. Для этого требуется полный набор помеченных данных, требуется цель (также помеченная), и модель необходимо обучить. Это означает, что вам нужны полные данные. Например, в моем проекте Фазы 2 со школой Flatiron мы создали модели линейной регрессии для прогнозирования цен на дома в округе Кинг, штат Вашингтон. У нас были такие столбцы, как цена (наша цель), количество спален, количество ванных комнат, квадратные футы жилой площади, вид, класс, состояние и многие другие столбцы. После очистки данных мы запустили тепловую карту, чтобы увидеть, насколько коррелированы функции, и посмотреть, нужно ли удалить какие-либо столбцы, чтобы избежать проблем с мультиколлинеарностью. Это была основная проблема контролируемого обучения. У всех наших столбцов были метки, поэтому мы смогли запустить тепловую карту и понять взаимосвязь между ценой и жилой площадью, ценой и количеством спален и т. д. еще до того, как начали создавать модели. У нас было более 20 000 точек данных, и каждая точка данных имела эти метки и включала нашу целевую цену. У нашей модели были контрольные точки, истина в наших данных, поэтому наше моделирование сводилось к поиску наиболее полезных функций. Вот как работает обучение с учителем: у вас есть основная истина, на которой обучается ваша модель, и у вас есть красивые данные, где все столбцы помечены (хотя данные все равно нужно очистить). Обучение с учителем лучше всего подходит для задач регрессии или классификации.

Неконтролируемое обучение

Обучение без учителя, как я уверен, вы уже догадались, противоположно обучению с учителем. Неконтролируемое обучение используется для данных, которые не имеют меток, и данные не имеют оснований. Это означает, что у нас есть куча данных, но для нас они практически бесполезны. В примере из моего проекта Фазы 2 у нас было более 20 столбцов размеченных данных. После того, как мы запустили нашу тепловую карту, до запуска нашей первой модели, у нас было довольно приличное представление о том, какие функции будут наиболее важными для нашей модели. По сути, мы давали нашей модели правильный ответ и позволяли модели использовать все данные, которые мы ей показали (включая правильный ответ, нашу цель), чтобы делать прогнозы на основе данных, которых она раньше не видела. Все это невозможно при обучении без учителя. У нас нет маркированных столбцов, поэтому мы не знаем, какие функции будут наиболее важными. Мы даже не знаем, какова наша цель, когда нам нужно использовать обучение без учителя.

Так что я уверен, что к настоящему моменту вы спрашиваете себя: «Ну и что же делает обучение без учителя?!?»

Проще говоря, неконтролируемое обучение использует разные алгоритмы для кластеризации наших данных, используя скрытые шаблоны, которые оно может найти в данных. Цель неконтролируемого обучения состоит в том, чтобы получить представление о больших объемах новых данных. Неконтролируемое обучение используется для рекомендательных систем (например, потоковых сервисов или онлайн-рекламы), для группировки поведения клиентов, уменьшения размерности, кластеризации, обнаружения аномалий и анализа ассоциаций. Неконтролируемое обучение будет использоваться для самых сложных задач. Однако из-за отсутствия достоверной информации, на которой можно было бы протестировать вашу модель, трудно понять, насколько она точна.