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

Машинное обучение росло в последние два десятилетия. Вы использовали машинное обучение и живете в нем, даже не зная, когда оно уже было. Простые вещи, такие как отметка ваших друзей на фотографиях Facebook или, возможно, простой поиск в Интернете, который будет давать результаты на основе рейтинга страниц или вашего почтового клиента, такого как Yahoo, Gmail, фильтрация вашей спам-почты в папках для спама - вот некоторые классические примеры машинного обучения.

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

Том М. Митчелл дал широко цитируемое, более формальное определение алгоритмов, изучаемых в области машинного обучения: «Считается, что компьютерная программа учится на опыте E в отношении некоторого класса задач T и показатель эффективности P, если его производительность при выполнении задач в T, измеренная с помощью P, улучшается с опытом E.

Возьмем пример того, как ваш почтовый клиент фильтрует спам-сообщения. Итак, здесь, когда вы нажимаете кнопку «Спам» для сообщения электронной почты, чтобы сообщить о спаме, почтовый клиент учится лучше отфильтровывать те, которые вы даже не отметили как спам. Таким образом, он лучше узнает, как отфильтровывать спам-сообщения. Это означает, что задача фильтрации спама в этом примере - T, и наблюдение за тем, как вы помечаете электронные письма как спам или не спам, - это опыт E и измерение производительности, P будет долей правильно идентифицированных писем. Таким образом, производительность P будет улучшаться с опытом E.

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

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

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

Задачи контролируемого обучения подразделяются на задачи «регрессия» и «классификация». В задаче регрессии мы пытаемся предсказать результаты в рамках непрерывного вывода, что означает, что мы пытаемся сопоставить входные переменные с некоторой непрерывной функцией. В задаче классификации мы вместо этого пытаемся предсказать результаты на дискретном выходе. Другими словами, мы пытаемся сопоставить входные переменные по дискретным категориям.

Пример 1:

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

Мы могли бы превратить этот пример в проблему классификации, вместо этого сделав вывод о том, «продается ли дом больше или меньше, чем запрашиваемая цена». Здесь мы классифицируем дома по цене на две отдельные категории.

Пример 2:

(а) Регрессия. Имея изображение человека, мы должны предсказать его возраст на основе данного изображения.

(б) Классификация. Учитывая пациента с опухолью, мы должны предсказать, является ли опухоль злокачественной или доброкачественной.

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

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

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

Это означает, что в неконтролируемом обучении нам предоставляются данные, которые выглядят иначе, чем данные, которые выглядят так, как в контролируемом обучении, у которых нет ярлыков, или у всех одинаковый ярлык, или на самом деле нет ярлыков. Таким образом, нам дают набор данных, и нам не говорят, что с ним делать, и нам не говорят, что представляет собой каждая точка данных. Вместо этого нам просто сказали, что это набор данных. Можете ли вы найти какую-то структуру в данных?

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

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

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

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

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