Лучшие алгоритмы искусственного интеллекта

Лучшие алгоритмы искусственного интеллекта
Лучшие алгоритмы искусственного интеллекта

 

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

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

Вопрос – «Какой алгоритм использовать?» можно ответить, сначала ответив на несколько предварительных вопросов, таких как:

  1. В чем проблема бизнеса?
  2. Если бизнес-цель – операционная или стратегическая?
  3. Как будет реализована модель для решения бизнес-задачи?
  4. Соответствуют ли возможности алгоритма требованиям для решения бизнес-задачи?

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

 

Алгоритмы ИИ

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

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

Когда дело доходит до бизнес-проблем, проблема может быть либо:

  1. Регрессия (для прогнозирования требуются непрерывные числовые значения)
  2. Классификация (прогнозирование определенных заранее определенных классов / категорий)
  3. Сегментация (классификация данных в неопределенных группах)
  4. Прогнозирование (прогнозирование значений во времени)
  5. Оптимизация (Оптимизация значений на основе некоторого ограничения)

Алгоритм работает в различных настройках, таких как:

  1. Настройка контролируемого обучения (доступна целевая переменная Y)
  2. Настройка обучения без учителя (целевая переменная Y недоступна)
  3. Полу-неконтролируемое обучение (сочетание контролируемого и неконтролируемого обучения)
  4. Настройка обучения с подкреплением (близка к контролируемому обучению, но с концепцией вознаграждения и наказания)

Бизнес-цели могут быть в основном двух типов:

  1. Стратегические (долгосрочные и среднесрочные цели)
  2. Оперативная (краткосрочные цели)

Различные типы алгоритмов развертываются с использованием метода диапазона, такого как:

  1. Традиционные или классические статистические методы (алгоритмы, работающие исключительно на фундаментальных понятиях статистики)
  2. Методы машинного обучения (алгоритмы работают с использованием концепции самообучения)
  3. Глубокое обучение (алгоритмы, использующие архитектуру нейронной сети для работы)

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

Характеристики алгоритмов ИИ

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

  1. Точность: существует общий уровень точности сложных алгоритмов машинного и глубокого обучения, обычно имеющих высокий уровень точности, в то время как, с другой стороны, традиционные методы имеют пороговое значение и обеспечивают точность спуска и не ошибаются по праву. иногда делают другие алгоритмы.
  2. Интерпретируемость: иногда важен вопрос, как мы можем получить ту точность, которую мы получаем, и именно здесь алгоритмы, обеспечивающие высокую точность, настолько сложны, что их внутренняя работа похожа на «черный ящик» и менее интерпретируема. Становится трудно понять, что делает модель, поскольку расчеты настолько длинные и сложные, и их нелегко понять.
  3. Тип: модели могут быть параметрическими или непараметрическими. Параметрические модели – это модели, в которых обычно используется математическое уравнение, которое работает при определенных обстоятельствах для правильного функционирования. Другими словами, существует набор строгих предположений, которые должны быть выполнены, что позволяет алгоритму принадлежать данным определенному семейству распределений и пытаться создать линию наилучшего соответствия и делать прогнозы. Однако есть и другие модели, которые можно отнести к категории непараметрических, которые имеют меньше требований к предположениям, которые необходимо выполнить, и не создают математических уравнений для функционирования. Алгоритмы могут быть основаны на правилах, расстояниях, вероятностях и т. д.
  4. Возможности обработки размера данных: некоторые алгоритмы могут обрабатывать данные очень больших размеров, т. е. имеется большое количество строк. Точно так же определенный алгоритм лучше всего подходит для работы с большими данными.
  5. Устойчивость к мультиколлинеарности: некоторые алгоритмы, особенно древовидные алгоритмы, гораздо более устойчивы к мультиколлинеарности, чем, скажем, традиционные модели.
  6. Восприимчивость к выбросам: параметрические алгоритмы обычно более уязвимы к выбросам, в то время как другие – нет.
  7. Допущения: для некоторых алгоритмов существует набор предопределенных предположений, которые должны быть выполнены, чтобы они функционировали должным образом, в то время как для других, обычно непараметрических алгоритмов, отсутствуют или менее жесткие требования к предположениям.
  8. Этап обучения и тестирования: время, затрачиваемое на этапах обучения и тестирования, отличается в зависимости от определенного алгоритма, который зависит от большого количества небольших изолированных вычислений, занимающих много времени на этапе тестирования, в то время как алгоритмы, в которых задействованы математические уравнения, занимают больше времени на этапе обучения.

 

