Эта статья является частью серии, которую я решил опубликовать, чтобы помочь себе и другим получить более глубокое понимание основ машинного обучения и перейти от поверхностного представления о том, что такое машинное обучение, к тому, чтобы быть достаточно уверенным, чтобы иметь умный подход. Разговоры о машинном обучении во время посещения конференций и отсутствие ощущения синдрома самозванца (исходя из опыта) среди прочего.

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

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

Итак, что такое машинное обучение?

Машинное обучение (ML) - это научное исследование алгоритмов и статистических моделей, которые компьютерные системы используют для выполнения конкретной задачи без использования явные инструкции, вместо этого полагаясь на шаблоны и вывод.

- Википедия

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

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

Виды алгоритмов машинного обучения

Машинное обучение можно разбить на три типа алгоритмов; обучение с учителем, обучение без учителя и обучение с подкреплением.

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

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

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

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

Затем контролируемое обучение можно разделить на два алгоритма: алгоритмы классификации и регрессии.

Классификация. Приведенный выше пример прогнозирования того, следует ли человеку получать ссуду, является примером алгоритма классификации. Он используется для прогнозирования, к какому классу принадлежит точка данных, обычно это дискретное значение. Некоторые другие примеры включают:

  • Прогнозирование того, является ли электронное письмо спамом
  • Предсказание, пойдет ли дождь или нет
  • Сегментация клиентов - классификация клиентов по разным группам
  • Предсказать, будет ли отзыв положительным, отрицательным или нейтральным

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

Регрессия. Допустим, в нашем предыдущем примере мы пытались спрогнозировать сумму, которую мы будем выдавать в качестве ссуды. Затем эта проблема становится проблемой регрессии, поскольку теперь мы пытаемся предсказать непрерывное количество, которым в данном случае является количество. Таким образом, если алгоритм классификации может использоваться для определения того, пойдет ли завтра дождь, алгоритм регрессии будет использоваться для прогнозирования количества осадков. Вот некоторые примеры:

  • Прогнозирование стоимости дома
  • Прогнозирование продаж определенного продукта
  • Оценка заработной платы

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

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

У этого метода есть различные примеры, такие как:

  • Может использоваться при сегментации клиентов
  • Обнаружение мошенничества
  • Используется в построении рекомендательных систем

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

Обучение с подкреплением

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

Вывод

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