Наука и производство

Алгоритмы искусственного интеллекта

Искусственный интеллект и машинное обучение

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

Что такое искусственный интеллект?

Проще говоря, искусственный интеллект – это наука о том, как заставить машины думать и принимать решения, как это делают люди.

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

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

Что такое машинное обучение?

Как правило, алгоритм требует некоторого ввода данных и использует математику и логику для получения результата. В отличие от этого, алгоритм искусственного интеллекта берет комбинацию одновременно и входов, и выходов, чтобы “выучить” данные и произвести вывод, когда даются новые входы.

Этот процесс заставляет машины учиться на основе данных – это то, что мы называем машинным обучением.

Машинное обучение может осуществляться следующими способами:

  • Обучение под наблюдением
  • Неконтролируемое обучение
  • Усиление обучения
  • Обучение ансамбля

Что такое обучение под наблюдением?

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

Что такое неконтролируемое обучение?

Другой класс относится к классу “Неконтролируемое обучение”, где, в отличие от методов, основанных на наблюдении, алгоритм не имеет правильных ответов или ответов вообще, алгоритмы должны по своему усмотрению собирать схожие данные и понимать их.

Что такое Усиление обучения?

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

Что такое обучение ансамбля?

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

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

Алгоритмы искусственного интеллекта

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

Ниже приводится краткое описание категорий проблем машинного обучения:

  • Классификация
  • Регрессия
  • Кластеризация

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

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

Алгоритмы классификации

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

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

  • Наив Бэйес
  • Дерево решений
  • Случайный лес
  • Логистическая регрессия
  • Векторная поддержка машин
  • Ближайшие соседи

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

Наив Бэйес

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

Как только вы подаете данные, алгоритм обновляет эти предыдущие вероятности, формируя нечто, известное как апостериорная вероятность.

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

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

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

  Используя эти частоты, мы генерируем наши априори или исходные вероятности (например, вероятность пасмурной игры составляет 0.29, в то время как общая вероятность игры – 0.64).

Далее мы генерируем задние вероятности, где мы пытаемся ответить на вопросы типа “какова вероятность того, что на улице будет солнечно и человек будет играть в гольф?”.

Мы используем байесовскую формулу здесь,

П(Да) | Солнечный) = П(Солнечный | Да) * П(Да) / П (Солнечный)

Здесь у нас P (Солнечный |Да) = 3/9 = 0.33, P(Солнечный) = 5/14 = 0.36, P( Да)= 9/14 = 0.64.

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

Дерево решений, по сути, можно представить в виде древовидной структуры, подобной блок-схеме, где каждый внешний узел обозначает тест по атрибуту, а каждая ветвь представляет собой результат этого теста. Узлы листа содержат фактические предсказанные метки. Мы начинаем с корня дерева и продолжаем сравнивать значения атрибутов до тех пор, пока не достигнем узла листа.

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

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

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

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

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

Это метод, предназначенный в основном для задач бинарной классификации. Термин “логистика” происходит от логистической функции, которая используется в этом методе классификации. Логистическая функция, также называемая сигмоидальной функцией, представляет собой S-образную кривую, которая может взять любое вещественное число и отобразить его между 0 и 1, но никогда точно не в этих пределах.

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

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

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

Векторная машина поддержки (SVM)

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

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

Попробуем разобраться в этом на примере. Все нначинается с построения случайной гиперплоскости, а затем проверяется расстояние между гиперплоскостью и ближайшими точками данных от каждого класса. Эти ближайшие к гиперплоскости точки данных называются векторами поддержки. И оттуда и происходит название – Support Vector Machine (Векторная машина поддержки).

Гиперплоскость строится на основе этих векторов поддержки, и оптимальная гиперплоскость будет иметь максимальное расстояние от каждого из векторов поддержки. И это расстояние между гиперплоскостью и поддерживающими векторами известно как “поле”.

Регрессивные Алгоритмы

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

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

Линейная регрессия является наиболее простым и эффективным алгоритмом регрессии. Он используется для оценки подлинных качеств (стоимость домов, количество звонков, все наши сделки и т.д.) с учетом постоянной переменной (переменных). Здесь мы выстраиваем связь между свободным и приходным факторами, подгоняя наилучшую линию. Эта наиболее подходящая линия известна как регрессионная и разговаривает при прямом условии Y= a *X + b.

Возьмем простой пример, чтобы понять линейную регрессию.

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

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

Некоторые из наиболее популярных применений линейной регрессии – в прогнозировании финансового портфеля, зарплат, недвижимости, а также в трафике при поступлении в ETA.

Алгоритмы кластеризации

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

Например, кластеризация зрителей в похожие группы на основе их интересов, возраста, географии и т.д. может быть осуществлена с помощью алгоритмов Неконтролируемого Обучения, таких как K-Means Clustering (кластеризация K-Means).

Ансамбль Алгоритмы познания

В тех случаях, когда данных достаточно много, а точность прогноза высока, на первый план выходят алгоритмы форсирования.

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

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

Алгоритм повышения

Другой способ – просто обучить сразу целую кучу деревьев (это можно сделать довольно быстро и параллельно), а затем взять результаты из каждого дерева и усреднить их. Таким образом, если после обучения 10 деревьев, скажем, 6 деревьев ответят положительно на вход и 4 дерева ответят отрицательно, то результат, который вы считаете положительным. Формально это называется Мешковина.

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

Усиление градиента

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

Здесь мы рассматриваем “оптимальную” или лучшую модель, поэтому, по сути, наша модель находится на некотором расстоянии от этой “оптимальной” модели. Сейчас мы используем градиентную математику и пытаемся приблизить нашу модель к оптимальному пространству.

XGBoost

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

Это алгоритм священного грааля, когда речь идет о хакатонах, неудивительно, что CERN использовал его в модели для классификации сигналов с Большого адронного коллайдера.

Вы можете обсудить эту статью на нашем форуме (кнопка ниже).

Метки
Обсудить статью на форуме

Администратор

Впереди еще много нового!

Related Articles

Back to top button
Close