Как работает машинное обучение — простое руководство
Опубликовано: 2019-07-31Netflix и Amazon отлично справились со своей задачей — кажется, они всегда знают, какой контент или продукт вы хотели бы увидеть/купить. Разве вам не нравится видеть все, что уже подобрано по вашему вкусу и предпочтениям?
Хотя большинству из нас известен секрет изящного механизма рекомендаций Netflix и Amazon (конечно, машинного обучения!), сколько из нас знакомы с внутренними механизмами машинного обучения?
Проще говоря, как работает машинное обучение ?
По сути, машинное обучение — это метод анализа данных (подмножество ИИ), целью которого является «учиться» на опыте и позволять машинам выполнять задачи, требующие интеллекта. Алгоритмы машинного обучения применяют вычислительные методы для извлечения информации и обучения непосредственно из данных без явного программирования для этого (без необходимости зависеть от заранее определенного уравнения).
Анатомия систем машинного обучения
Все системы машинного обучения можно разделить на три части:

- Модель — компонент, который занимается идентификациями, то есть прогнозами.
- Параметры — относится к факторам, используемым моделью для принятия решений (прогнозов).
- Ученик — компонент, который корректирует параметры (и модель в целом) с учетом различий в прогнозах по сравнению с фактическим результатом.
Типы машинного обучения
Теперь, когда вы знакомы с основными компонентами систем машинного обучения, пришло время взглянуть на различные способы их «обучения».
Контролируемое обучение
В контролируемом обучении модель явно обучается тому, как сопоставлять входные данные с выходными. Алгоритм контролируемого обучения берет распознанный набор входных данных вместе с известными ответами (выходными данными) на эти данные и обучает модель генерировать разумные прогнозы в ответ на новые входные данные.
Обучение с учителем использует два подхода для разработки прогностических моделей:
- Классификация . Как следует из названия, этот метод классифицирует входные данные по разным категориям, маркируя их. Он используется для прогнозирования дискретных ответов (например, является ли раковая клетка доброкачественной или злокачественной). Медицинская визуализация, распознавание речи и кредитный скоринг — три популярных варианта использования классификации.
- Регрессия . Этот метод используется для прогнозирования непрерывных ответов путем выявления закономерностей во входных данных. Например, колебания температуры или погоды. Регрессия используется для прогнозирования погоды, нагрузки на электроэнергию и алгоритмической торговли.
Неконтролируемое обучение
Подход неконтролируемого обучения использует неразмеченные данные и пытается раскрыть скрытые в них закономерности. Таким образом, метод делает выводы из наборов данных, состоящих из входных данных, лишенных помеченных ответов.
- Кластеризация . Один из наиболее распространенных методов обучения без учителя. Кластеризация представляет собой метод исследовательского анализа данных, который классифицирует данные по «кластерам» без какой-либо известной информации об учетных данных кластера. Распознавание объектов и анализ последовательности генов — два примера кластеризации.
- Уменьшение размерности — Уменьшение размерности очищает входные данные от всей избыточной информации и сохраняет только существенные части. Таким образом, данные не только становятся чистыми, но и уменьшаются в размере, тем самым занимая меньше места для хранения.
Обучение с подкреплением
Обучение с подкреплением направлено на создание самоподдерживающихся и самообучающихся моделей, которые могут учиться и совершенствоваться путем проб и ошибок. В процессе обучения (обучения), если алгоритм может успешно выполнять определенные действия, срабатывают сигналы вознаграждения. Сигналы вознаграждения функционируют как путеводные огни для алгоритмов. Есть два сигнала вознаграждения:

- Положительный сигнал срабатывает для поощрения и продолжения определенной последовательности действий.
- Отрицательный сигнал — это наказание за конкретное неправильное действие. Он требует исправления ошибки, прежде чем продолжить тренировочный процесс.
Обучение с подкреплением широко используется в видеоиграх. Это также механизм, лежащий в основе беспилотных автомобилей.
Внутри функции «обучения» алгоритмов ML
За работой алгоритмов машинного обучения и за тем, как они учатся на собственном опыте, стоят три общих принципа.
Изучение функции
Первым шагом в процессе обучения является то, что алгоритмы ML узнают о целевой функции (f), которая лучше всего отображает входную переменную (X) в выходную переменную (Y). Так,
Y = f(X).
Здесь вид целевой функции (f) неизвестен, отсюда и прогнозное моделирование.
На этом этапе общего обучения алгоритм машинного обучения учится делать прогнозы на будущее (Y) на основе новых входных переменных (X). Естественно, процесс не свободен от ошибок. Здесь ошибка (e) существует независимо от входных данных (X). Так,
Y = f (X) + е
Поскольку у ошибки (e) может быть недостаточно атрибутов, чтобы наилучшим образом охарактеризовать сценарий отображения из X в Y, она называется неустранимой ошибкой — независимо от того, насколько хорошо алгоритм оценивает целевую функцию (f), вы не можете уменьшить ошибку ( д).
Делать прогнозы и учиться их улучшать
В предыдущем пункте мы поняли, как алгоритм ML изучает целевую функцию (f). И мы уже знаем, что наша единственная и единственная цель здесь — найти наилучший способ отображения Y из X. Другими словами, нам нужно найти наиболее точный способ отображения ввода в вывод.
Да, будут ошибки (e), но алгоритм должен постоянно пытаться понять, насколько он далек от желаемого результата (Y) и как его достичь. В этом процессе он будет постоянно корректировать параметры или входные значения (X), чтобы они наилучшим образом соответствовали выходным данным (Y). Это будет продолжаться до тех пор, пока не будет достигнута высокая степень сходства и точности с желаемой выходной моделью.
Как научиться машинному обучению — шаг за шагомПодход к обучению «Градиентный спуск»
Возможно, нам удалось создать «интеллектуальные» машины, но скорость их обучения отличается — машины, как правило, медленнее. Они верят в процесс обучения «градиентный спуск» — вы не прыгаете сразу, а делаете маленькие шажки и медленно спускаетесь с вершины (метафора здесь — спуск с горы).

Спускаясь с горы, вы не прыгаете, не бежите и не бросаетесь вниз за один раз; вместо этого вы предпринимаете взвешенные и рассчитанные шаги, чтобы безопасно спуститься на дно и избежать несчастных случаев.
Алгоритмы машинного обучения используют этот подход — они продолжают приспосабливаться к меняющимся параметрам (снова представьте себе грубую и неизведанную местность горы), чтобы в конечном итоге получить желаемый результат.
Заключить…
Основная цель всех алгоритмов машинного обучения — разработать прогностическую модель, которая лучше всего обобщает конкретные входные данные. Поскольку алгоритмы и системы машинного обучения обучаются с помощью различных типов входных данных/переменных/параметров, крайне важно иметь обширный набор данных. Это позволяет алгоритмам машинного обучения взаимодействовать с различными типами данных, изучать их поведение и получать желаемые результаты.
Мы надеемся, что с помощью этого поста мы смогли демистифицировать для вас работу машинного обучения!