Исследование математических моделей, методов и средств бизнес-аналитики СУБД SQL Server
Обобщенная архитектура системы поддержки принятия решений. Особенности технологии реляционного хранения данных. Представление информации в виде гиперкуба. Графическая иллюстрация задачи кластеризации. Описание математических основ бизнес-аналитики.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 09.06.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1. Евклидово расстояние - Иногда может возникнуть желание возвести в квадрат стандартное евклидово расстояние, чтобы придать большие веса более отдаленным друг от друга объектам. Это расстояние вычисляется следующим образом:
.
2. Расстояние по Хеммингу является просто средним разностей по координатам. Вычисляется по формуле:
3. Расстояние Чебышева может оказаться полезным, когда желают определить два объекта как "различные", если они различаются по какой-либо одной координате (каким-либо одним измерением). Вычисляется по формуле:
4. Расстояние Махаланобиса вычисляется по формуле:
5. Пиковое расстояние предполагает независимость между случайными переменными, что говорит о расстоянии в ортогональном пространстве. Но в практических приложениях эти переменные не являются независимыми.
Задача поиска ассоциативных правил.
Обозначим объекты, составляющие исследуемые наборы (itemsets), следующим множеством:
,
где -- объекты, входящие в анализируемые наборы; n -- общее количество объектов.
Наборы объектов из множества I, хранящиеся в БД и подвергаемые анализу, называются транзакциями. Опишем транзакцию как подмножество множества I:
.
Набор транзакций, информация о которых доступна для анализа, обозначим следующим множеством:
,
где m -- количество доступных для анализа транзакций.
Множество транзакций, в которые входит объект , обозначим следующим образом:
.
Некоторый произвольный набор объектов (itemset) обозначим следующим образом:
.
Множество транзакций, в которые входит набор F , обозначим следующим образом:
.
Отношение количества транзакций, в которое входит набор F , к общему количеству транзакций называется поддержкой (support) набора F и обозначается Supp(F):
.
При поиске аналитик может указать минимальное значение поддержки интересующих его наборов . Набор называется частым (large itemset), если значение его поддержки больше минимального значения поддержки, заданного пользователем:
.
Таким образом, при поиске ассоциативных правил требуется найти множество всех частых наборов:
.
Обзор алгоритмов интеллектуального анализа данных.
Существует большое количество методов и алгоритмов интеллектуального анализа данных. Но в данной работе мы ограничимся рассмотрением тех алгоритмов, которые реализуются в SQL Server 2008, так как тема бакалаврской работы связана с рассмотрением бизнес-аналитики на этой платформе.
Таблица 3. Соответствие алгоритмов Microsoft для задач интеллектуального анализа данных
Задача интеллектуального анализа данных |
Алгоритмы интеллектуального анализа данных |
|
Классификация |
Для задачи классификации используются следующие алгоритмы Microsoft: упрошенный алгоритм Байеса, алгоритм дерева принятия решений, алгоритм нейронной сети. |
|
Регрессия |
Для задачи регрессии используются следующие алгоритмы Microsoft: алгоритм дерева принятия решений, алгоритм линейной регрессии, алгоритм временных рядов, алгоритм нейронной сети, алгоритм логической регрессии. |
|
Кластеризация |
Для задачи кластеризации используются следующие алгоритмы Microsoft: алгоритм кластеризации, алгоритм кластеризации последовательностей. |
|
Поиск взаимосвязей |
Для задачи поиска взаимосвязей используются следующие алгоритмы Microsoft: алгоритм дерева принятия решений, алгоритм взаимосвязей. |
Упрощенный алгоритм Байеса.
Упрощенный алгоритм Байеса - это алгоритм классификации, основанный на вычислении условной вероятности значений прогнозируемых атрибутов. Предполагается, что входные атрибуты являются независимыми и определен хотя бы один выходной атрибут.
Алгоритм основан на использовании формулы Байеса. Пусть - полная группа несовместных событий, а B - некоторое событие, вероятность которого положительна. Тогда условная вероятность события , если в результате эксперимента наблюдалось событие B, может быть вычислена по формуле:
.
Формула Байеса позволяет вычислить условные (апостериорные) вероятности.
Для СУБД MS SQL Server 2008 описание модели интеллектуального анализа хранится в виде иерархии узлов. Для упрощенного алгоритма Байеса иерархия имеет 4 уровня. Среда разработки BI Dev Studio позволяет просмотреть содержимое модели.
Для корректного использования этого алгоритма необходимо учитывать:
1. входные атрибуты должны быть взаимно независимыми;
2. атрибуты могут быть только дискретными или дискретизованными (в процессе дискретизации множество значений непрерывного числового атрибута разбивается на интервалы и далее идет работы с номером интервала);
3. алгоритм требует меньшего количества вычислений, чем другие алгоритмы интеллектуального анализа для MS SQL Server 2008, поэтому он часть используется для первоначального исследования данных. По этой же причине алгоритм предпочтителен для анализа больших наборов данных с большим числом входных атрибутов.
Алгоритм дерева принятия решений.
Алгоритм представляет собой алгоритм регрессии и алгоритм классификации, предоставляемый службами Microsoft SQL Server Службы Analysis Services для использования в прогнозирующем моделировании как дискретных, так и непрерывных атрибутов.
Для дискретных атрибутов алгоритм осуществляет прогнозирования на основе связи между входными столбцами в наборе данных. Он использует значения этих столбцов (известные как состояния) для прогнозирования состояний столбца, который обозначается как прогнозируемый. Алгоритм идентифицирует входные столбцы, которые коррелированы с прогнозируемым столбцом.
Для непрерывных атрибутов алгоритм использует линейную регрессию для определения места разбиения дерева решений.
Если несколько столбцов установлены как прогнозируемые или если входные данные содержат вложенную таблицу, которая задана как прогнозируемая, то алгоритм строит отдельное дерево решений для каждого прогнозируемого столбца.
Принцип работы алгоритма.
Алгоритм дерева принятия решений строит модель интеллектуального анализа данных путем создания ряда разбиений в дереве. Эти разбиения представлены как узлы. Алгоритм добавляет узел к модели каждый раз, когда выясняется, что входной столбец имеет значительную корреляцию с прогнозируемым столбцом. Способ, которым алгоритм определяет разбиение, отличается в зависимости от того, прогнозирует ли он непрерывный столбец или дискретный столбец.
Алгоритм дерева принятия решений использует выбор компонентов для руководства набором наиболее полезных атрибутов. Выбор компонентов используется всеми алгоритмами интеллектуального анализа данных служб Службы Analysis Services для увеличения производительности и качества анализа. Выбор компонентов играет важную роль в предотвращении использования процессорного времени малозначительными атрибутами. Если при разработке модели интеллектуального анализа данных в нее было добавлено слишком много входных или прогнозируемых атрибутов, то ее обработка может занять очень много времени или даже привести к нехватке памяти.
Прогнозирование дискретных столбцов.
Способ, которым алгоритм дерева принятия решений строит дерево для дискретного прогнозируемого столбца, можно продемонстрировать с использованием гистограммы. Показана гистограмма, на которой построен прогнозируемый столбец «Покупатели велосипедов» в сравнении с входным столбцом «Возраст». Гистограмма «Б» показывает, что возраст человека помогает определить, купит ли этот человек велосипед.
Рис. 16. Гистограмма «А»
Корреляция, показанная на диаграмме, приведет к тому, что алгоритм дерева принятия решений создаст новый узел в модели.
Добавление алгоритмом новых узлов к модели приводит к созданию древовидной структуры. Верхний узел дерева описывает разбиение прогнозируемого столбца для всех заказчиков. При продолжении роста модели алгоритм рассматривает все столбцы.
Рис. 17. Гистограмма «Б»
Прогнозирование непрерывных столбцов.
Когда алгоритм дерева принятия решений строит дерево, основанное на непрерывном прогнозируемом столбце, каждый узел содержит регрессионную формулу. Разбиение осуществляется в точке нелинейности в этой регрессионной формуле.
Рис. 18. Диаграмма данных
Диаграмма содержит данные, которые можно моделировать либо используя одиночную линию, либо используя две соединенные линии. Однако одиночная линия не обеспечит надлежащего представления данных. Вместо этого при использовании двух линий модель обеспечит гораздо более точное приближение данных. Точка соединения этих двух линий является точкой нелинейности и представляет собой точку, в которой разобьется узел в модели дерева решений. Эти два уравнения представляют регрессионные уравнения для этих двух линий.
Рис. 19. Регрессионные уравнения
Алгоритм линейной регрессии.
Алгоритм линейной регрессии позволяет представить зависимость между входной и выходной переменными как линейную, а затем использовать полученный результат при прогнозировании. Подобный пример представлен на рисунке 16. Линия на диаграмме является наилучшим линейным представлением данных.
Рис. 20. Пример использования линейной регрессии
В случае одной независимой переменной (одного регрессора), задача может быть сформулирована следующим образом.
Уравнение, описывающее прямую на плоскости: . Для i-й точки будет справедливо , где - разница между фактическим значением и вычисленным в соответствии уравнением линии. Каждой точке соответствует ошибка, связанная с ее расстоянием от линии регрессии. Нужно с помощью подбора коэффициентов a и b получить такое уравнение, чтобы сумма ошибок, связанных со всеми точками, стала минимальной. Для решения этой задачи может использоваться, в частности, метод наименьших квадратов.
В SQL Server 2008 при выборе алгоритма линейной регрессии вызывается особый вариант алгоритма дерева решений с параметрами, которые ограничивают поведение алгоритма и требуют использования определенных типов данных на входе.
Линейная регрессия является полезным и широко известным методом моделирования, особенно для случаев, когда известен приводящий к изменениям базовый фактор, и есть основания ожидать линейный характер зависимости.
Алгоритм анализа временных рядов.
В общем случае, временной ряд - это набор числовых значений, собранных в последовательные моменты времени (в большинстве случаев - через равные промежутки времени). Целью анализа временного ряда может быть выявление имеющихся зависимостей текущих значений параметров от предшествующих, с последующим использованием их для прогнозирования новых значений.
Ряд можно представить как упорядоченное множество элементов или событий , каждое из которых в общем случае может быть описано набором атрибутов: . На практике чаще всего используется один атрибут. При описании варианта для интеллектуального анализа данных, отметка времени (или номер элемента во временном ряде) вводится как один из атрибутов. Как правило, предполагается, что отметка времени - дискретное числовое значение, а предсказываемый атрибут - непрерывный.
Выделяют два основных формата представления временных рядов - столбчатый и чередующийся (или смешанный, от англ. mixed). С данными в столбчатом формате несколько проще работать, но этот формат менее гибкий.
Рассмотрим теперь некоторые особенности реализации алгоритма в SQL Server 2008. Алгоритм временных рядов (Microsoft Time Series) предоставляет собой совокупность двух алгоритмов регрессии, оптимизированных для прогноза рядов непрерывных числовых значений. Ими являются:
? алгоритм «дерево авторегрессии с перекрестным прогнозированием» (ARTxp), который оптимизирован для прогнозирования следующего значения в ряду; он появился в SQL Server 2005;
? алгоритм «интегрированные скользящие средние авторегрессии» (ARIMA), являющийся отраслевым стандартом в данной области; добавлен в SQL Server 2008, чтобы повысить точность долгосрочного прогнозирования.
По умолчанию службы Analysis Services для обучения модели используют каждый алгоритм отдельно, а затем объединяют результаты, чтобы получить наиболее точный прогноз. В зависимости от имеющихся данных и требований к прогнозам, можно выбрать для использования только один алгоритм.
Учет корреляций между рассматриваемыми рядами или, иначе говоря, перекрестного влияния рядов, можно отметить в качестве особенности реализации алгоритма временных рядов в SQL Server.
Точность прогноза для временного ряда может повысить указание известной периодичности.
Авторегрессия отличается от обычной регрессии тем, что текущее значение параметра выражается через его значения в предыдущие моменты времени. Если использовать линейные зависимости, то алгоритм имеет решение в виде:
.
где: - погрешность, которую надо минимизировать путем подбора коэффициентов , в чем и заключается обучение модели. Использование аналитическими службами SQL Server дерева авторегрессии позволяет менять формулу путем разбиения в точках нелинейности.
Алгоритм кластеризации.
Кластеризация позволяет снизить размерность задачи анализа предметной области, путем «естественной» группировки вариантов в кластеры. Таким образом, кластер будет объединять близкие по совокупности параметров элементы, и в некоторых случаях, его можно рассматривать как единое целое.
В случаях, когда для группировки используются значения одного-двух параметров, задача кластеризации может быть относительно быстро решена вручную или, например, обычными средствами работы с реляционными базами данных. Когда параметров много, возникает потребность в автоматизации процесса выявления кластеров.
Предоставляемый аналитическими службами SQL Server 2008 алгоритм кластеризации (Microsoft Clustering), использует итерационные методы для группировки вариантов со сходными характеристиками в кластеры. Алгоритм сначала определяет имеющиеся связи в наборе данных и на основе этой информации формирует кластеры.
Идею можно проиллюстрировать с помощью диаграмм на рисунке 21. На первом этапе имеется множество вариантов, далее идет итерационный процесс формирования кластеров, и в итоге получен относительно небольшой набор кластеров, которым можно задать идентификаторы и продолжить анализ.
Рис. 21. Переход от отдельных вариантов к кластерам
Microsoft Clustering содержит реализацию двух алгоритмов кластеризации. Первый из них, алгоритм К-средних (англ. c-means), реализует, так называемую жесткую кластеризацию. Это значит, что вариант может принадлежать только одному кластеру. Идея алгоритма заключается в следующем:
1. Выбирается число кластеров k.
2. Из исходного множества данных случайным образом выбираются k записей, которые будут служить начальными центрами кластеров.
3. Для каждой записи исходной выборки определяется ближайший к ней центр кластера. При этом записи, «притянутые» определенным центром, образуют начальные кластеры.
4. Вычисляются центроиды - центры тяжести кластеров. Каждый центроид - это вектор, элементы которого представляют собой средние значения признаков, вычисленные по всем записям кластера. Центр кластера смещается в его центроид.
Шаги 3 и 4 итеративно повторяются, при этом может происходить изменение границ кластеров и смещение их центров. В результате минимизируется расстояние между элементами внутри кластеров. Остановка алгоритма производится тогда, когда границы кластеров и расположения центроидов не перестанут изменяться от итерации к итерации, т.е. на каждой итерации в каждом кластере будет оставаться один и тот же набор записей.
Второй метод, реализованный в Microsoft Clustering, это максимизация ожиданий (англ. Expectation-maximization, EM). Он относится к методам мягкой кластеризации, т. е. вариант в этом случае принадлежит к нескольким кластерам, а для всех возможных сочетаний вариантов с кластерами вычисляются вероятности.
При кластеризации методом EM алгоритм итеративно уточняет начальную модель кластеризации, подгоняя ее к данным, и определяет вероятность принадлежности точки данных кластеру. Этот алгоритм заканчивает работу, когда вероятностная модель соответствует данным. Функция, используемая для установления соответствия, - логарифм функции правдоподобия данных, вводимых в модель.
Если в процессе формируются пустые кластеры или количество элементов в одном или нескольких кластерах оказывается меньше заданного минимального значения, малочисленные кластеры заполняются повторно с помощью новых точек и алгоритм EM запускается снова. Результаты работы алгоритма максимизации ожидания являются вероятностными: каждая точка данных принадлежит всем кластерам, но с разной вероятностью. Поскольку метод допускает перекрытие кластеров, сумма элементов всех кластеров может превышать число элементов обучающего набора.
Реализация Майкрософт предоставляет два режима: масштабируемую и немасштабируемую максимизацию ожидания. По умолчанию при масштабируемой максимизации ожидания просматривается 50 000 записей. В случае успеха модель использует только эти данные. Если модель не удается подогнать на основании 50 000 записей, считываются еще 50 000 записей. При немасштабируемой максимизации ожидания считывается весь набор данных, независимо от его размера. Этот метод создает кластеры более точно, но предъявляет значительные требования к объему памяти.
По умолчанию используется масштабируемая максимизация ожидания, так как это более производительный алгоритм с меньшими требованиями к объему оперативной памяти. В большинстве случаев выигрыш в скорости не ведет к ухудшению качества окончательной модели.
Алгоритм взаимосвязей.
Алгоритм взаимосвязей или ассоциативных правил (Association Rules) позволяет выявить часто встречающиеся сочетания элементов данных и использовать обнаруженные закономерности для построения прогноза.
Для выявления часто встречающихся наборов объектов может использоваться алгоритм Apriori, реализация которого лежит в основе алгоритма Microsoft Association Rules, использующегося в SQL Server 2008. Алгоритм Apriori последовательно выделяет часто встречающиеся одно-, двух-, …, n-элементные наборы. На i-м этапе выделяются i-элементные наборы. Для этого сначала выполняется формирование наборов-кандидатов, после чего для них рассчитывается поддержка.
Поддержка (от англ. support) используется для измерения популярности набора элементов. Например, поддержка набора элементов {A,B} - общее количество транзакций, которые содержат как A, так и B.
Чтобы количественно охарактеризовать правило, используется вероятность (англ. probability). Этот же показатель иногда называется достоверностью.
Probability (A=>B) = Probability (B|A) = Support(A,B)/Support(A).
Вероятность для набора {A,B} рассчитывается как отношение числа транзакций, содержащих этот набор, к общему числу транзакций.
Чтобы оценить взаимную зависимость элементов используется важность (англ. importance) или показатель интереса.
Importance({A,B})=Probability({A,B})/(Probability(A)*Probability(B)).
Если Importance({A,B}) = 1, то A и B - независимые элементы. Importance({A,B}) > 1 означает, что A и B имеют положительную корреляцию (клиент купивший товар A вероятно купит и B). Importance({A,B}) < 1 указывает на отрицательную корреляцию.
Для правил важность рассчитывается как логарифм отношения вероятностей:
Importance(A => B) = log(Probability(B|A)/(Probability(B| not A)).
В данном случае равная 0 важность означает, что между A и B нет взаимосвязи. Положительная важность означает, что вероятность B повышается, когда справедливо A; отрицательная - вероятность B понижается, когда справедливо A.
Настройками пороговых значений можно регулировать максимальное число элементов в рассматриваемых наборах, минимальную вероятность, при которой правило будет рассматриваться, минимальную поддержку для рассматриваемых наборов и т.д.
Алгоритм кластеризации последовательностей.
Задача кластеризации последовательностей - выявить часто встречающиеся последовательности событий. Важное различие заключается в том, что в данном случае учитывается, в какой очередности события происходят (или элементы добавляются в набор). Схожие последовательности объединяются в кластеры. Кроме анализа характеристик кластеров, возможно решение задачи прогнозирования наступления событий на основании уже произошедших ранее.
Используемый аналитическими службами SQL Server 2008 алгоритм Microsoft Sequence Clustering - это гибридный алгоритм, сочетающий методы кластеризации с анализом марковских цепей. Анализируемое множество вариантов формируется с использованием вложенных таблиц.
Важно, чтобы вложенная таблица содержала собственный идентификатор, который позволил бы определить последовательность элементов.
С помощью марковских моделей анализируется направленный граф, хранящий переходы между различными состояниями. Алгоритм Microsoft Sequence Clustering использует марковские цепи n-го порядка. Число n говорит о том, сколько состояний использовалось для определения вероятности текущего состояния. В модели первого порядка вероятность текущего состояния зависит только от предыдущего состояния. В марковской цепи второго порядка вероятность текущего состояния зависит от двух предыдущих состояний, и так далее.
Вероятности перехода между состояниями хранятся в матрице переходов. По мере удлинения марковской цепи, размер матрицы растет экспоненциально, соответственно растет и время обработки, что надо учитывать при решении практических задач.
Далее алгоритм изучает различия между всеми возможными последовательностями, чтобы определить, какие последовательности лучше всего использовать в качестве входных данных для кластеризации. Созданный алгоритмом список вероятных последовательностей используется в качестве входных данных для применяемого по умолчанию EM-метода кластеризации (англ. Expectation Maximization, максимизации ожидания).
Целями кластеризации являются как связанные, так и не связанные с последовательностями атрибуты. У каждого кластера есть марковская цепь, представляющая полный набор путей, и матрица, содержащая переходы и вероятности последовательности состояний. На основе начального распределения используется правило Байеса для вычисления вероятности любого атрибута, в том числе - последовательности, в конкретном кластере.
Алгоритм нейронных сетей.
В случае наличия в данных сложных зависимостей между атрибутами, «быстрые» алгоритмы интеллектуального анализа, такие как упрощённый алгоритм Байеса, могут давать недостаточно точный результат. Улучшить ситуацию может применение нейросетевых алгоритмов.
Нейронные сети - это класс моделей, построенных по аналогии с работой человеческого мозга. Существуют различные типы сетей, в частности, в SQL Server алгоритм нейронной сети использует сеть в виде многослойного перцептрона, в состав которой может входить до трех слоев нейронов, или перцептронов. Такими слоями являются входной слой, необязательный скрытый слой и выходной слой.
Рис. 22 Пример схемы нейронной сети
Каждый нейрон получает одно или несколько входных значений (входов) и создает выходное значение (один или несколько одинаковых выходов). Каждый выход является простой нелинейной функцией суммы входов, полученных нейроном. Входы передаются в прямом направлении от узлов во входном слое к узлам в скрытом слое, а оттуда передаются на выходной слой. Нейроны в составе слоя не соединены друг с другом. Скрытый слой может отсутствовать (в частности, это используется алгоритмом логистической регрессии).
В используемом аналитическими службами SQL Server 2008 алгоритме Microsoft Neural Network, имеющий более двух состояний дискретный входной атрибут модели интеллектуального анализа приводит к созданию одного входного нейрона для каждого состояния и одного входного нейрона для отсутствующего состояния (если обучающие данные содержат какие-либо значения NULL). Непрерывный входной атрибут «создает» два входных нейрона: один нейрон для отсутствующего состояния и один нейрон для значения самого непрерывного атрибута. Входные нейроны обеспечивают входы для одного или нескольких скрытых нейронов.
Выходные нейроны представляют значения прогнозируемых атрибутов для модели интеллектуального анализа данных. Дискретный прогнозируемый атрибут, имеющий более двух состояний, «создает» один выходной нейрон для каждого состояния и один выходной нейрон для отсутствующего или существующего состояния. Непрерывные прогнозируемые столбцы «создают» два выходных нейрона: один нейрон для отсутствующего или существующего состояния и один нейрон для значения самого непрерывного столбца.
Нейрон получает входы от других нейронов или из других данных, в зависимости от того, в каком слое сети он находится. Входной нейрон получает входы от исходных данных. Скрытые нейроны и выходные нейроны получают входы из выхода других нейронов нейронной сети. Входы устанавливают связи между нейронами, и эти связи являются путем, по которому производится анализ для конкретного набора вариантов.
Каждому входу присвоено значение, именуемое весом, которое описывает релевантность или важность конкретного входа для скрытого или выходного нейрона. Чем больше вес, присвоенный входу, тем более важным является значение этого входа. Значения веса могут быть отрицательными; это означает, что вход может подавлять, а не активировать конкретный нейрон. Чтобы выделить важность входа для конкретного нейрона, значение входа умножается на вес. В случае отрицательных весов умножение значения на вес служит для уменьшения важности входа. Схематично это представлено на рисунке 17, где - вход, - соответствующий ему вес.
Рис. 23 Формальное представление нейрона
Каждому нейрону сопоставлена простая нелинейная функция, называемая функцией активации, которая описывает релевантность или важность определенного нейрона для этого слоя нейронной сети. В качестве функции активации в алгоритме Microsoft Neural Network
крытые нейроны используют функцию гиперболического тангенса (tanh), а выходные нейроны -- сигмоидальную (логистическую) функцию. Обе функции являются нелинейными и непрерывными, позволяющими нейронной сети моделировать нелинейные связи между входными и выходными нейронами.
Обучение модели интеллектуального анализа данных производится по следующей схеме. Алгоритм сначала оценивает обучающие данные и резервирует определенный процент из них для использования при определении точности сети.
Затем алгоритм определяет количество и сложность сетей, включаемых в модель интеллектуального анализа данных. Определяется число нейронов в каждом слое. Процесс обучения строится по следующей схеме:
1. На начальной стадии случайным образом присваиваются значения всем весам всех входов в сети.
2. Для каждого обучающего варианта вычисляются выходы.
3. Вычисляются ошибки выходов. В качестве функции ошибки может использоваться квадрат остатка (квадрат разности между спрогнозированным и фактическим значением).
Шаги 2, 3 повторяются для всех вариантов, используемых в качестве образцов. После этого, веса в сети обновляются таким образом, чтобы минимизировать ошибки.
В процессе обучения может выполняться несколько итераций. После прекращения роста точности модели обучение завершается.
Алгоритм логической регрессии.
Логистическая регрессия является известным статистическим методом для определения влияния нескольких факторов на логическую пару результатов. Например, задача может быть следующей.
Предположим, что прогнозируемый столбец содержит только два состояния, и необходимо провести регрессионный анализ, сопоставляя входные столбцы с вероятностью того, что прогнозируемый столбец будет содержать конкретное состояние. Результаты, полученные методами линейной и логистической регрессии, представлены на рисунке 20«А» и 20«В» соответственно. Линейная регрессия не ограничивает значения функции диапазоном от 0 до 1, несмотря на то, что они должны являться минимальным и максимальным значениями этого столбца. Кривая, формируемая алгоритмом логистической регрессии, в этом случае более точно описывает исследуемую характеристику.
Рис. 24. Сравнение результатов, полученных методами линейной «А» и логистической регрессии «В»
В реализации Майкрософт, для моделирования связей между входными и выходными атрибутами применяется видоизмененная нейронная сеть, в которой отсутствует скрытый слой. Измеряется вклад каждого входного атрибута, и в законченной модели различные входы снабжаются весовыми коэффициентами. Название «логистическая регрессия» отражает тот факт, что кривая данных сжимается путем применения логистического преобразования, чтобы снизить эффект экстремальных значений.
В данной главе выполнен обзор технологий бизнес-аналитики, в частности - обзор оперативного анализа данных, построенного на базе OLAP, и интеллектуального анализа данных, для реализации которого может быть использован Data Mining, и указана основная их цель и преимущество.
Также приведено подробное описание моделей, используемые средствами СУБД SQL Server. В данном разделе подробно рассказывается о методах и алгоритмах, заложенных в анализе данных, а также их формализация.
В первой части работы приведена подробная архитектура СУБД для улучшения понимания происходящих процессов.
Следующая глава будет посвящена разделу с языковыми средствами для СУБД SQL Server.
2. Языковые средства бизнес-аналитики: языки MDX и DMX
2.1 Базовые понятия языка MDX
Подобно тому, как SQL представляет собой язык создания запросов для извлечения данных из реляционных баз данных, MDX (MultiDimensional eXpressions -- язык многомерных выражений) является языком запросов, используемым для извлечения данных из многомерных баз данных. Точнее, MDX используется для запрашивания данных из баз данных OLAP с помощью Analysis Services и поддерживает два особых режима. При использовании в качестве выражений MDX позволяет определять многомерные объекты и данные для вычисления значений, а также управлять ими. Изначально MDX был разработан компанией Microsoft и был введен вместе с Analysis Services 7.0 в 1998 году.
Основой многомерной базы данных является куб. Каждый куб обычно содержит более двух измерений. Куб Adventure Works в учебной базе данных содержит 21 измерение.
Объект Measures (размерности) представляет собой специальное измерение, которое является набором размерностей. Размерности являются количественными сущностями, которые используются для анализа. Каждая размерность представляет собой часть категории, называющейся размерной группой (measure group). Размерные группы являются наборами связанных размерностей, и каждая размерность может быть частью только одной размерной группы. Размерные группы используются инструментами разработки или клиентскими инструментами главным образом для навигационных целей, чтобы улучшить читабельность или облегчить использование конечным пользователям. Они никогда не используются в запросах MDX при обращении к размерностям. Тем не менее, они могут использоваться в определенных функциях MDX. По умолчанию служба анализа генерирует размерную группу для каждой таблицы фактов.
Каждая иерархия измерения содержит один или несколько элементов, называемых членами (members). Каждый член соответствует одному или нескольким вхождениям этого значения в базовую таблицу измерений.
В MDX каждый член иерархии представлен уникальным именем. Уникальные имена помогают идентифицировать определенные члены.
Ячейка (cell) представляет собой элемент, из которого вы можете извлечь данные, соответствующие пересечению членов измерения. Число ячеек внутри куба данных определяется числом иерархий в каждом из измерений куба данных и числом членов каждой иерархии. Ячейки хранят значения всех размерностей в кубе. Если для какой-нибудь размерности недоступно значение данных в ячейке, считается, что соответствующим значением размерности является значение Null (т.е. пустое значение).
Кортеж (tuple) уникально идентифицирует ячейку или раздел куба данных. Кортеж представлен членами измерений куба данных (по одному члену из каждого измерения), разделенными запятыми. Кортеж заключается в круглые скобки. Кортеж совсем необязательно должен явно содержать члены всех измерений куба данных.
Поскольку кортеж уникально идентифицирует ячейку, он может содержать не более одного члена от каждого измерения. Кортеж, представленный единственным членом, называют простым кортежем. Простой кортеж можно не заключать в круглые скобки. Если кортеж представлен членами нескольких измерений, то такой кортеж требуется заключать в круглые скобки. Совокупности кортежей формируют новые объекты (называемые наборами), которые часто используются в запросах и выражениях MDX.
Набор (set) -- это совокупность кортежей, которые определены с использованием одинакового количества одних и тех же измерений. Набор обычно заключается в фигурные скобки ({}).
2.2 Создание структуры многомерного анализа
Запрос на языке MDX представляет собой набор команд, который выглядит следующим образом:
[WITH <formula_expression> [, <formula_expression> ...]]
SELECT [<axis_expression>, [<axis_expression>...]]
FROM [<cube_expression>]
[WHERE [slicer_expression]]
где: axis_specification -- содержит описание осей куба; cube_specification -- содержит название куба; slicer_specification -- содержит описание срезов куба.
Ключевые слова WITH, SELECT, FROM и WHERE в сочетании с выражениями, следующими за ними, принято называть предложениями (clause). В представленном выше шаблоне запроса MDX в квадратные скобки заключены необязательные элементы, которые могут присутствовать в одних запросах и отсутствовать в других.
Выражение SELECT.
В языке MDX выражение SELECT используется для задания набора данных, содержащего подмножество многомерных данных. Предложения WITH и WHERE являются необязательными, поскольку они заключены в квадратные скобки ([]). Таким образом, простейший запрос выглядит следующим образом:
SELECT
FROM [Adventure Works]
Этот запрос MDX возвращает единственное значение; кортеж, ссылающийся на него, использует для возвращения этого значения заданные по умолчанию члены измерений.
Фактические данные содержатся в специальном измерении, которое называется Measures. Если приведенный выше запрос отправить к экземпляру Analysis Services, то в результате получим заданный по умолчанию член измерения Measures, который является одной из размерностей куба. Результатом данного запроса является значение, полученное путем агрегации значений всех относящихся к этой размерности ячеек куба для заданных по умолчанию значений каждого измерения куба.
Предложение WITH используется для пользовательских вычислений и операций.
Инструкция SELECT языка MDX используется для извлечения подмножества многомерных данных из сервера OLAP. язык MDX предоставляет вам возможность извлекать данные по нескольким осям. В языке MDX используется следующий синтаксис для инструкции SELECT:
SELECT [<axis_expression>, [<axis_expression>...]]
Выражение axis_expression, указанное после ключевого слова SELECT, ссылается на измерение, представляющее те данные, которые вы желаете извлечь. Эти измерения называют осевыми измерениями (axis dimensions), поскольку представленные ими данные проецируются на соответствующие оси. Для выражения axis_expression используется следующий синтаксис:
<axis_expression> := <набор> ON Axis (номер оси)
Язык MDX предоставляет возможность указать до 128 осей в инструкции SELECT. Первые пять осей имеют псевдонимы. Это оси COLUMNS (столбцы), ROWS (строки), PAGES (страницы), SECTIONS (разделы) и CHAPTERS (главы). Последующие оси указываются с помощью слова Axis, за которым следует номер оси. Рассмотрим следующий пример.
SELECT Measures. [Internet Sales Amount] ON COLUMNS,
[Customers]. [Country].MEMBERS on ROWS,
[Product]. [Product Line].MEMBERS on PAGES
В приведенной выше инструкции SELECT указаны три оси. В этом примере данные из измерений Measures, Customers и Product отображаются на трех осях, чтобы сформировать осевые измерения.
При определении инструкции SELECT вы создаете осевое измерение. Инструкция SELECT назначает набор осям COLUMNS и ROWS (а также дополнительным осям, если в вашем запросе используется более двух осей). В отличие от измерения среза данных (slicer dimension), которое описывается далее в этой главе, осевое измерение извлекает и содержит данные для нескольких членов, а не для единственного члена.
Выражение FROM.
Предложение FROM в запросе MDX определяет куб, из которого извлекаются данные для анализа. Предложение FROM обязательно для любого запроса MDX.
Для предложения FROM используется следующий синтаксис:
FROM <cube_expression>
Выражение cube_expression обозначает имя куба или подраздела куба, из которого вы желаете извлечь данные. Куб, указанный в предложении FROM, называют контекстом куба (cube context), и запрос MDX выполняется внутри этого контекста. То есть, каждая часть выражения axis_expression будет извлекаться из контекста куба, указанного в предложении FROM.
SELECT [Measures]. [Internet Sales Amount] ON COLUMNS
FROM [Adventure Works]
Выше приведен пример правильного запроса MDX, который извлекает размерность [Internet Sales Amount] по оси X. Указанная размерность извлекается из контекста куба [Adventure Works].
Выражение WHERE.
Для задания условия отбора применяется предложение WHERE. Инструкция WHERE ограничивает набор результатов запроса с помощью некоторого критерия.
SELECT Measures. [Sales] ON COLUMS,
[Product]. [Product Line].MEMBERS on ROWS
FROM ProductsCube
WHERE ([Product]. [Color].[Silver])
Два столбца, выбираемых запросом SQL, теперь представлены по осям COLUMNS и ROWS. Условие в предложении WHERE запроса SQL теперь преобразовано в предложение WHERE запроса MDX, являющееся срезом куба, содержащим информацию о товарах серебристого цвета.
Измерение среза (slicer dimension) создается при определении предложения WHERE; это фильтр, который исключает нежелательные измерения и члены. Измерение среза включает и все те оси куба, которые не включены явно в оси, указанные в определении запроса. Заданные по умолчанию члены иерархий, которые не включены в оси запроса, используются в осях среза данных. результатом измерения среза является один кортеж. Если в оси среза определено несколько кортежей, то они будут обработаны как набор, а их значения -- агрегированы с использованием размерности, заданной в запросе, и функции агрегации из этой размерности.
Выражение WITH.
Типичными вычислениями, которые создаются с использованием предложения WITH, являются именованные наборы и вычисляемые члены. Кроме этого, предложение WITH обеспечивает возможность определять вычисления по ячейкам, загружать куб в кэш Analysis Services для улучшения выполнения запроса, изменять содержимое ячеек с помощью вызова функций из внешних библиотек, а также позволяет реализовать некоторые сложные концепции типа порядка вычисления и очередности прохода.
Для предложения WITH используется следующий синтаксис.
[WITH <formula_expression> [, <formula_expression> ...]]
Предложение WITH позволяет определять несколько вычислений внутри одной инструкции. Выражение formula_expression варьируется в зависимости от типа вычислений. При использовании в предложении WITH нескольких вычислений они отделяются друг от друга запятыми.
Именованные наборы.
Именованный набор -- это просто псевдоним для обычного выражения MDX, описывающего набор. Такой псевдоним можно использовать в любом месте внутри запроса вместо того, чтобы вводить реальное выражение, описывающее набор.
Рассмотрим случай, когда куб содержит данные о продажах для клиентов из разных стран. Предположим, что нужно извлечь информацию для клиентов из Европы. Для этого вам потребуется использовать члены иерархии Customer (Клиент) для различных стран Европы. В таком случае ваш запрос MDX может выглядеть следующим образом.
SELECT Measures.[Internet Sales Amount] on COLUMNS,
{[Customer].[Country].[Country].&[France],
[Customer].[Country].[Country].&[Germany],
[Customer].[Country].[Country].&[United Kingdom]} ON ROWS
FROM [Adventure Works]
Для именованного набора выражение formula_expression в предложении WITH выглядит следующим образом:
Formula_expression := SET <псевдоним_набора> AS [']<набор>[']
В качестве псевдонима можно использовать любое имя, которое обычно заключают в квадратные скобки. В выражении, определяющем именованный набор, используются ключевые слова SET и AS. Набор кортежей не обязательно заключать в одинарные кавычки (''). Одинарные кавычки используются лишь для обеспечения обратной совместимости, поскольку они требуются для версии Analysis Services 2000.
Вычисляемые члены.
Вычисляемые члены представляют собой вычисления, определяемые выражениями MDX. Таким образом вычисляемые члены позволяют получить результат, основанный на вычислении выражений MDX, а не просто извлечь исходные фактические данные. В языке MDX для создания вычисляемых членов в предложении WITH используются ключевые слова MEMBER и AS.
WITH MEMBER [MEASURES].[Profit] AS '([Measures].[Internet Sales
Amount] - [Measures].[Total Product Cost])'
SELECT [MEASURES].[Profit] ON COLUMNS,
[Customer].[Country].MEMBERS ON ROWS
FROM [Adventure Works]
В примере 1 вычисляемый член Profit (Прибыль) определен как разность размерностей [Internet Sales Amount] (Сумма Интернет-продаж) и [Total Product Cost] (Общая стоимость товара). При выполнении данного запроса для каждой страны вычисляемый член будет получен на основе вычисления выражения MDX.
2.3 Выражения MDX
Выражения MDX представляют собой инструкции языка MDX, которые вычисляют определенные значения. Обычно они используются для вычисления или определения значений для таких объектов, как заданный по умолчанию член и заанная по умолчанию размерность, либо применяются при определении выражений безопасности, позволяющих или запрещающих доступ к некоторой информации. Обычно выражения MDX используют в качестве параметра член, кортеж или набор и возвращают некоторое значение. Если в результате выполнения выражения не получено никакое значение, то возвращается значение Null.
Язык MDX также поддерживает возможность размещения комментариев в запросах и выражениях MDX. На текущий момент существует три различных способа добавления комментариев в код MDX.
Эти способы продемонстрированы ниже:
// (две косые черты) здесь следует комментарий.
-- (два дефиса) здесь следует комментарий.
/* здесь следует комментарий */ (две пары символов косой черты и звездочки).
Операторы.
Язык MDX, подобно другим языкам запросов или языкам программирования, включает несколько операторов. Оператор представляет собой функцию, которая выполняет специфическое действие и использует аргументы. В MDX используются операторы нескольких типов. Подобно другим языкам, MDX содержит арифметические операторы, логические операторы и специальные операторы MDX.
Обычные арифметические операторы, такие как +, -, * и /, входят в состав арифметических операторов MDX. Как и в языках программирования, эти операторы могут применяться для выполнения арифметических операций с двумя числами.
Операторы +, - и * помимо того, что являются арифметическими операторами, также могут использоваться для выполнения операций с наборами кортежей MDX. Оператор + применяется для объединения двух наборов, оператор - используется для вычисления разности двух наборов, а оператор * позволяет найти векторное произведение двух наборов. Результатом векторного произведения двух наборов являются все возможные комбинации кортежей в каждом наборе. Векторное произведение позволяет извлечь данные в матричном формате.
Язык MDX поддерживает такие операторы сравнения, как <, <=, >, >=, = и <>. Эти операторы используют два выражения MDX в качестве аргументов и возвращают значения TRUE (Истина) или FALSE (Ложь) в зависимости от результатов сравнения величин, полученных в результате вычисления выражений MDX.
Count (Customer.[Country].members) > 3.
В приведенном выше примере функция Count используется для подсчета количества членов в иерархии Country измерения Customer. Поскольку иерархия Country содержит больше трех членов, результатом рассматриваемого выражения MDX будет значение TRUE.
Язык MDX поддерживает такие логические операторы, как AND, OR, XOR, NOT и IS, которые используются для логической конъюнкции (операция И), логической дизъюнкции (операция ИЛИ), логического отрицания и сравнения. Эти операторы используют два выражения MDX в качестве аргументов и возвращают значение TRUE или FALSE как результат логической операции. Данные логические операторы обычно используются в выражениях MDX, предназначенных для обеспечения защиты ячейки или измерения от несанкционированного доступа.
Функции.
Функции MDX могут использоваться в выражениях или запросах MDX. Функции MDX помогают обращаться к некоторым общим операциям, которые требуются в ваших запросах или выражениях MDX (включая упорядочивание кортежей в наборе, подсчет количества членов в измерении и манипуляции со строковыми значениями, необходимые при преобразовании введенной пользователем информации в соответствующие объекты MDX).
Функции набора применяются для выполнения операций с наборами кортежей. Такие функции используют в качестве аргументов наборы кортежей, и зачастую результатом их выполнения также является набор. Наиболее широко применяемыми из функций набора являются функции CrossJoin и Filter.
Для функции CrossJoin используется следующий синтаксис.
CrossJoin(Выражение_набора [, Выражение_набора ...]).
Функция CrossJoin возвращает все возможные комбинации членов наборов, указанных в качестве ее аргументов.
SELECT Measures.[Internet Sales Amount] ON COLUMNS,
CrossJoin( {Product.[Product Line].[Product Line].MEMBERS},
{[Customer].[Country].MEMBERS}) on ROWS
FROM [Adventure Works]
Этот запрос создает векторное произведение каждого члена в измерении Product (Товар) с каждым членом измерения Customer (Клиент) и возвращает для каждой полученной пары значение размерности Internet Sales Amount (Сумма Интернет-продаж).
Функция Filter использует два аргумента: выражение, задающее набор, и логическое выражение, определяющее условие отбора. Логическое выражение применяется к каждому элементу набора и возвращает набор элементов, удовлетворяющий логическому условию. Для функции Filter используется следующий синтаксис.
Filter( Выражение_набора, {Логическое_выражение |
[CAPTION | KEY | NAME] = Строковое_выражение})
SELECT Measures.[Internet Sales Amount] ON COLUMNS,
Filter(CrossJoin( {Product.[Product Line].[Product Line].MEMBERS},
{[Customer].[Country].MEMBERS}),[Internet Sales Amount] >2000000)
on ROWS
FROM [Adventure Works]
Этот запрос возвращает информацию только о тех товарах, для которых суммы продаж по каждой из стран (и общая сумма по всем странам) превышают $2000000.
Функции члена измерения используются для выполнения операций с членами, таких как извлечение текущего члена, предыдущего, родительского, дочернего, следующего члена и т.д. Все функции данной категории возвращают член. Одна из наи%более часто используемых функций этой категории называется ParallelPeriod.
Функция ParallelPeriod позволяет извлечь член измерения типа Time (Время), основываясь на заданном члене и определенных условиях. Для функции ParallelPeriod используется следующий синтаксис.
ParallelPeriod([Выражение_уровня [Числовое_выражение [Выражение_члена]]]).
Функция ParallelPeriod используется для сравнения значений размерности относительно различных временных периодов.
Числовые функции чрезвычайно полезны при определении параметров запроса MDX или создании вычисляемых размерностей. В данной группе представлено множество статистических функций, включая функции для расчета стандартного среднеквадратичного отклонения, выборочной дисперсии и корреляции. Наиболее часто применяемыми из числовых функций являются простая функция под названием Count и DistinctCount. Функция Count используется для подсчета количества элементов в таком объекте, как измерение, кортеж, набор или уровень. Функция DistinctCount t в свою очередь использует в качестве аргумента выражение, задающее набор кортежей, и возвращает число индивидуальных (недублирующихся) элементов в ука% занном наборе, а не общее число элементов. Ниже показан синтаксис, используемый обеими упомянутыми функциями.
Count(Измерение | Кортеж | Набор| Уровень)
DistinctCount(Выражение_набора)
Чтобы извлечь имена наборов, кортежей и членов в форме строки, можно использовать специальные функции, например MemberToStr(<Выражение_члена>). А для выполнения обратного преобразования, т.е. преобразования строкового значения в выражение, возвращающее член измерения, можно использовать функцию StrToMember(<Строка>).
WITH MEMBER Measures.CustomerCount AS DistinctCount(
Exists([Customer].[Customer].MEMBERS,
[Product].[Product Line].Mountain,"Internet Sales"))
SELECT Measures.CustomerCount ON COLUMNS
FROM [Adventure Works]
Функция DistinctCount подсчитывает число неповторяющихся членов измерения Customer (Клиент), которые соответствуют клиентам, приобретавшим товары из товарной линии Mountain (Горные). Если клиент приобретал товар дважды, то функция DistinctCount посчитает этого клиента только один раз. Функция MDX Exists используется для отбора только тех клиентов, которые приобретали товары из товарной линии Mountain через Интернет. Результатом выполнения функции Exists является набор записей о клиентах, которые приобрели товары из товарной линии Mountain.
2.4 Базовые понятия языка DMX
Наименьшей логической единицей работы с данными при интеллектуальном анализе является атрибут, который содержит некоторую "элементарную" информацию об анализируемом примере. Для алгоритмов Data Mining существует два основных типа атрибутов:
· категориальные (дискретные), принимающие значения из некоторого фиксированного конечного набора значений;
· непрерывные числовые атрибуты.
Дополнительные типы атрибутов основаны на базовых. К ним, в частности, относятся упорядоченный (или циклический) тип. Такой атрибут является категориальным, но для него задан определенный порядок значений (например, размеры одежды). Дискретизированные атрибуты - это специальный вариант категориального типа, полученный из непрерывного путем разбиения на диапазоны. Например, упрощенный алгоритм Байеса не может обрабатывать непрерывные атрибуты, поэтому потребуется дискретизация.
С каждым категориальным атрибутом связан набор его значений (или состояний). На этапах подготовки и изучения данных важно провести анализ множества состояний атрибутов и, при необходимости, внести коррективы.
Вариант определяется как отдельный пример, предоставляемый алгоритму интеллектуального анализа данных. Он состоит из набора атрибутов с соответствующими значениями и во многих случаях описывает объект или событие. Нередко вариант можно представить строкой в таблице, столбцы которой - атрибуты.
В то же время, MS SQLServer и DMX позволяют использовать вложенные таблицы, что позволяет описывать более сложные по структуре варианты.
Ключ варианта используется для идентификации варианта. В этом качестве может использоваться исходный ключ таблицы, из которой берутся данные для анализа. Вложенный ключ позволяет идентифицировать объект, описываемый во вложенной таблице.
...Подобные документы
Обзор архитектуры СУБД SQL Server. Описание и анализ областей применения средств бизнес-аналитики, таких как многомерный анализ данных и интеллектуальный анализ данных. Обзор языковых средств, методов и экспериментальное применение полученных сведений.
дипломная работа [2,2 M], добавлен 09.07.2014Сбор ключевой статистики по интерфейсам, проведение аналитики и выдвижение гипотез по улучшению продукта. Рассмотрение методов анализа данных на базе конкретного проекта. Расположение инструментов на экране и порядок взаимодействия с ними у пользователя.
курсовая работа [664,7 K], добавлен 01.01.2018Архитектура и технология функционирования системы. Извлечение, преобразование и загрузка данных. Oracle Database для реализации хранилища данных. Создание структуры хранилища. Механизм работы системы с точки зрения пользователя и с точки зрения платформы.
курсовая работа [2,2 M], добавлен 22.02.2013Определения и классификация математических моделей. Возможности системы, распечатка документа MathCAD. Описание математической модели. Анализ исходных данных и результатов. Графическая схема алгоритма и ее описание. Алгоритмический анализ задачи.
курсовая работа [621,4 K], добавлен 21.01.2013Обслуживание двух встречных потоков информации. Структура информационных систем. Разработка структуры базы данных. Режимы работы с базами данных. Четыре основных компонента системы поддержки принятия решений. Выбор системы управления баз данных.
курсовая работа [772,0 K], добавлен 21.04.2016Рассмотрение OLAP-средств: классификация витрин и хранилищ информации, понятие куба данных. Архитектура системы поддержки принятия решений. Программная реализация системы "Abitura". Создание Web-отчета с использованием технологий Reporting Services.
курсовая работа [2,7 M], добавлен 05.12.2012Классификация систем поддержки принятия решений. Сравнительный анализ методик для оценки рисков розничного кредитования. Структура системы поддержки принятия решений, формирование начальной базы знаний. Проектирование базы данных информационной системы.
дипломная работа [1,9 M], добавлен 10.07.2017Описание предметной области автоматизации. Программа обследования и план-график выполнения работ на предпроектной стадии. Метод группового принятия решения с помощью кластеризации экспертных оценок альтернатив. Построение диаграммы потоков данных DFD.
дипломная работа [375,8 K], добавлен 07.12.2014Анализ предметной области. Обзор инструментов Web-аналитики для развития бизнеса в Интернете. Построение моделей бизнес-процессов компании. Учет поискового трафика. Элементы управления доступом. Обработка и хранение данных. Видимость сайта в поисковиках.
дипломная работа [1,4 M], добавлен 27.09.2016Сущность и понятие кластеризации, ее цель, задачи, алгоритмы; использование искусственных нейронных сетей для кластеризации данных. Сеть Кохонена, самоорганизующиеся нейронные сети: структура, архитектура; моделирование кластеризации данных в MATLAB NNT.
дипломная работа [3,1 M], добавлен 21.03.2011Автоматизация работы пользователя по поиску, просмотру и редактированию информации о работниках, соискателях, вакансиях. Построение информационно-логической и физической моделей данных. Создание базы данных в СУБД MS SQL Server. Описание SQL запросов.
курсовая работа [1,8 M], добавлен 07.08.2013Классификация информационных систем управления деятельностью предприятия. Анализ рынка и характеристика систем класса Business Intelligence. Классификация методов принятия решений, применяемых в СППР. Выбор платформы бизнес-интеллекта, критерии сравнения.
дипломная работа [1,7 M], добавлен 27.09.2016Проектирование и функционирование системы сбора и обработки статистической информации с применением экономико-математических методов. Использование средств вычислительной и организационной техники и средств связи в органах государственной статистики.
контрольная работа [117,4 K], добавлен 11.04.2015Анализ входной информации необходимой для решения задачи. Разработка исходных данных контрольного примера создания базы данных. Описание технологии и алгоритмов решения задачи и их математических реализаций. Разработка диалогов приложения пользователя.
курсовая работа [1,3 M], добавлен 26.04.2015Краткая история развития СУБД ORACLE, основные понятия и определения, архитектура. Принципы работы с СУБД ORACLE. Разработка баз данных, средства и технологии их реализации; возможности процедурного языка PL/SQL. Приемы администрирования СУБД ORACLE.
презентация [609,2 K], добавлен 14.02.2014Основные модели представления знаний. Системы поддержки принятия решений. Диаграмма UseCase. Разработка базы данных на основе трех моделей: продукционные правила, семантическая сеть, фреймовая модель. Программная реализация системы принятия решений.
курсовая работа [715,1 K], добавлен 14.05.2014Базы данных (БД) и системы управления базами данных (СУБД) как основы современной информационной технологии, их роль в хранении и обработке информации. Этапы реализации БД, средств ее защиты и поддержки целостности. Протоколы фиксации и отката изменений.
презентация [364,2 K], добавлен 22.10.2013Архитектура интегрированных информационных систем ARIS как методология моделирования бизнес-процессов, преимущества и недостатки использования. Выбор бизнес-процесса для моделирования и его содержательное описание, табличный формат его описания.
курсовая работа [2,2 M], добавлен 19.06.2015Теоретические аспекты СУБД. Основные понятия. Функциональные возможности СУБД. Архитектура систем управления. Разработка базы данных. Крупные массивы данных размещают, как правило, отдельно от исполняемого программы, и организуют в виде базы данных.
курсовая работа [30,5 K], добавлен 23.02.2006Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.
лекция [169,7 K], добавлен 19.08.2013