Прочтите вводный список алгоритмов машинного обучения.
«Машинный интеллект - последнее изобретение, которое когда-либо понадобится человечеству».
- Ник Бостром.
Если бы вы могли оглянуться пару лет назад на состояние ИИ и сравнить его с его нынешним состоянием, вы были бы шокированы, обнаружив, насколько экспоненциально он рос с течением времени.
Он разделен на множество доменов, таких как ML, Expert Systems, NLP и многие другие.
Хотя идея искусственного интеллекта заключается в создании более умных систем, которые думают и работают сами по себе, их все еще нужно обучать.
Область искусственного интеллекта в машинном обучении была создана для очень точной цели, предлагая несколько алгоритмов, позволяющих более плавно обрабатывать данные и принимать решения.
Что такое алгоритмы машинного обучения?
Алгоритмы машинного обучения - это мозг любой модели, позволяющий машинам учиться, делая их умнее.
Эти алгоритмы работают так: им предоставляется начальный пакет данных, и со временем, по мере того, как алгоритмы повышают свою точность, в набор добавляются дополнительные данные.
Этот процесс регулярного ознакомления с алгоритмом новых данных и опыта повышает общую эффективность машины.
Алгоритмы машинного обучения жизненно важны для множества задач, связанных с классификацией, прогнозным моделированием и анализом данных.
«Прорыв в машинном обучении стоил бы десяти Microsoft».
- Билл Гейтс
Типы алгоритмов машинного обучения
В этом разделе мы сосредоточимся на различных типах существующих алгоритмов машинного обучения. Три основных парадигмы алгоритмов машинного обучения:
● Контролируемое обучение
Как следует из названия, контролируемые алгоритмы работают, определяя набор входных данных и ожидаемых результатов. За счет итеративного выполнения функции над обучающими данными и привлечения пользователя для введения параметров управления модель улучшается. Алгоритм считается успешным, если его сопоставления и прогнозы оказываются верными.
● Обучение без учителя
В то время как контролируемые алгоритмы работают с помеченными пользователем данными для прогнозирования результатов, эти обучающие машины явно обучаются на немаркированных данных практически без участия пользователя.
Алгоритмам предоставляются данные для их классификации и группировки для выявления некоторых скрытых или неоткрытых закономерностей, что часто используется в качестве предварительного шага для обучения с учителем.
● Обучение с подкреплением
Алгоритмы обучения с подкреплением стремятся найти идеальный баланс между исследованием и эксплуатацией, не требуя помеченных данных или вмешательства пользователя.
Эти алгоритмы работают, выбирая действие и наблюдая за последствиями, на основании чего он узнает, насколько оптимален результат. Этот процесс повторяется снова и снова, пока алгоритм не разовьется и не выберет правильную стратегию.
Лучшие алгоритмы машинного обучения
Ознакомившись с несколькими типами алгоритмов машинного обучения, прочтите некоторые из популярных.
1. Линейная регрессия
Линейная регрессия - это контролируемый алгоритм машинного обучения, который помогает найти подходящее приблизительное линейное соответствие набору точек.
По своей сути линейная регрессия - это линейный подход к определению взаимосвязи между двумя переменными, при этом одно из этих значений является зависимым значением, а другое - независимым.
Идея состоит в том, чтобы понять, как изменение одной переменной влияет на другую, приводя к отношениям, которые могут быть как положительными, так и отрицательными.
Эта линия известна как линия регрессии и представлена линейным уравнением Y = a * X + b.
В этом уравнении:
- Y - зависимая переменная
- а - Наклон
- X - Независимая переменная
- б - Перехват
Этот алгоритм применяется в случаях, когда прогнозируемый результат является непрерывным и имеет постоянный наклон, например:
- Оценка продаж
- Оценка риска
- Анализ погодных данных
- Прогностическая аналитика
- Анализ результатов опроса клиентов
- Оптимизация цен на товары
Полезные ссылки:
2. Логистическая регрессия
Алгоритм логистической регрессии часто используется в задачах двоичной классификации, где события в этих случаях обычно приводят к одному из двух значений: пройден или не пройден, истина или ложь.
Он лучше всего подходит для ситуаций, когда необходимо предсказать вероятности того, что зависимая переменная попадет в одну из двух категорий ответа.
Типичные варианты использования этого алгоритма - определить, соответствует ли данный почерк рассматриваемому человеку, будут ли цены на нефть расти в ближайшие месяцы.
В общем, регрессии можно использовать в реальных приложениях, таких как:
- Кредитный скоринг
- Обнаружение рака
- Обработка географических изображений
- Распознавание почерка
- Сегментация и категоризация изображений
- Измерение успешности маркетинговых кампаний
- Прогнозирование доходов от определенного продукта
- Произойдет ли в определенный день землетрясение?
Полезные ссылки:
3. Деревья решений
Алгоритм дерева решений находится под управлением машинного обучения и используется для решения задач регрессии и классификации. Цель состоит в том, чтобы использовать дерево решений для перехода от наблюдений к результатам обработки на каждом уровне.
Обработка деревьев решений - это нисходящий подход, при котором наиболее подходящий атрибут из обучающих данных выбирается в качестве корня, и процесс повторяется для каждой ветви. Деревья решений обычно используются для:
- Создание платформ управления знаниями
- Выбор рейса для путешествия
- Прогнозирование дат высокой загруженности отелей
- Подскажите покупателю, какую машину купить
- Прогнозирование прогнозов и определение возможностей в различных областях
Полезные ссылки:
- Sklearn.ensemble.RandomForestClassifier
- Sklearn.ensemble.GradientBoostingClassifier
- Документация XGBoost
- Https://catboost.yandex/
- Понимание случайных лесов: от теории к практике
- Практический XGBoost в Python
4. Алгоритм априорного машинного обучения
Это алгоритм, лежащий в основе популярной системы рекомендаций под названием «Вам также может понравиться» на нескольких онлайн-платформах.
Он работает путем поиска общих наборов элементов в наборах данных, а затем строит на них ассоциации.
Обычно он используется для интеллектуального анализа наборов элементов и изучения правил ассоциации из реляционных баз данных.
Идея этого алгоритма состоит в том, чтобы продолжать расширять связанные элементы до более широкого набора, чтобы создать более полезную ассоциацию.
Приложения для этого алгоритма включают выделение тенденций покупок на рынке.
Более того, его проще реализовать и его можно использовать с большими наборами данных.
5. Наивный байесовский
Наивные байесовские классификаторы относятся к категории высокоэффективных контролируемых алгоритмов машинного обучения и являются одной из простейших моделей байесовской сети.
Он работает, применяя теорему Байеса к данным с наивным предположением об условной независимости между каждой парой функций с учетом значения переменной класса.
Проще говоря, это помогает найти вероятность того, что событие А произойдет, учитывая, что событие В произошло. Наивный Байес лучше всего подходит для -
- Фильтрация спам-сообщений
- Системы рекомендаций, такие как Netflix
- Классифицируйте новостную статью о технологиях, политике или спорте
- Анализ настроений в социальных сетях
- Программное обеспечение для распознавания лиц
6. Искусственные нейронные сети
Созданная по образцу человеческого мозга, искусственная нейронная сеть действует как огромный лабиринт нейронов или просто узлов, передающих информацию друг в друга.
Эти взаимосвязанные узлы мгновенно передают данные другим узлам через края для быстрой обработки, облегчая более плавное обучение.
ИНС обучаются на примерах, а не программируются с помощью определенного набора правил. Способные моделировать нелинейные процессы, они могут быть реализованы в таких областях, как -
- Распознавание образов
- Компьютерная безопасность
- Сбор данных
- Выявление разновидностей рака у пациентов
7. Кластеризация по методу K-средних
Кластеризация k-средних - это итеративный алгоритм обучения без учителя, который разбивает n наблюдений на k кластеров, где каждое наблюдение относится к ближайшему среднему кластеру.
Проще говоря, этот алгоритм объединяет набор точек данных на основе их сходства. Его приложения варьируются от кластеризации похожих и релевантных результатов веб-поиска на языках программирования и таких библиотеках, как Python, SciPy, Sci-Kit Learn и интеллектуальный анализ данных.
Реальные приложения кластеризации K-средних -
- Выявление фейковых новостей
- Обнаружение и фильтрация спама
- Классифицируйте книги или фильмы по жанрам
- Популярные транспортные маршруты при градостроительстве
Полезные ссылки:
8. Поддержка векторных машин
Машины опорных векторов относятся к категории контролируемых алгоритмов машинного обучения и в основном используются для классификации и регрессионного анализа.
Алгоритм работает путем построения моделей, которые присваивают новые примеры и данные категории, где эти категории легко отличить друг от друга по пробелу.
SVM очень эффективен в случаях, когда количество измерений превышает количество выборок, и чрезвычайно эффективен с точки зрения памяти.
Приложения SVM можно найти в:
- Распознавание лиц
- Классификация изображений
- Категоризация текста и гипертекста
- Распознавание почерка
- Открытие лекарств для терапии
- Биоинформатика - классификация белков, генов, биологии или рака.
Полезные ссылки:
9. K-ближайшие соседи
K-ближайшие соседи - это контролируемый алгоритм машинного обучения, используемый как для регрессии, так и для задач классификации.
Обычно реализуемый для распознавания образов, этот алгоритм сначала сохраняет и определяет расстояние между всеми входами в данных с помощью функции расстояния, выбирает k указанных входов, ближайших к запросу, и выдает:
- Самый частый ярлык (для классификации)
- Среднее значение k ближайших соседей (для регрессии)
Реальные применения этого алгоритма включают -
- Обнаружение отпечатков пальцев
- Кредитный рейтинг
- Прогнозирование фондового рынка
- Анализ отмывания денег
- Банкротства банков
- Курс обмена валют
10. Алгоритмы уменьшения размерности.
Алгоритмы уменьшения размерности работают за счет уменьшения размерного пространства или количества случайных величин в наборе данных с использованием одного из двух основных подходов, выбора признаков или извлечения признаков.
Они часто применяются для предварительной обработки наборов данных и удаления избыточных функций, что упрощает алгоритмы обучения модели.
Эти алгоритмы также имеют несколько полезных преимуществ, таких как:
- Низкие требования к хранилищу
- Требуется меньше вычислительной мощности
- Повышенная точность
- Пониженный шум
Вот несколько хорошо известных алгоритмов уменьшения размерности:
- Анализ главных компонентов
- Линейный дискриминантный анализ
- Локально линейное вложение
- Многомерное масштабирование
11. Анализ главных компонентов
Анализ основных компонентов - это один из неконтролируемых алгоритмов машинного обучения, который в основном используется для уменьшения размеров вашего пространства функций с помощью либо исключения признаков, либо извлечения признаков.
Он также используется как инструмент для исследовательского анализа данных и построения прогнозных моделей. Если требуются нормализованные данные, PCA может помочь с:
- Обработка изображений
- Система рекомендаций фильмов
- Расчет ковариационной матрицы данных
- Выполните разложение по собственным значениям ковариационной матрицы
- Оптимизация распределения мощности в нескольких каналах связи
PCA направлено на уменьшение избыточности наборов данных, что упрощает работу без ущерба для точности. Он обычно используется в секторах обработки изображений и управления рисками.
Полезные ссылки:
12. Случайные леса
Случайные леса используют множество алгоритмов для решения классификационных, регрессионных и подобных задач путем реализации деревьев решений.
Принцип его работы таков: он создает кучи деревьев решений со случайными наборами данных, и модель многократно обучается на нем для получения почти точных результатов.
В конце концов, все результаты этих деревьев решений объединяются, чтобы определить наиболее подходящий результат, который чаще всего появляется в выходных данных.
Приложения для случайных лесов можно найти в -
- Обнаружение мошенничества с банковскими счетами, кредитной картой
- Обнаружение и прогноз лекарственной чувствительности лекарства
- Выявить болезнь пациента, проанализировав его медицинские записи.
- Прогнозируйте предполагаемый убыток или прибыль при покупке определенных акций
13. Повышение градиента и AdaBoost
Boosting - это метод для ансамблевых алгоритмов машинного обучения, превращающий слабых учеников в сильных. Алгоритмы повышения необходимы, когда данных много, и мы стремимся уменьшить предвзятость и дисперсию в контролируемом обучении. Ниже приведены два популярных алгоритма повышения.
- Повышение градиента
Алгоритм повышения градиента используется для задач классификации и регрессии путем построения модели прогнозирования, как правило, итеративным способом, например, с помощью деревьев решений. Он улучшает слабых учеников, обучая их ошибкам сильных учеников, в результате чего получается точный ученик в целом.
- AdaBoost
Сокращенно от Adaptive Boosting, AdaBoost улучшает модель, когда слабые ученики терпят неудачу. Он делает это путем изменения весов, прикрепленных к экземплярам в выборке, чтобы больше сосредоточиться на сложных, позже выходные данные слабых учеников объединяются для формирования взвешенной суммы и считаются окончательным усиленным выходом.
Заключение
Алгоритмы машинного обучения жизненно важны для специалистов по анализу данных, поскольку их применение в реальном мире растет. С помощью множества упомянутых выше алгоритмов вы можете найти алгоритм, который лучше всего решит вашу проблему. Эти алгоритмы, хотя и представляют собой сочетание контролируемого и неконтролируемого, могут обрабатывать множество задач и способны работать синхронно с другими алгоритмами.
Дополнительные источники -
Надеюсь, эта статья оказалась для вас полезной! Ниже приведены дополнительные ресурсы, если вы хотите узнать больше: -
Об авторе
Клэр Д.. является создателем контента и маркетологом в Digitalogy - торговой площадке по поиску технических ресурсов и индивидуального поиска партнеров, которая объединяет людей с предварительно отобранными и первоклассными разработчиками и дизайнерами на основе их конкретных потребностей по всему миру. Подключайтесь к Digitalogy в Linkedin, Twitter, Instagram.