Алгоритмы искусственного интеллекта играют важную роль — без них решение задач просто невозможно. Какими бывают эти алгоритмы?
Алгоритмы искусственного интеллекта не только «указывают», как действовать программе, но и задают параметры её самостоятельного обучения. Выбор того или иного алгоритма также зависит от того, какой вид машинного обучения был выбран для искусственного интеллекта. Приготовьтесь, алгоритмов немало.
Алгоритмы искусственного интеллекта:
классификация
1. Алгоритмы классификации
Алгоритмы классификации являются частью контролируемого обучения. Прежде всего, эти алгоритмы используются для разделения зависимой переменной на разные классы, а затем для прогнозирования класса для заданных входных данных. Например, такие алгоритмы используются для классификации электронных писем. Спам это или нет? Искусственный интеллект классифицирует новую категорию наблюдений на основе существующих данных. Такие данные чаще всего называют обучающими.
Наивный байесовский алгоритм. Такой алгоритм работает на основе одноимённой теоремы. Он использует вероятностный подход и имеет набор априорных вероятностей для каждого класса. Как только данные передаются, алгоритм обновляет эти вероятности. В итоге формируется нечто, известное как апостериорная вероятность. И это просто незаменимо, когда вам нужно предсказать, принадлежит ли ввод к заданному списку классов или нет. Байесовский алгоритм используется для анализа настроений, рекомендаций, фильтрации спама и так далее. Главное его отличие — значение атрибута данного класса не зависит от значений других существующих атрибутов.
К примеру, если фрукт жёлтый, круглый, примерно 8-10 см в радиусе, он может считаться апельсином.
Древо решений. Алгоритм древа решений больше похож на блок-схему, в которой узлы представляют проверку входного атрибута, а ветви представляют результат проверки. Весьма простой алгоритм, будет полезным там, где искусственному интеллекту нужно принять какое-либо решение.
Метод опорных векторов. Это алгоритм, который классифицирует данные с использованием гиперплоскости. При этом он следит за тем, чтобы расстояние между гиперплоскостью и опорными векторами было максимальным. Алгоритм опорных векторов можно использовать как для задач классификации, так и регрессии. Пример использования такого алгоритма — обнаружение лиц, классификация изображение, или идентификация рукописного ввода.
Метод k-ближнего соседа (k-nearest neighbour). Такой алгоритм использует набор точек данных, разделенных на классы, чтобы предсказать класс новой точки. Ещё его зовут «алгоритмом ленивого обучения», так как он относительно короткий по сравнению с другими алгоритмами. Простота реализации и понимания — вот главный конёк этого алгоритма. Именно поэтому его так часто используют в медицинской и банковской сферах.
Случайные леса. Алгоритм «случайных лесов» работает как группа деревьев. Набор входных данных подразделяется и подается в разные деревья решений. Учитывается среднее значение результатов всех деревьев решений. Случайные леса предлагают более точный классификатор по сравнению с алгоритмом дерева решений. «Случайные леса» используются во многих отраслях, таких как здравоохранение, производство, банковское дело, розничная торговля и так далее. Одним из реальных применений этого алгоритма может быть определение того, является ли электронное письмо спамом или нет.
2. Алгоритмы регрессии
Такие алгоритмы чрезвычайно популярны среди методов подконтрольного машинного обучения. Они могут прогнозировать выходные значения на основе точек входных данных, переданных в обучающую систему. Основное применение алгоритмов регрессии включает в себя прогнозирование цен на фондовом рынке, прогнозирование погоды и так далее. Примечательно, что есть несколько типов регрессии: линейная, полиномиальная, логистическая регрессия и прочие.
Линейная регрессия. Используется для измерения подлинных качеств путем рассмотрения непротиворечивых переменных. С одной стороны, это самый простой из всех алгоритмов регрессии. С другой — реализовать его можно только в случаях линейной зависимости или линейно разделимой задачи. Алгоритм рисует прямую линию между точками данных, называемую линией наилучшего соответствия или линией регрессии, и используется для прогнозирования новых значений. Одним из распространенных примеров линейной регрессии может быть медицинская практика, в которой практикующие врачи понимают взаимосвязь между потреблением сахара и высоким уровнем сахара в крови.
Регрессия Лассо. Алгоритм регрессии Лассо работает, получая подмножество «предсказателей» (предикторов), которое минимизирует ошибку предсказания для переменной ответа. Это достигается путем наложения ограничения на точки данных и разрешения некоторым из них сжиматься до нулевого значения. Всё это нужно для того, чтобы минимизировать ошибки в прогнозировании.
Логистическая регрессия. Логистическая регрессия в основном используется для бинарной классификации. Этот метод позволяет анализировать набор переменных и прогнозировать категориальный результат. Его основные приложения включают прогнозирование пожизненной ценности клиента, стоимости дома и так далее. Наиболее яркий пример сферы использования — банковское дело. Например, у кредитной организации есть задача узнать, есть ли связь между суммами транзакций, кредитным рейтингом и злым умыслом пользователей. Алгоритм логистической регрессии здесь подойдёт лучше всего.
Многомерная регрессия. Этот алгоритм необходимо использовать, когда нужно проанализировать более одной переменной-предиктора. Широкое применение алгоритм нашёл в механизмах рекомендаций по продуктам в секторе розничной торговли. Как известно, набор продуктов, которые предпочитают покупатели, зависит от множества факторов, таких как бренд, качество, цена, отзывы. Таким образом, многомерная регрессия позволяет найти взаимосвязь между несколькими переменными.
Алгоритм множественной регрессии. Такой алгоритм использует комбинацию алгоритмов линейной регрессии и нелинейной регрессии. В качестве входных данных здесь несколько независимых переменных. Основное применение алгоритма лежит в области социальных наук, проверку подлинности страховых требований, поведенческий анализ.
3. Алгоритмы кластеризации
Кластеризация — это процесс разделения и организации точек данных в группы на основе сходства членов группы. Это уже часть неконтролируемого обучения. Основная цель состоит в том, чтобы сгруппировать похожие элементы. Например, он может объединить все транзакции мошеннического характера на основе некоторых свойств. Алгоритмы кластеризации довольно легко адаптируются к новым примерам, масштабируются до больших наборов данных и учатся выявлять поддельные новости, работать спам-фильтрами.
Кластеризация K-средних. Это простейший алгоритм бесконтрольного машинного обучения. Алгоритм собирает похожие точки данных вместе, а затем объединяет их в кластер. Кластеризация выполняется путем вычисления центроида группы точек данных и последующей оценки расстояния каждой точки данных от него. В зависимости от расстояния анализируемая точка данных назначается ближайшему кластеру. «K» в K-средних означает количество кластеров, в которые группируются точки данных. Таким образом, сфера применения таких алгоритмов уже существенно серьёзнее — здесь уже фигурируют поисковые системы и службы кибербезопасности.
Нечеткий алгоритм C-средних. Алгоритм имеет дело с вероятностью. Считается, что каждая точка данных имеет вероятность принадлежности к другому кластеру. Точки данных не имеют абсолютной принадлежности к определенному кластеру, именно поэтому алгоритм называется нечетким.
Fuzzy C-Means — это метод кластеризации, при котором набор данных группируется в N кластеров, где каждая точка данных в наборе данных так или иначе принадлежит каждому кластеру.
Алгоритм максимизации ожидания (EM). Он основан на распределении Гаусса (помните, из статистики?). Данные отображаются в модели, а после назначения вероятности рассчитывается точечная выборка на основе уравнений ожидания и максимизации.
С другой стороны, алгоритм максимизации ожидания (EM) используется в тех местах, где есть необходимость найти локальные параметры максимального правдоподобия статистической модели. Он также используется в тех местах, где уравнения не могут быть решены напрямую.
Алгоритм иерархической кластеризации. Эти алгоритмы сортируют кластеры в иерархическом порядке после изучения точек данных и наблюдения за сходством. Как правило, такой алгоритм может используется в двух видах.
- во-первых, это разделительная кластеризация для нисходящего подхода;
- во-вторых — агломеративная кластеризация для восходящего подхода.
И это далеко не все алгоритмы искусственного интеллекта
Искусственный интеллект продолжает удивлять. В реальном мире у него есть множество приложений для решения его сложных проблем. И для каждой из них найдётся свой алгоритм. Он выбирается в зависимости от необходимости и характера имеющихся у нас точек данных.
Безусловно, алгоритмы имеют свои преимущества и недостатки с точки зрения точности, производительности и времени обработки. И это всего лишь несколько примеров!..