Машинное обучение — это инструмент, который стал неотъемлемой частью анализа данных. Возможно, вы уже знаете о таких алгоритмах, как кластеризация K-средних или линейная регрессия для машинного обучения с учителем, но существует множество различных типов алгоритмов для машинного обучения. В этом посте мы поможем вам освоить их, чтобы вы могли использовать правильный для своей проблемы и увеличить свои шансы на успех.
В этом посте мы рассмотрим:
-Разница между контролируемым и неконтролируемым машинным обучением
- Как начать работу с различными алгоритмами, включая деревья решений, случайные леса, машины опорных векторов и многое другое.
- Как применять эти методы в реальных сценариях
Что такое машинное обучение?
Машинное обучение — это разновидность ИИ, которая дает компьютерам возможность учиться без явного программирования. Алгоритмы машинного обучения можно использовать для поиска закономерностей в данных, прогнозирования будущих данных или классификации элементов как принадлежащих к одной или нескольким категориям. Эти алгоритмы различаются по сложности и масштабу: некоторые из них ориентированы на конкретные задачи, а другие — менее.
Обзор контролируемого и неконтролируемого машинного обучения
Разница между контролируемым и неконтролируемым машинным обучением может сбивать с толку. Неконтролируемые алгоритмы машинного обучения находят структуру в наборе данных без каких-либо меток. Алгоритмы контролируемого машинного обучения используются для прогнозирования результатов на основе размеченных данных обучения.
Деревья решений являются распространенным примером неконтролируемого алгоритма. В дереве решений алгоритм начинает с разделения данных на две части в каждой точке ветвления. В каждой точке ветвления он выбирает атрибут, который лучше всего разбивает набор данных на основе такой меры, как индекс Джини или прирост информации. Дерево решений выбирает атрибуты, которые наиболее эффективно разделяют данные, пока все данные не будут классифицированы в ту или иную группу.
Этот тип алгоритма лучше всего подходит, когда у вас много функций (или переменных) и вы хотите увидеть, какие из них добавляют информацию о вашей классификации. Случайные леса также являются примером неконтролируемого алгоритма машинного обучения, который хорошо работает со многими функциями и дает хорошие результаты, когда в ваших обучающих данных нет четкой закономерности, поскольку он может учиться на нескольких деревьях.
Алгоритмы и приложения
Первым шагом к освоению алгоритмов машинного обучения является понимание разницы между контролируемым и неконтролируемым обучением.
Обучение с учителем — это когда у вас есть переменная результата (y) и переменная-предиктор (x). Ваша цель — предсказать значение y для новых точек данных, используя x.
Например, допустим, ваша компания производит компьютерные мониторы. Вы хотите использовать данные о продажах компьютеров за последние несколько лет, чтобы предсказать, сколько мониторов будет произведено в следующем году. Прогнозирование уровня производительности монитора может быть примером контролируемого машинного обучения.
Напротив, неконтролируемое обучение не имеет переменной результата, а скорее ищет закономерности в переменной предиктора (x). Например, если вы хотите разделить своих клиентов на разные группы на основе их покупательского поведения, это будет примером неконтролируемого машинного обучения.
Начните с деревьев решений
Деревья решений — один из самых простых алгоритмов для понимания и использования. Деревья решений — это форма контролируемого машинного обучения, которая разбивает ваши данные на группы. Они работают, анализируя значения ваших входных переменных и находя в них закономерности.
Например, у вас может быть дерево решений, которое разделяет людей на основе того, пьют они алкоголь или нет, а затем смотрит на их возраст и пол, чтобы определить, будут ли они пить.
Лучший способ начать — проверить уже построенный алгоритм дерева решений. Вы можете найти несколько примеров здесь: https://www.kaggle.com/c/decision-trees-in-practice
Случайные леса для задач регрессии (и классификации)
Случайные леса — один из самых популярных алгоритмов машинного обучения. Это контролируемый метод обучения, что означает, что для обучения им требуются помеченные данные. Например, если вы хотите научиться прогнозировать цены на жилье, вам понадобятся два набора размеченных данных: один с фактическими ценами на жилье, а другой с прогнозируемыми ценами.
Случайные леса часто используются для задач регрессии (и классификации), поскольку они могут обрабатывать как непрерывные, так и категориальные переменные. Алгоритм начинает со случайной выборки наблюдений из вашего обучающего набора, а затем строит несколько деревьев решений. Этот процесс повторяется до тех пор, пока не будет достигнут критерий остановки — либо минимальное количество наблюдений в каждом дереве, либо максимальная глубина дерева. Конечным результатом является усредненный прогноз для всего набора данных, который минимизирует ошибки при обобщении.
Машины опорных векторов для задач бинарной классификации
Деревья решений, случайные леса и машины опорных векторов — все это хорошие варианты для задач бинарной классификации. Деревья решений плохо справляются с многомерными проблемами, поэтому, возможно, лучше придерживаться одного из других методов, когда сталкиваешься с таким сценарием. В этих сценариях случайные леса работают лучше, чем деревья решений.
Принцип работы случайных лесов заключается в голосовании между множеством различных деревьев решений. Голосование будет взвешено в зависимости от того, насколько хорошо каждое отдельное дерево работает с вашими обучающими данными. Окончательный прогноз основан на прогнозах, сделанных всеми объединенными голосами. Один голос выбирается случайным образом, чтобы дать вам прогноз для новых данных.
Машины опорных векторов также можно использовать в качестве альтернативы деревьям решений или случайным лесам при столкновении с многомерными задачами. Машины опорных векторов полагаются на ядра для создания своих прогнозов. Эти ядра уменьшают сложность за счет преобразования входных данных в пространство более высокого измерения, где их затем можно линейно разделить с помощью любой желаемой гиперплоскости (например, двумерной плоскости). С помощью этого метода вы можете использовать очень интуитивный и понятный метод линейной алгебры для решения вашей проблемы, не теряясь в мельчайших подробностях о больших размерах и сложных алгоритмах.
Заключение
С появлением все большего числа приложений машинного обучения важно понимать алгоритмы.
Деревья решений — отличный алгоритм для контролируемого обучения, а случайные леса — хороший алгоритм как для контролируемого, так и для неконтролируемого обучения. Машины опорных векторов предназначены для задач бинарной классификации.
Начните с освоения этих трех алгоритмов, затем переходите к другим.
Если вы ищете что-то простое, начните с деревьев решений.