5 лучших алгоритмов интеллектуального анализа данных

На днях, просматривая https://paperswelove.org/, я обнаружил интересную статью, которая называлась Десять лучших алгоритмов интеллектуального анализа данных. который пытался объяснить важность наиболее влиятельных алгоритмов интеллектуального анализа данных в исследовательском сообществе.

Стремясь определить некоторые из наиболее влиятельных алгоритмов, которые широко используются в сообществе интеллектуального анализа данных, Международная конференция IEEE по интеллектуальному анализу данных определила 10 лучших алгоритмов интеллектуального анализа данных. [Источник: («http://www.cs.uvm.edu/~icdm/algorithms/10Algorithms-08.pdf фактически)] Здесь, в этом посте, я перечислю 5 лучших алгоритмов.

Что такое алгоритм?

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

Чтобы алгоритм считался действительным, он должен иметь следующие важные характеристики:

  1. Точность - шаги точно указаны (определены).

2. Уникальность - результаты каждого шага однозначно зависят от ввода и результата предыдущих шагов.

3. Конечность - алгоритм останавливается после выполнения конечного числа инструкций.

4. Вход - алгоритм получает входные данные.

5. Вывод - алгоритм производит вывод.

6. Общность - алгоритм применяется к набору входных данных.

Теперь давайте перейдем к вопросу «Каковы 5 лучших алгоритмов интеллектуального анализа данных». Здесь я составил список из 5 лучших алгоритмов в произвольном порядке.

1. C4.5 и выше

C4.5 - это алгоритм, используемый для создания дерева решений, разработанный Россом Куинланом. C4.5 является расширением более раннего алгоритма ID3 Куинлана. Деревья решений, сгенерированные C4.5, могут использоваться для классификации, и по этой причине C4.5 часто называют статистическим классификатором. Авторы программного обеспечения для машинного обучения Weka описали алгоритм C4.5 как «знаковую программу на основе дерева решений, которая, вероятно, является рабочей лошадкой машинного обучения, наиболее широко используемой на практике на сегодняшний день».

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

У этого алгоритма есть несколько базовых случаев.

  • Все образцы в списке принадлежат к одному классу. Когда это происходит, он просто создает листовой узел для дерева решений, предлагая выбрать этот класс.
  • Ни одна из функций не дает никакой информации. В этом случае C4.5 создает узел решения выше по дереву, используя ожидаемое значение класса.
  • Обнаружен экземпляр ранее невидимого класса. Опять же, C4.5 создает узел решения выше по дереву, используя ожидаемое значение.

2. Алгоритм k-средних

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

Алгоритм простой и легкий. Он классифицирует заданный набор данных на определенное количество кластеров (предположим, k кластеров) с фиксированными априори. Идея состоит в том, чтобы определить k среднее для каждого кластера таким образом, чтобы наименьший квадрат евклидова расстояния интуитивно был «ближайшим» средним. Причина, по которой мы используем функцию евклидова расстояния для вычисления расстояния, заключается в том, что она помогает алгоритму сходиться, когда назначения больше не меняются. Начнем с определения центров для каждого кластера, центры расположены на значительном расстоянии друг от друга. Затем мы берем точку из набора данных и группируем ее с ближайшим центром. Когда все точки сгруппированы, мы повторно вычисляем k-центроиды. После вычисления k новых центроидов необходимо выполнить новую привязку между точками и ближайшим новым центром. Создается цикл, и мы замечаем, что k центров шаг за шагом меняют свое положение, пока не перестанут происходить изменения или, другими словами, центры больше не будут перемещаться.

Наконец, этот алгоритм направлен на минимизацию целевой функции, известной как функция квадратичной ошибки, определяемая следующим образом:

куда,

|| xi - vj ||’ - евклидово расстояние между xi и vj.

ci’ - количество точек данных в ith кластере.

c’ - количество кластерных центров.

3. Поддержка векторных машин

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

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

4. Алгоритм априори

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

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

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

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

5. Наивный Байес

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

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

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

Наконец, я просто хочу добавить, что этот список следует воспринимать как мнение, а не как исчерпывающий список. Я перечислил 5 лучших алгоритмов, но другими алгоритмами в списке были PageRank, AdaBoost, kNN: классификация k-ближайшего соседа, CART и алгоритм EM.