Business Data Analytics. Технологии добычи знаний и интеллектуального анализа данных. Data mining Сайт www.BusinessDataAnalytics.ru
предлагает актуальные материалы
об алгоритмах и технологиях
добычи знаний и интеллектуального
анализа данных.

Алгоритмы Data Mining

Алгоритмы Data Mining являются основой для создания моделей. Набор алгоритмов Data Mining, входящих в SQL Server 2005, позволяют производить различные виды анализа данных.

Дерево решений - Microsoft Decision Trees

Алгоритм "Дерево решений" предназначен для решения задач классификации и регрессии и хорошо подходит для прогнозирования. В алгоритме Microsoft Decision Trees используются как дискретные, так и непрерывные атрибуты.

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

Кластеризация - Microsoft Clustering

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

В Microsoft Analysis Services 2005 для кластеризации используется модификации алгоритмов максимизации ожидания (Expectation Maximization) и K-ближайших соседей (K-Means).

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

Во втором случае итеративно минимизируется сумма квадратов расстояний (в различных метриках) от каждого элемента данных до центра соответствующего кластера.

Наивный алгоритм Байеса - Microsoft Na?ve Bayes

Наивный алгоритм Байеса предназначен для решения задач классификации и прогнозирования. В процессе его реализации вычисляются вероятности состояний входных атрибутов для каждого состояния выходного атрибута. Эти значения используются для вычисления вероятности того, что выходной атрибут принимает то или иное состояние при заданных значениях входных атрибутов. Алгоритм принимает только дискретные или дискретизированные атрибуты модели, а также исходит из предположения о стохастической независимости входных атрибутов ("наивность" алгоритма как раз обусловлена этими предположениями). Алгоритм Microsoft Na?ve Bayes представляет собой простую модель для анализа данных, которую можно рассматривать как средство первоначального разведочного анализа. Вследствие того, что большинство требуемой для построения модели информации вычисляется в процессе обработки соответствующего куба, результаты алгоритма Байеса возвращаются очень быстро. Это служит еще одним преимуществом использования алгоритма в качестве оптимального разведочного механизма для классификации и прогнозирования.

Временные ряды - Microsoft Time Series

Алгоритм Microsoft Time Series создает модели, предназначенные для прогнозирования значений непрерывных переменных по времени и использованием как OLAP, так и реляционных источников данных. Например, можно использовать этот алгоритм для прогнозирования объема продаж и прибыли по историческим данных в разрезе регионов продаж.

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

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

Алгоритм Microsoft Time Series является разновидностью алгоритмов ART (Autoregressive Trees - деревья авторегрессии). В процессе реализации алгоритма строится дерево решений, листьям которого соответствуют функции линейной регрессии.

Ассоциативные правила - Microsoft Association

Алгоритм Microsoft Association предназначен в первую очередь для анализа покупательских корзин. Анализируется каждая пара атрибут=значение (например продукт=велосипед) как значение некой логической переменной. Алгоритм сканирует транзакции в базе данных для определения "частых" наборов таких пар. Набор считается "частым" если его support (поддержка, т.е. число транзакций, в которые входит данный набор) превышает определенный порог. Например, частым набором может быть {Пол="мужской", Семейный статус = "женат", Возраст="30-35"}. Каждый набор имеет размер, например, в этом случае, он составляет 3.

Часто транзакции описываются вложенными таблицами, например, строками заказа продажи в заказе. В этом случае ключ вложенной таблицы служит названием атрибута, а факт его наличия - значением. Например {Товар("Велосипед")=existing, Товар("Велосипедная кепка")=existing}.

Алгоритм Microsoft Association помимо выявления частых набор предназначен для выявления правил вида A, B=>C, характеризуемых вероятностью выполнения (confidence), где {A, B}, {C} частые наборы. Символ '=>' означает, что появление набора C в транзакции можно предсказать из факта появления наборов A и B. Например, {Фотокамера=exisiting, Батарейки=existing}=>{Фотопленка=existing}. Порог значения вероятности соблюдения правила является параметром модели, определяющим факт рассмотрения каждого правила.

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

Кластеризация последовательностей действий - Microsoft Sequence Clustering

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

Алгоритм Microsoft Sequence Clustering является гибридом алгоритма последовательностей действий и алгоритмом кластеризации. В процессе реализации алгоритма выполняется группировка последовательности переходов в типичные кластера, характеризующиеся паттернами переходов. Каждый из этих кластеров анализируется с точки зрения распределения вероятности переходов отдельно. Типичным сценарием использования для этого алгоритма является задача анализа клиентов web-портала. У web-портала имеется набор связанных доменов, таких как новости, погода, финансы, почта, спорт и т.д. Каждый web-посетитель характеризуется последовательностью "кликов" - переходов в рамках каждого из этих доменов. Алгоритм Microsoft Sequence Clustering может сгруппировать этих web-посетителей в более-менее однородные группы на основании их паттернов навигации по порталу. Эти группы могут быть визуализированы, обеспечивая представление шаблонов использования портала каждой группой посетителей.

В алгоритме используется алгоритм Expectation Maximization для выявления кластеров, а также Марковские процессы первого порядка для моделирования переходов между состояниями (событиями).

Нейронные сети - Microsoft Neural Network

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

Линейная регрессия - Microsoft Linear Regression

Алгоритм Microsoft Linear Regression представляет собой алгоритм регрессии являющийся частным случаем алгоритма Microsoft Decision Trees, получаемый в случае запрета на разбиение узлов в дереве решений. Формула регрессии определена на всем объеме данных, т.е. на корневом узле дерева. Алгоритм предназначен для прогнозирования непрерывных атрибутов.

Логистическая регрессия - Microsoft Logistic Regression

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


в начало страницы