Плюсы и минусы алгоритмов ИИ

 

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

1. Linear / Logistic Regression

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

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

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

2. Support Vector Machines

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

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

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

3. K Nearest Neighbor

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

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

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

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

4. Naïve Bayes

Naïve Bayes метод – это вероятностный метод, способный выполнить большое количество вероятностных вычислений за очень короткий период времени для прогнозирования. Это причина того, что он очень эффективен, поскольку занимает меньше времени на этапе обучения и тестирования и может работать с данными очень больших размеров.

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

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

5. Decision Trees

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

Он имеет приличный уровень точности, причем наиболее важным аспектом его преимуществ является высокая степень интерпретируемости.

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

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

6. Random Forest

Random Forest – это особый случай бэггинга, когда с использованием самозагрузки и случайных подпространств создается ряд выборок, для которых подходит алгоритм решающей привязки, и вычисляются множественные точности, тем самым упрощая иначе сложную границу решения, следовательно, решая проблему мультиколлинеарности. Поскольку в качестве алгоритмов используются Decision Trees, он имеет почти тот же набор преимуществ (включая отсутствие требований к предположениям, подготовке данных и приличный уровень точности), но не имеет того же набора недостатков, что и пытается решить проблема переобучения.

Проблемы Random Forest отличаются от деревьев решений, так как они могут стать чрезвычайно сложными, требующими больших вычислительных затрат и затрат времени. Также,уровень повышения точности уменьшается с увеличением количества пакетов (образцов), поэтому роль настройки гиперпараметров становится чрезвычайно важной, таких как глубина деревьев и количество пакетов. Самая большая потеря Random Forest – это отсутствие интерпретируемости, поскольку он работает как черный ящик, и это одно из преимуществ Decision Trees, которого нет в Random Forest, поскольку это один из методов ансамблевого обучения, который в целом очень плохо интерпретируемый.

7. Bagging / Boosting

Bagging и Boosting, оба являются ансамблевыми методами. Цель обоих этих методов – решить проблему переобучения. Bagging – это параллельный процесс, в то время как Bossting – последовательный метод. Оба эти метода могут использовать любой алгоритм, но наиболее распространенный алгоритм – это Decision Trees. В результате они могут решать задачи классификации и регрессии.

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

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

8. Artificial Neural Networks

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

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

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

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

Путь вперед

Понимание различных алгоритмов очень важно, поскольку помогает выбрать правильный алгоритм и оптимизировать точность, которую можно достичь с помощью этого алгоритма. Однако также важно понимать будущее применения таких алгоритмов. Например, модуль Hunga Bunga (на стадии бета-тестирования) от scikit изучает тесты и сравнивает длинный список моделей, доступных в Sklearn, после того, как пользователь подает предварительно обработанные данные. Это позволяет пользователю применить все основные алгоритмы за один раз и получить список с точностью, обеспечиваемой каждым алгоритмом. Это по-прежнему не может заменить требования к специалисту по данным, обладающему глубокими знаниями различных алгоритмов, знанием преимуществ и ограничений каждого алгоритма, помогающего в их правильной реализации к развитию.

Террорист Путин и Россия должна понес...

12 мая 1997 года президент России Борис Ельцин и президент Чечни Аслан Масхадов подписали в Москве мирный договор о прекращении первой русско-чеченской вой...

Уничтожение 48 террористов ГРУ Росс…

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

Россия это огромная страна безбожнико...

Только люди, не боящиеся Бога, могут так жестоко уничтожать другой маленький народ. Сейчас идет война между Всевышним и самим Сатаной! Все русские — ничтожные рабы своей...

Террористам РФ никогда нас не победить…

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