Запросы к модели нейронной сети (Майкрософт) (службы Analysis Services — интеллектуальный анализ данных)
К модели интеллектуального анализа данных можно создать два вида запросов: запросы содержимого, возвращающие подробные сведения о закономерностях, обнаруженных при анализе, и прогнозирующие запросы, в которых используются закономерности, содержащиеся в модели, для прогнозирования новых данных. Например, запрос содержимого для модели нейронной сети может вернуть метаданные модели — в частности, число скрытых слоев. Или же прогнозирующий запрос может дать сведения для классификации на основе входа и, по желанию, предоставить значения вероятности для каждой классификации.
Этот раздел посвящен созданию запросов для моделей, основанных на алгоритме нейронной сети (Майкрософт).
Запросы содержимого
Получение метаданных модели с помощью расширений интеллектуального анализа данных
Прогнозирующие запросы
Создание одноэлементных прогнозов
Поиск сведений о модели нейронной сети
Все модели интеллектуального анализа данных возвращают содержимое, полученное алгоритмом, в соответствии со стандартизованной схемой — набором строк схемы модели интеллектуального анализа данных. Сведения в содержимом модели подробно описывают модель и содержат основные метаданные, структуры, обнаруженные в ходе анализа, и параметры, используемые в ходе обработки. Запросы к содержимому модели интеллектуального анализа данных можно создавать при помощи инструкций DMX.
В начало
Образец запроса 1. Получение метаданных модели с помощью расширений интеллектуального анализа данных
Следующий запрос возвращает некоторые базовые метаданные модели, построенной с помощью алгоритма нейронной сети (Майкрософт). Родительский узел модели нейронной сети содержит только имя модели, имя базы данных, где она хранится, и количество дочерних узлов модели. Однако узел граничной статистики (NODE_TYPE = 24) предоставляет и эти базовые метаданные, и некоторые полученные путем вывода статистические данные о входных столбцах, использованных в модели.
Следующий образец запроса основан на модели интеллектуального анализа данных с именем Call Center Default NN, созданной в учебнике по интеллектуальному анализу данных среднего уровня. Модель получает данные из центра обработки звонков и исследует возможные взаимосвязи между кадрами и количеством звонков, заказов и проблем. Инструкция DMX получает данные с граничного узла статистики модели нейронной сети. В запрос входит ключевое слово FLATTENED, поскольку искомая статистика хранится во вложенной таблице NODE_DISTRIBUTION. Однако если используемый поставщик запросов поддерживает иерархические наборы строк, ключевое слово FLATTENED можно не использовать.
SELECT FLATTENED MODEL_CATALOG, MODEL_NAME,
( SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE,
[SUPPORT], [PROBABILITY], VALUETYPE
FROM NODE_DISTRIBUTION
) AS t
FROM [Call Center Default NN].CONTENT
WHERE NODE_TYPE = 24
Примечание |
---|
Имена столбцов [SUPPORT] и [PROBABILITY] вложенной таблицы следует заключить в квадратные скобки, чтобы отличить их от одноименных зарезервированных ключевых слов языка многомерных выражений. |
Образец результатов:
MODEL_CATALOG |
MODEL_NAME |
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.SUPPORT |
t.PROBABILITY |
t.VALUETYPE |
---|---|---|---|---|---|---|
AdventureWorksDW 2008 |
Call Center NN |
Средние затраты времени на решение проблемы |
Отсутствует |
0 |
0 |
1 |
AdventureWorksDW 2008 |
Call Center NN |
Средние затраты времени на решение проблемы |
< 64.7094100096 |
11 |
0.407407407 |
5 |
Узнать, что означают эти столбцы в наборе строк схемы в контексте модели нейронной сети, можно в разделе Содержимое моделей интеллектуального анализа данных для моделей нейронных сетей (службы Analysis Services — интеллектуальный анализ данных).
В начало
Образец запроса 2. Получение метаданных модели из набора строк схемы
Получить те же сведения, которые возвращаются DMX-запросом содержимого, можно с помощью запроса набора строк схемы интеллектуального анализа данных. Однако в наборе строк схемы содержатся и дополнительные столбцы. В следующем образце запроса возвращается дата создания, изменения и последней обработки модели. Этот запрос также возвращает прогнозируемые столбцы, которые не так просто получить из содержимого модели, а также параметры, которые использовались при построении модели. Эта информация может оказаться полезной для документирования модели.
SELECT MODEL_NAME, DATE_CREATED, LAST_PROCESSED, PREDICTION_ENTITY, MINING_PARAMETERS
from $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Call Center Default NN'
Результаты примера.
MODEL_NAME |
Call Center Default NN |
DATE_CREATED |
10.01.2008 17:07:38 |
LAST_PROCESSED |
10.01.2008 17:24:02 |
PREDICTION_ENTITY |
Средние затраты времени на решение проблемы Уровень обслуживания Количество заказов |
MINING_PARAMETERS |
HOLDOUT_PERCENTAGE=30, HOLDOUT_SEED=0, MAXIMUM_INPUT_ATTRIBUTES=255, MAXIMUM_OUTPUT_ATTRIBUTES=255, MAXIMUM_STATES=100, SAMPLE_SIZE=10000, HIDDEN_NODE_RATIO=4 |
В начало
Образец запроса 3. Получение входных атрибутов модели.
Можно получить пары атрибут-значение, которые использовались при создании модели. Для этого надо создать запрос к дочерним узлам (NODE_TYPE = 20) входного слоя (NODE_TYPE = 18). Следующий запрос возвращает список входных атрибутов из описаний узлов.
SELECT NODE_DESCRIPTION
FROM [Call Center Default NN].CONTENT
WHERE NODE_TYPE = 2
Результаты примера.
NODE_DESCRIPTION |
---|
Средние затраты времени на решение проблемы=64.7094100096 - 77.4002099712 |
ДеньНедели=Пятница |
Операторы Уровня 1 |
Далее показаны лишь несколько наиболее представительных строк результата. Однако можно видеть, что параметр NODE_DESCRIPTION предоставляет несколько другую информацию в зависимости от типа данных входного атрибута.
Если атрибут имеет дискретное или дискретизированное значение, то NODE_DESCRIPTION содержит атрибут вместе со значением или атрибут вместе с дискретизированным диапазоном.
Если атрибут представляет собой непрерывный числовой тип данных, параметр NODE_DESCRIPTION содержит только имя атрибута. Однако можно получить вложенную таблицу NODE_DISTRIBUTION для вычисления среднего значения или получить NODE_RULE для определения минимального и максимального значения числового диапазона.
Этот запрос показывает, каким образом можно составить запрос к вложенной таблице NODE_DISTRIBUTION, чтобы вернуть атрибуты в виде столбца, а их значения — в виде другого столбца. Учтите, что для непрерывных атрибутов значение представляется в виде среднего.
SELECT FLATTENED
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) as t
FROM [Call Center Default NN -- Predict Service and Orders].CONTENT
WHERE NODE_TYPE = 21
Результаты примера.
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
---|---|
Средние затраты времени на решение проблемы |
64.7094100096 - 77.4002099712 |
День недели |
Пт |
Операторы Уровня 1 |
3.2962962962963 |
Минимальное и максимальное значения диапазона хранятся в столбце NODE_RULE и представляются в виде фрагмента на языке XML, как показано в следующем примере:
<NormContinuous field="Level 1 Operators">
<LinearNorm orig="2.83967303681711" norm="-1" />
<LinearNorm orig="3.75291955577548" norm="1" />
</NormContinuous>
В начало
Образец запроса 4. Получение весов из скрытого слоя
Содержимое модели нейронной сети структурируется так, чтобы легче было получать детальные сведения о любом узле сети. Более того, числовые идентификаторы узлов предоставляют информацию, которая помогает выявлять связи между типами узлов.
Следующий запрос демонстрирует получение коэффициентов, хранимых в определенном узле скрытого слоя. Скрытый слой состоит из узла-организатора (NODE_TYPE = 19), содержащего только метаданные, и нескольких дочерних узлов (NODE_TYPE = 22), содержащих коэффициенты для различных сочетаний атрибутов и значений. Этот запрос возвращает только узлы с коэффициентами.
SELECT FLATTENED TOP 1 NODE_UNIQUE_NAME,
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE, VALUETYPE
FROM NODE_DISTRIBUTION) as t
FROM [Call Center Default NN -- Predict Service and Orders].CONTENT
WHERE NODE_TYPE = 22
AND [PARENT_UNIQUE_NAME] = '40000000200000000' FROM [Call Center Default NN].CONTENT
Образец результатов:
NODE_UNIQUE_NAME |
t.ATTRIBUTE_NAME |
t.ATTRIBUTE_VALUE |
t.VALUETYPE |
---|---|---|---|
70000000200000000 |
6000000000000000a |
-0.178616518 |
7 |
70000000200000000 |
6000000000000000b |
-0.267561918 |
7 |
70000000200000000 |
6000000000000000c |
0.11069497 |
7 |
70000000200000000 |
6000000000000000d |
0.123757712 |
7 |
70000000200000000 |
6000000000000000e |
0.294565343 |
7 |
70000000200000000 |
6000000000000000f |
0.22245318 |
7 |
70000000200000000 |
|
0.188805045 |
7 |
Приведенные здесь частичные результаты показывают, как модель нейронной сети соотносит скрытый узел с входными узлами.
Уникальные имена узлов на скрытом уровне всегда начинаются с 70000000.
Уникальные имена узлов на входном уровне всегда начинаются с 60000000.
Таким образом, эти результаты говорят о том, что узлу с идентификатором 70000000200000000 передается шесть разных коэффициентов (VALUETYPE = 7). Значения коэффициентов находятся в столбце ATTRIBUTE_VALUE. Используя идентификатор узла в столбце ATTRIBUTE_NAME, можно в точности определить, для какого атрибута служит этот коэффициент.
Например, узел с идентификатором 6000000000000000a относится к атрибуту и значению Day of Week = 'Tue.' . Можно использовать идентификатор узла для создания запроса или переместиться в этот узел с помощью средства просмотра деревьев содержимого общего вида (Майкрософт).
Подобным же образом с помощью запроса к таблице NODE_DISTRIBUTION узлов внешнего слоя (NODE_TYPE = 23) можно увидеть коэффициенты для каждого выходного значения. Однако указатели в выходном слое указывают назад, на узлы скрытого слоя. Дополнительные сведения см. в разделе Содержимое моделей интеллектуального анализа данных для моделей нейронных сетей (службы Analysis Services — интеллектуальный анализ данных).
В начало
Создание прогнозов с помощью модели нейронной сети
Алгоритм нейронной сети (Майкрософт) поддерживает и классификацию, и регрессию. С этими моделями можно использовать прогнозирующие функции, чтобы получать новые данные и создавать одноэлементные и пакетные запросы.
Образец запроса 5. Создание одноэлементных прогнозов
Построить прогнозирующий запрос в модели нейронной сети проще всего с помощью построителя прогнозирующих запросов, доступного на вкладке Прогноз интеллектуального анализа данных конструктора интеллектуального анализа данных в средах SQL Server Management Studio и Business Intelligence Development Studio. Модель можно просматривать с помощью средства просмотра нейронных сетей (Майкрософт) для выделения атрибутов, представляющих интерес, и просмотра трендов. Затем можно переключиться на вкладку Прогноз интеллектуального анализа данных для создания запроса и прогнозирования новых величин для этих трендов.
Например, можно просмотреть модель центра обработки звонков, чтобы найти взаимосвязи между объемами заказов и другими атрибутами. Для этого откройте модель в средстве просмотра и в области Вход выберите <Все>. Далее в области Выход выберите Количество заказов. В качестве значения Значение 1 выберите диапазон, представляющий наибольшее количество заказов, а для Значение 2 — диапазон, представляющий наименьшее количество заказов. Это позволяет наглядно увидеть все атрибуты, у которых модель обнаруживает корреляцию с объемом заказа.
Просматривая результаты с помощью средства просмотра, можно видеть, что для некоторых дней недели характерны пониженные объемы заказов и что увеличение количества сотрудников, по-видимому, коррелирует с повышением продаж. Затем можно использовать прогнозирующий запрос на модели для проверки гипотетических сценариев и задаться вопросом, приведет ли увеличение количества сотрудников уровня 2 в день с низкими объемами заказов к увеличению заказов. Это можно сделать с помощью следующего запроса.
SELECT Predict([Call Center Default NN].[Number of Orders]) AS [Predicted Orders],
PredictProbability([Call Center Default NN].[Number of Orders]) AS [Probability]
FROM [Call Center Default NN]
NATURAL PREDICTION JOIN
(SELECT 'Tue.' AS [Day of Week]
13 AS [Level 2 Operators] AS t
Образец результатов:
Спрогнозированное количество заказов |
Вероятность |
---|---|
364 |
0.9532... |
Спрогнозированный объем продаж выше текущего диапазона продаж для вторника, и вероятность этого прогноза очень высока. Однако иногда нужно создавать множественные прогнозы с помощью пакетного процесса для проверки на модели нескольких гипотез.
Примечание |
---|
Надстройки интеллектуального анализа данных для Excel 2007 предоставляют мастера логистической регрессии, которые помогают получить ответы на сложные вопросы, например определение числа операторов второго уровня, которое необходимо для повышения показателя обслуживания до заданного уровня для определенной смены. Надстройки интеллектуального анализа данных загружаются бесплатно и содержат мастера, которые основаны на алгоритмах нейронной сети и логистической регрессии. Дополнительные сведения см. в статье Надстройки интеллектуального анализа данных для Office 2007. |
В начало
Список прогнозирующих функций
Все алгоритмы Майкрософт поддерживают общий набор функций. У алгоритма нейронной сети (Майкрософт) нет присущих только ему прогнозирующих функций; однако он поддерживает функции, перечисленные в следующей таблице.
PredictSupport (расширения интеллектуального анализа данных) Примечание Для моделей нейронной сети и логистической регрессии функция возвращает единственное значение, представляющее собой размер обучающего набора для всей модели. |
|
PredictVariance (расширения интеллектуального анализа данных) |
|
PredictProbability (расширения интеллектуального анализа данных) |
|
Список функций, общих для всех алгоритмов Майкрософт, см. в разделе Справочник по алгоритмам (службы Analysis Services — интеллектуальный анализ данных). Синтаксис специальных функций см. в разделе Справочник по функциям расширений интеллектуального анализа данных.
Журнал изменений
Обновленное содержимое |
---|
Добавлены ссылки внутри раздела, упрощающие переходы между образцами запросов. |
См. также