Предположим, у вас есть какие-то проблемы с данными, которые нужно срочно решить. Вы уже слышали об алгоритмах машинного обучения, которые могут помочь в решении этих проблем, и хотите воспользоваться возможностью, чтобы попробовать их, но у вас нет опыта или знаний в этой области. Вы начинаете гуглить такие термины, как «модель машинного обучения» и «методология машинного обучения», но через некоторое время полностью теряетесь между разными алгоритмами и готовы сдаться.
Друзья, так держать!
К счастью, в этой статье я представлю три широкие категории алгоритмов машинного обучения, которые вы можете уверенно решать для широкого круга задач науки о данных.
В следующих статьях мы обсудим деревья решений, алгоритмы кластеризации и регрессию, укажем на различия между ними и выясним, как выбрать наиболее подходящую модель для вашего случая.
Контролируемое обучение против неконтролируемого обучения
Основой понимания машинного обучения является умение классифицировать обучение с учителем и обучение без учителя, потому что любая проблема в машинном обучении относится к этим двум категориям.
В случае обучения с учителем у нас есть набор данных, который будет использоваться в качестве входных данных для некоторых алгоритмов. Но только в том случае, если мы уже знаем, как должен выглядеть формат правильного вывода (при условии, что между вводом и выводом существует какая-то связь).
Проблемы регрессии и классификации, которые мы увидим позже, попадают в эту категорию.
С другой стороны, неконтролируемое обучение следует использовать, когда мы не знаем, как должен выглядеть результат. На самом деле нам нужно получить правильную структуру из данных, где влияние входных переменных неизвестно. Проблемы кластеризации являются основным представителем этой категории.
Чтобы сделать приведенную выше классификацию более ясной, я перечислю некоторые актуальные проблемы и попытаюсь классифицировать их соответствующим образом.
Пример 1
Предположим, вы управляете агентством недвижимости. Учитывая характеристики вашего нового дома, вы захотите предсказать, по какой цене он будет продаваться, на основе продаж других домов, которые вы ранее записали. Ваш входной набор данных включает в себя несколько свойств дома, таких как количество и размер ванных комнат и т. д., а переменная, которую вы хотите предсказать (часто называемая «целевой переменной»), — это цена. Прогнозирование цены продажи дома — это задача обучения с учителем или, точнее, задача регрессии.
Пример 2
Предположим, цель медицинского эксперимента состоит в том, чтобы предсказать, разовьется ли у человека близорукость из-за каких-то физических факторов и наследственности. В этом случае входным набором данных являются физические характеристики человека, и есть две целевые переменные:
1 означает большую вероятность близорукости, а 0 означает меньшую вероятность. Прогнозирование того, разовьется ли у человека близорукость, также является проблемой контролируемого обучения, точнее, проблемой классификации.
Пример третий
Предположим, у вашей компании много клиентов. На основе их недавних взаимодействий с вашей компанией, их недавних покупок и их демографических данных вы хотите сформировать группы похожих клиентов, чтобы обращаться с ними по-разному, например, предлагая некоторым из них эксклюзивные купоны на скидку . В этом случае вы будете использовать вышеупомянутые функции в качестве входных данных для алгоритма, и алгоритм определит количество или категории групп, которые должны быть сформированы. Это явный пример обучения без учителя, поскольку мы не имеем ни малейшего представления о том, каким будет результат, и абсолютно не знаем, каким будет результат.
Далее я представлю несколько более конкретных алгоритмов...
возвращение
Во-первых, регрессия — это не отдельная техника обучения с учителем, а целая категория, к которой принадлежит множество техник.
Основная идея регрессии заключается в том, что по некоторым входным переменным мы хотим предсказать целевое значение. В случае регрессии целевая переменная является непрерывной, то есть она может принимать любое значение в указанном диапазоне. С другой стороны, входные переменные могут быть как дискретными, так и непрерывными.
Среди методов регрессии наиболее популярными являются линейная регрессия и логистическая регрессия. Давайте посмотрим поближе.
Линейная регрессия
В линейной регрессии мы пытаемся построить связь между входной переменной и целевой переменной и представить эту связь в виде прямой линии, которую мы обычно называем линией регрессии.
Например, предположим, что у нас есть две входные переменные X1 и X2 и целевая переменная Y, их взаимосвязь может быть выражена математически следующим образом:
Y = a * X1 + b*X2 +c
Предполагая, что значения X1 и X2 известны, нам нужно настроить a, b и c так, чтобы Y был как можно ближе к истинному значению.
Например!
Предположим, у нас есть знаменитыйНабор данных ириса, в котором представлены некоторые методы определения типа цветка, например: Setosa, Versicolor и Virginica, по размеру чашечки и размеру лепестков.
Используя программное обеспечение R, мы реализуем линейную регрессию для прогнозирования длины чашелистиков, предполагая, что ширина и длина лепестков заданы.
Математически получаем значения a, b по следующим формулам:
Другие переводы (1)SepalLength = a * PetalWidth + b* PetalLength +c
Соответствующий код выглядит так:
# Load required packages
library(ggplot2)
# Load iris dataset
data(iris)
# Have a look at the first 10 observations of the dataset
head(iris)
# Fit the regression line
fitted_model <- lm(Sepal.Length ~ Petal.Width + Petal.Length, data = iris)
# Get details about the parameters of the selected model
summary(fitted_model)
# Plot the data points along with the regression line
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color = Species)) +
geom_point(alpha = 6/10) +
stat_smooth(method = "lm", fill="blue", colour="grey50", size=0.5, alpha = 0.1)
Результаты линейной регрессии показаны на следующих графиках, где черные точки представляют точки исходных данных, а синяя линия представляет собой подобранную линию регрессии, в результате чего получаются оценки: a = -0,31955, b = 0,54178 и c = 4,19058, что вероятно, лучше всего близко к действительному значению, то есть к истинной длине чашечки.
Затем просто примените значения длины лепестка и ширины лепестка к определенной линейной зависимости, чтобы сделать прогнозы для длины чашелистика.
логистическая регрессия
Основная идея точно такая же, как и у линейной регрессии. Разница в том, что линия регрессии для логистической регрессии больше не прямая.
Математическое соотношение, которое мы хотим установить, имеет вид:
Y=g(a*X1+b*X2)
g() — логарифмическая функция.
В соответствии с характером этой логистической функции Y непрерывна в диапазоне [0,1] и может интерпретироваться как вероятность наступления события.
Другой пример!
На этот раз мы изучаем набор данных mtcars, который содержит конструкции автомобилей, десять показателей производительности и расход топлива для 32 автомобилей, построенных в период с 1973 по 1974 год.
Используя R, мы предскажем вероятность того, будет ли коробка передач автомобиля автоматической (AM = 0) или механической (AM = 1) на основе измерений V/S и расхода топлива на милю.
am = g(a * mpg + b* vs +c):
# Load required packages
library(ggplot2)
# Load data
data(mtcars)
# Keep a subset of the data features that includes on the measurement we are interested in
cars <- subset(mtcars, select=c(mpg, am, vs))
# Fit the logistic regression line
fitted_model <- glm(am ~ mpg+vs, data=cars, family=binomial(link="logit"))
# Plot the results
ggplot(cars, aes(x=mpg, y=vs, colour = am)) + geom_point(alpha = 6/10) +
stat_smooth(method="glm",fill="blue", colour="grey50", size=0.5, alpha = 0.1, method.args=list(family="binomial"))
Как показано на рисунке ниже, где черные точки представляют собой начальные точки набора данных, а синие линии представляют собой замкнутую линию логарифмической регрессии. Оценка а = 0,5359, б = -2,7957, с = -9,9183
Мы можем заметить, что, как и при линейной регрессии, линия регрессии выходного значения логарифмической регрессии также находится в интервале [0,1].
Для любого нового автомобиля, измеренного V/S и расхода топлива, мы можем предсказать, что автомобиль будет использовать автоматическую коробку передач. Это ужасно точно?
Древо решений
Деревья решений — это второй алгоритм машинного обучения, который мы рассмотрим. Они разделены на деревья регрессии и деревья классификации, поэтому их можно использовать для задач обучения с учителем.
Нельзя отрицать, что деревья решений — один из самых интуитивно понятных алгоритмов, потому что они имитируют то, как люди принимают решения в большинстве ситуаций. В основном они рисуют «карту» всех возможных путей в каждом случае и выдают соответствующие результаты.
Графическое представление помогает лучше понять, что мы обсуждаем.
На основе дерева, подобного приведенному выше, алгоритм может решить, какой путь выбрать на каждом шаге, на основе значений соответствующих критериев. Критерии разделения, выбранные алгоритмом, и соответствующая пороговая стратегия для каждого уровня зависят от того, насколько информативны переменные-кандидаты в отношении целевой переменной, и от того, какая настройка минимизирует результирующую ошибку прогнозирования.