Когда я начал больше увлекаться технологиями и, в первую очередь, машинным обучением, я был настолько поражен всеми терминами и словарным запасом. Глубокое обучение, контролируемое/неконтролируемое обучение, обучение с подкреплением, НЛП, компьютерное зрение и т. д.

Я уверен, что есть и другие, кто не знает, с чего начать, поэтому сегодня я расскажу о самом базовом/начальном этапе понимания машинного обучения. То есть, каковы основные различия между контролируемым и неконтролируемым машинным обучением.

Что такое машинное обучение

Сейчас я не буду вдаваться в подробности (в конце концов, это простой снимок некоторых базовых вещей), но формальное определение машинного обучения таково: «Говорят, что машина учится на опыте E в отношении некоторого задача T и показатель производительности P, если его производительность при выполнении задач T, измеряемая P, улучшается с E »

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

Например, если у нас есть алгоритм, определяющий цену продажи подержанного автомобиля, мы можем классифицировать P, T и E.

T(ask) — будет определять стоимость автомобиля на основе входных данных.

P(показатель эффективности) — насколько точны ваши прогнозы.

E(опыт) – было бы хорошо, опыт прогнозирования цены, по которой будет продан ваш подержанный автомобиль.

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

Итак, теперь давайте поговорим о двух основных формах машинного обучения: контролируемом и неконтролируемом.

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

Обучение с учителем — это обучение, при котором мы даем правильные ответы на некоторые данные. Мы знаем выход для заданных входов

Если бы я хотел, чтобы мой алгоритм сообщал мне цену моей машины на основе ее пробега, и я мог бы дать алгоритму пробег некоторых подержанных автомобилей и цены, по которым они были проданы, это была бы задача обучения с учителем.

Другим примером может быть, если бы я хотел, чтобы мой алгоритм сообщал мне, зарабатывает ли человек более 100 тысяч в год на основе лет послесреднего образования. Если я передам своему алгоритму данные о количестве лет послесреднего образования и о том, зарабатывает ли человек более 100 тысяч в год (будет вывод «да» или «нет»), тогда это станет проблемой контролируемого обучения.

В контролируемом обучении мы подразделяемся на 2 категории: проблемы регрессии и классификации.

Регрессионные проблемы — это проблемы, имеющие некую непрерывную функцию. Цена как функция пробега является непрерывной функцией, поэтому пример с автомобилем будет проблемой регрессии.

Проблемы с классификацией будут заключаться в разделении входных данных на дискретные результаты. Определение того, зарабатывает ли человек более 100 тысяч в год, будет проблемой классификации, поскольку я классифицирую входные данные как «да» (метка 1) или «нет» (метка 0).

Что такое обучение без учителя?

Теперь не всегда будут помеченные данные, которые мы можем передать алгоритмам (то есть данные, которые имеют правильный вывод, который мы знаем), и иногда ученые/исследователи задают алгоритму вопросы, которых они не знают. ответ на.

Это подводит нас к обучению без учителя. При неконтролируемом обучении модель получает данные без правильных выходных данных. Данные будут только в виде входных данных, и задача модели, по сути, состоит в том, чтобы найти закономерности. Цель состоит в том, чтобы исследовать данные и найти в них некоторую структуру.

В рамках неконтролируемого обучения я собираюсь поговорить о проблемах кластеризации и ассоциации.

Кластеризация связана с поиском структуры и закономерностей в данных, а также с поиском естественных «кластеров» или групп в ваших данных (если они существуют).

Образно говоря, скажем, у меня есть куча яблок. Я мог найти закономерности и категории этих яблок, такие как цвет или кислинка/сладость. Это будет пример кластеризации

Ассоциация — это когда вы устанавливаете отношения или ассоциации между объектами данных внутри больших баз данных. Этот неконтролируемый метод предназначен для обнаружения захватывающих отношений между переменными в больших базах данных.

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

Я не собираюсь вдаваться в подробности того, как алгоритмы «обучаются» сами по себе, но я приведу отличный курс Эндрю Нг по машинному обучению, если вы хотите узнать больше.



Надеюсь, сегодня вы узнали основные различия между контролируемым и неконтролируемым машинным обучением, спасибо за чтение!