В этом случае мы не можем понять, какие проблемы машинного обучения нам нужно решить.http://machinelearningmastery.com/practical-machine-learning-problems/После этого мы можем подумать о том, какие данные нам нужно собрать и какие алгоритмы мы можем использовать. В этой статье мы рассмотрим наиболее популярные алгоритмы машинного обучения, которые могут быть полезны. В области машинного обучения существует множество алгоритмов, и у каждого алгоритма есть множество расширений, поэтому очень сложно определить правильный алгоритм для конкретной проблемы. В этой статье я хочу дать вам два способа обобщить алгоритмы, с которыми вы столкнетесь в реальности.
В зависимости от того, как они обрабатывают опыт, окружение или любой данный, который мы называем вводом, алгоритмы делятся на разные категории.
Здесь обсуждаются только несколько основных стилей обучения или моделей обучения, а также несколько основных примеров. Такой подход к классификации или организации хорош, поскольку он заставляет вас думать о роли ввода данных и процессе подготовки модели, а затем выбирать алгоритм, который лучше всего подходит для вашего вопроса, чтобы получить наилучшие результаты.
Наблюдение за обучением: вводимые данные называются тренировочными данными и имеют известные результаты или маркировки. Например, есть ли электронное письмо спамом или цена акций за определенный период времени. Модели делают предсказания, которые исправляются, если они ошибаются. Процесс продолжается до тех пор, пока данные тренировок не достигнут определенных правильных стандартов. Беснадзорное обучение: вводимые данные не маркируются и не определяют результатов. Модели индуцируют структуру и числовые значения данных. Примеры проблем включают обучение по правилам ассоциации и проблемы кластеризации. Примеры алгоритмов включают алгоритмы Apriori и K-средний алгоритм. Полунаблюдение за обучением: вводные данные - это смесь помеченных и незамеченных данных. Есть некоторые проблемы с прогнозированием, но модели также должны изучать структуру и состав данных. Примеры проблем включают классификацию и регрессию. Примеры алгоритмов - это, в основном, расширения алгоритмов обучения без наблюдения. Усиленное обучение: вводные данные могут стимулировать модель и заставлять модель реагировать. Отзывы получаются не только от процесса обучения, контролируемого обучением, но и от вознаграждения или наказания в окружающей среде. Проблематические примеры - роботоконтроль, алгоритмические примеры включают Q-learning и temporal difference learning.
При интеграции данных для моделирования бизнес-решений, большинство использует методы контролируемого и неконтролируемого обучения. Следующая горячая тема - полуконтролируемое обучение, например, проблемы классификации изображений, в которых есть большая база данных, но только небольшая часть изображений.
Алгоритмы классифицируются в основном по функциональности или форме. Например, алгоритмы, основанные на деревьях, алгоритмы нейронных сетей. Это очень полезный способ классификации, но не идеальный.
В этом разделе я перечислил алгоритмы, которые я считаю наиболее интуитивными методами классификации. Я не имею конечного списка алгоритмов или методов классификации, но я думаю, что это очень полезно для того, чтобы дать читателям общее представление. Если вы знаете что-то, что я не перечислил, пожалуйста, поделитесь сообщениями.
Регрессионный анализ (англ. regression analysis) - это анализ отношений между переменными. Он применяет статистические методы, примеры нескольких алгоритмов включают:
Обычные наименьшие квадраты Логистическая регрессия Пошаговое регрессирование Мультивариантные адаптивные регрессивные сплины (MARS) Местное расчетное сглаживание рассеянного графика (LOESS)
Instance-based learning (изучение на основе примеров) моделирует решение задачи, при котором используемые примеры или примеры очень важны для модели. Этот метод создает базу данных на существующих данных, затем добавляет новые данные, затем использует метод измерения схожести, чтобы найти наилучший совпадение в базе данных и сделать прогноз. По этой причине этот метод также известен как метод победителя-ца и метод, основанный на памяти.
k-ближайший сосед (kNN) Квантизация векторов обучения (LVQ) Самоорганизующаяся карта (SOM)
Это продолжение других методов (обычно методов регрессии), которое выгоднее для более простых моделей и лучше для их индукции. Я перечисляю его здесь, потому что он популярен и силен.
Регрессия хребта Оператор минимального абсолютного сокращения и отбора (LASSO) Эластичная сеть
Методы дерева решений создают модель решений, основанную на фактических значениях данных.
Классификация и регрессионное дерево (CART) Итеративный дихотомизер 3 (ID3) C4.5 Автоматическое обнаружение взаимодействия на чи квадрате (CHAID) Степень решения Случайный лес Мультивариантные адаптивные регрессивные сплины (MARS) Машины для повышения градиента (GBM)
Байезианский метод - метод, применяющий теорию Байеза в решении проблем классификации и регрессии.
Наивный Бейес Средние оценщики с одной зависимостью (AODE) Байесовская сеть убеждений (BBN)
Наиболее известным из Kernel Methods является Support Vector Machines, который позволяет выводить входные данные в более высокие измерения, что облегчает моделирование некоторых классификационных и регрессионных задач.
Поддерживающие векторные машины (SVM) Функция радиальной основы (RBF) Линейный дискриминационный анализ (LDA)
Кластеризация (англ. clustering) сама по себе описывает проблемы и методы. Кластерические методы обычно классифицируются методом моделирования. Все методы кластеризации организуют данные с единой структурой данных, чтобы у каждой группы было больше всего общего.
К-среднее значение Максимизация ожиданий (EM)
Ассоциационное обучение - это метод, используемый для извлечения закономерностей между данными, которые позволяют обнаружить связи между огромными объемами многомерного пространственного данных, которые могут быть использованы организациями.
Алгоритм априори Алгоритм Eclat
Искусственные нейронные сети (АНС) - это сети, встроенные в структуру и функции биологических нейронных сетей. Они относятся к категории соответствия моделей, часто используемых для регрессии и классификации, но в них существуют сотни алгоритмов и вариаций. Некоторые из них являются классическими популярными алгоритмами.
Перцептрон Обратное распространение Сеть Хопфилда Самоорганизующаяся карта (SOM) Квантизация векторов обучения (LVQ)
Метод глубокого обучения (англ. deep learning) является современным обновлением искусственных нейронных сетей. В отличие от традиционных нейронных сетей, он имеет более сложную сетевую структуру, многие методы сосредоточены на полунаблюдательном обучении.
Ограниченная машина Больцмана (RBM) Сети глубоких верований (DBN) Конвульсионная сеть Складываемые автокодеры
Dimensionality Reduction, как и методы кластеризации, стремится и использует единую структуру в данных, но она использует меньше информации для интродукции и описания данных. Это полезно для визуализации или упрощения данных.
Анализ основных компонентов (PCA) Частичная регрессия наименьших квадратов (PLS) Картографирование саммона Многомерное масштабирование (MDS) Преследование проекции
Ансамбль методов (комбинированный метод) состоит из множества небольших моделей, которые проходят независимую тренировку, делают независимые выводы и в конечном итоге формируют общее предсказание. Много исследований сосредоточено на том, какие модели используются и как эти модели комбинируются.
Повышение Загруженная агрегация (багировка) AdaBoost Накопленное обобщение (смешение) Машины для повышения градиента (GBM) Случайный лес
Это пример совмещения с помощью комбинированных методов (от Вики), каждый из которых представлен в сером цвете, а финальный прогноз, который был синтезирован, - в красном цвете.
Эта поездка по алгоритмам машинного обучения предназначена для того, чтобы дать вам представление о том, какие алгоритмы существуют, а также некоторые инструменты для их ассоциации.
Ниже приведены некоторые другие ресурсы, не думайте, что это слишком много, чтобы узнать, сколько алгоритмов будет лучше для вас, но может быть полезно иметь более глубокое понимание некоторых из них.
Переданный от Белой колонки / разработчики Python