Моя мама сравнивала машинное обучение с коробкой шоколадных конфет. Вы никогда не можете предсказать, что вы получите. Мама, прости, не сегодня! Без сомнения, мы будем знать о типе шоколада, который мы получаем (надеюсь, я получу темный шоколад). Вы не должны бояться узнать, что находится внутри алгоритма машинного обучения, как если бы вы не боялись. Вы открывали коробку конфет. Будьте уверены, что они в безопасности.

Контур

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

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

В этой статье не будет подробно описываться, что делает каждый алгоритм, а вместо этого будет дано краткое описание того, что делает каждый алгоритм машинного обучения. Мы рассмотрим один элемент машинного обучения: контролируемое машинное обучение. Я также предоставлю вам простые фрагменты кода о том, как запрограммировать его на Python.

Если вы помните только одну вещь из прочтения этого поста, сделайте это так:

Машинное обучение использует данные, чтобы ответить на ваш вопрос…!

Давайте рассмотрим некоторые ключевые термины, используемые в машинном обучении:

Ключевые термины

  • Обучающие данные: использование наших данных для выявления закономерностей между переменными. Затем этот шаблон используется для создания алгоритма или формулы.
  • Модель: относится к нашему алгоритму/формуле машинного обучения. Затем этот алгоритм используется для нашего прогноза.
  • Прогноз: относится к нашим запросам на основе данных.
  • Независимая переменная/переменная-предиктор: это переменные, используемые для предсказания вашей зависимой переменной.
  • Зависимая/объясняющая переменная. Это переменная, которую вы пытаетесь объяснить или спрогнозировать.
  • Контролируемое обучение: система учится на размеченных данных. Обычно люди маркируют данные.
  • Обучение без учителя. Для обучения системы используются немаркированные данные. Другими словами, компьютеру не предоставляется «правильный» ответ для обучения, скорее система должна в идеале обнаруживать закономерности в данных, чтобы получить ответ.

Функционирование алгоритмов машинного обучения

  1. Получите ваши данные
  2. Ищите закономерности в данных
  3. Изготовить модель на основе выкройки.
  4. Используйте модель, чтобы предсказывать выводы на основе данных.
  5. Обновите модель новыми данными

Давайте рассмотрим 7 наиболее распространенных алгоритмов машинного обучения.

1. Линейная регрессия

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

Считайте себя продавцом мороженого. У вас была интуиция, основанная на прошлых продажах, что вы продавали больше мороженого, когда погода была жарче. Теперь вы хотите знать, сколько мороженого нужно заряжать при определенной температуре. Мы можем точно предсказать это, используя линейную регрессию! Формула для процедуры линейной регрессии: y = mx + b. Если «x» — ваша независимая переменная, а «y» — ваша зависимая переменная (продажи мороженого),

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

Пример. Если температура на улице 75 градусов, вы будете брать за мороженое около 150 долларов США. Это свидетельствует о том, что по мере повышения температуры растут и продажи мороженого.

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

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

2. Логистическая регрессия

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

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

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

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

3. K-ближайшие соседи (KNN)

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

Вот как это работает:

  1. Дайте K значение (желательно небольшое нечетное число)
  2. Найдите наиболее похожее количество K баллов.
  3. Новая точка должна быть присвоена от большинства классов.

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

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

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

Слабые стороны: трудно найти правильное значение K; это ужасно для многомерных данных; и это требует много работы при подгонке большого количества функций. Это и дорого, и вяло. KNN не следует использовать для интерпретируемости или разведки.

4. Машина опорных векторов (SVM)

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

Давайте разберем фразы в этом алгоритме SVM, чтобы лучше понять, для чего он предназначен:

S—SПоддержка относится к экстремальным значениям или точкам в вашем наборе данных.

V —Вектор относится к значениям/точкам в наборе данных/пространстве объектов.

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

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

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

Затем два класса разделяются линией. Эта линия известна как гиперплоскость в SVM. Все, что слева от гиперплоскости, — это кошка, а все, что справа — собака.

Сильные стороны: эта модель полезна для задач классификации и может представлять чрезвычайно сложные параметры. Также полезно представлять нелинейные связи.

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

5. Дерево решений

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

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

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

6. Случайный лес

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

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

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

Методы оценки производительности модели

  • Точность прогнозирования. Сколько из них верно?
  • Скорость. Насколько быстро развертывается модель?
  • Масштабируемость. Может ли модель обрабатывать большие наборы данных?
  • Надежность. Насколько хорошо модель обрабатывает выбросы/отсутствующие значения?
  • Интерпретируемость. Легко ли понять модель?

Как вы можете улучшить свой алгоритм обучения?

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

Заключительные мысли

Важно помнить, что оптимального алгоритма машинного обучения не существует. Каждый метод уникален и подходит для доступных данных, контекста предметной области и любых внешних/внутренних ограничения. Если вы задаетесь вопросом: «Итак… какую модель мне следует использовать?» решение состоит в том, чтобы протестировать как можно больше, а затем проанализировать, что лучше всего подходит для вас.

Я закончу свою статью очень известной цитатой:

«Предсказание будущего — это не магия, это искусственный интеллект» – Дэйв Уотерс