Научная статья на тему 'Нейросетевые и вероятностные методы повышения эффективности средств администрирования СУБД'

Нейросетевые и вероятностные методы повышения эффективности средств администрирования СУБД Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
148
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SQL-ЗАПРОС / САМООРГАНИЗУЮЩАЯСЯ НЕЙРОННАЯ СЕТЬ / КЛАСТЕРИЗАЦИЯ / СТАТИСТИЧЕСКИЕ ПАРАМЕТРЫ ПРОИЗВОДИТЕЛЬНОСТИ / БАЙЕСОВСКИЙ КЛАССИФИКАТОР / ГАУССОВСКАЯ СМЕСЬ РАСПРЕДЕЛЕНИЙ / SQL-QUERY / SELF-ORGANIZING NEURAL NETWORK / CLUSTERING / STATISTICAL PERFORMANCE PARAMETERS / BAYESIAN CLASSIFIER / GAUSSIAN MIXTURE MODEL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кузнецова Алла Витальевна, Алгазали Салах Махди Мадлол

Рассмотрена возможность решения проблемы поиска неэффективных SQL-запросов крупных программных системах (OLTP\DW\BI и др.) на базе расширенного набора параметров, хранящихся в долговременной памяти промышленной СУБД. Нейросетевая кластеризация на основе самоорганизующейся сети Кохонена позволяет разделить значительные объемы исполняемых запросов на группы с различным профилем нагрузки на систему, предоставляя удобную для восприятия визуализацию параметров производительности запросов. Последующее использование байесовского классификатора, обученного на ограниченном множестве запросов с низкой производительностью, автоматизирует процессы оценки эффективности SQL-запросов.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

NETWORKS AND PROBABILITIC METHODS FOR IMPROVEMENT OF EFFECTIVENESS DBMS ADMINISTRATION TOOLS

The possibility of solving the finding inefficient SQL-queries problem in large software systems (OLTP I DW \ BI, etc.) is considered. An extended querys parameters set stored in the long-term memory of an industrial DBMS is used. Clustering using neural networks Kohonen allows to divide significant volumes of executable requests into groups with different load profiles on the system, provides a convenient visualization SQL-query performance parameters. The Bayesian classifier subsequent use trained on a limited set of queries with low productivity, automates the processes of assessing SQL-queries effectiveness.

Текст научной работы на тему «Нейросетевые и вероятностные методы повышения эффективности средств администрирования СУБД»

УДК 004.658

НЕЙРОСЕТЕВЫЕ И ВЕРОЯТНОСТНЫЕ МЕТОДЫ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ СРЕДСТВ АДМИНИСТРИРОВАНИЯ СУБД

А.В. Кузнецова, С.М.М. Алгазали

Рассмотрена возможность решения проблемы поиска неэффективных SQL-запросов крупных программных системах (OLTP\DW\BI и др.) на базе расширенного набора параметров, хранящихся в долговременной памяти промышленной СУБД. Нейросетевая кластеризация на основе самоорганизующейся сети Кохонена позволяет разделить значительные объемы исполняемых запросов на группы с различным профилем нагрузки на систему, предоставляя удобную для восприятия визуализацию параметров производительности запросов. Последующее использование байесовского классификатора, обученного на ограниченном множестве запросов с низкой производительностью, автоматизирует процессы оценки эффективности SQL-запросов.

Ключевые слова: SQL-запрос, самоорганизующаяся нейронная сеть, кластеризация, статистические параметры производительности, байесовский классификатор, гауссовская смесь распределений.

Рост объёмов хранимых данных в крупных распределенных клиентских системах обостряет проблему поиска длительных и ресурсоёмких SQL-запросов. Количество запросов, которые необходимо проанализировать в сжатые временные сроки специалистам поддержки программной системы и/или СУБД, превышают человеческие возможности. Сложность задачи увеличивается в случае постепенного падения производительности без наличия явных признаков. Поиск действительно неэффективных запросов среди сотен, тысяч и даже десятков тысяч запросов в анализируемый период времени становится далеко не тривиальной задачей. Традиционными источниками данных при выявлении ресурсоемких запросов выступают основные характеристики плана исполнения запроса и статистические параметры производительности, характеризующие потребление временных ресурсов процессора и системы ввода-вывода. Служебное инструментальное ПО или собственноручно написанные запросы к СУБД предоставляют достаточно обширные множества SQL-запросов с предельными параметрами и характеристиками, но, далеко не каждый из этих запросов требует замены или преобразования. Связано это с тем, что исполнение SQL-запросов совершается в высоко динамичной среде, в которой имеют место пиковые нагрузки, недостаточное или, наоборот, частое обновление статистических параметров распределения данных, отсутствие в кэше требуемых данных, и др. Всё это оказывает труднодиагностируемое влияние на параметры производительности запросов и может быть расценено как шумовая составляющая с неизвестными параметрами распределения.

Одним из путей совершенствования процедуры поиска неэффективных SQL-запросов в подобных условиях является их предварительная кластеризация на основе симбиоза самоорганизующихся нейронных сетей Кохонена (SOM) [1] и восстановления плотности распределения за счет построения гауссовской смеси распределений (Gaussian Mixture Model, GMM), с последующей оценкой производительности запросов на основе байесовского классификатора.

Отбор параметров объекта кластеризации. В [1,2] описаны и проанализированы характеристики плана исполнения SQL-запросов СУБД Oracle на предмет их использования в качестве параметров кластеризуемых объектов. Отмечено, что характеристики плана могут являться лишь отправной точкой для оценки подлинной эффективности, поскольку во многом зависят от: 1) актуальности статистической информации о распределении значений в индексах и таблицах БД на момент генерации плана; 2) настроек компонента СУБД - оптимизатора, который генерирует множество планов исполнения и выбирает в конечном итоге план, обладающий наименьшей оценкой сложности. Показано, что более точным вектором для оценки SQL-запросов являются статистические данные о ходе исполнения запроса -так называемая статистика производительности, которую СУБД собирает во время исполнения запроса и хранит, наряду с разнообразной системной информацией, в различных внутренних структурах и хранилищах. Среди различных источников хранения служебной информации наилучшим для поставленной цели - поиска неэффективных SQL-запросов при отсутствии явных причин, - по мнению авторов, является специализированное диагностическое долговременное хранилище данных (Advanced Workload Repository, AWR). Статистики производительности для отдельного запроса в AWR хранятся в двух представлениях: в суммарном с момента запуска экземпляра БД (DataBase Instance) и в виде изменения за определенный интервал времени. Анализ данных первого типа показал, что они не пригодны для решения задачи предварительной группировки SQL-запросов по причине сброса при перезапуске экземпляра БД и в ряде других случаев. Данные второго типа представляют собой разницу между совокупным значением статистики в начале и конце заданного периода и являются более пригодными для анализа производительности. Эти данные включают сведения об общем времени исполнения запросов, процессорном времени, ожидании во время выполнения операций ввода/вывода, о количестве операций логического и физического чтения/записи и другие. Общее число базовых статистических параметров, представ-

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

Для учёта различных аспектов, влияющих на эффективность SQL-запросов, в модель кластеризуемых объектов были включены три неравнозначные группы параметров:

0p = q,..., epNv} 0E = {qEq,..., eENw} 0* = q

S „S

q

S

0 = 0NxQEX0S.

N

Это основные параметры плана исполнения 0N, ряд характеристик среды 0е, в рамках которой выполнялись запросы, и статистические данные о результатах исполнения запросов 0S. Наибольшая среди этих групп - группа временных характеристик SQL-выражений 0s.

Основными показателями, отражающими оценённую оптимизатором эффективность плана исполнения запроса, являются стоимость выполнения (Cost) и мощность (Cardinality), которые могут быть дополнены и такими характеристиками, как стоимость ресурсов центрального процессора (CPU Cost), стоимость ввода-вывода (IO Cost), показатель использования дискового пространства (Temp Space).

Под состоянием среды исполнения SQL-запросов понимается информация о разделяемых областях памяти, статистики распределения данных, числе доступных процессоров, состоянии каналов ввода-вывода и т.д. Информация этого рода не всегда имеет привязку к конкретному SQL-запросу в рамках сессии. Поэтому к параметрам оценки состояния среды косвенно можно отнести параметры времени ожидания пользовательских приложений (Apwait), разделяемых ресурсов (Ccwait), ответов с других узлов (Clwait). Подавляющее большинство статистик производительности, входящих в третью группу параметров модели SQL-запроса, отражаются в системном представлении DBA_HIST_SQLSTAT, являющихся частью AWR [3]. Для устранения явной зависимости между количеством исполнений запроса и значением его параметров производительности, последние делятся на количество исполнений (executions_delta). Статистический анализ параметров производительности SQL-запросов показал, что практически все они имеют резко ассиметричные распределения с «длинными хвостами». Диапазон изменения ряда показателей достигает величин 106-10. Их логарифмирование выявило наличие нескольких максимумов, свидетельствующих о наличии групп в многомерном наборе данных. На рис.1 представлены примеры гистограмм для актуальных и прологарифмированных параметров.

SHARABLE_MEM

Log(SHARABLE_MEM)

н m od <D tn CTimmcricrimcoracoco

(Оогчгчгл^ттшг^гооа

П^О^О^О^ОЬЛО

; 40 ! 20

Log(ELAPSED_TlME)

- il III II lij il !■■ ■■-I-■

(N m ьл I£J

Рис. 1. Примеры гистограмм распределения исходных и прологарифмированных признаков SQL-запросов

Указанные параметры имеют характер неопределенности, связанный с качеством формулировки SQL-выражения, с алгоритмом работы и настройками оптимизатора, с настройками СУБД, со случайным состоянием среды исполнения (рис. 2).

Рис. 2. Зависимости параметров модели SQL-запроса

505

Использование расширенной совокупности характеристик SQL-запроса, с одной стороны, даёт лучшее представление об объекте, позволяет построить более точную модель и снизить влияние случайных событий и факторов. С другой стороны, большое число параметров может привести к тому, что объекты будут одинаково далеки друг от друга. Кроме того, выбранные параметры с разной степенью отражают эффективность SQL-запроса, а часть из них характеризуется существенной положительной корреляционной зависимостью. Поэтому для уменьшения сложности модели было принято решение об использовании метода главных компонент (Principal Component Analysis - PCA), что позволило сократить размерность пространства признаков 0 с 30-40 характеристиками до 0(PCA) с числом признаков от 4 до 11 при сохранении большей части объясняемой дисперсии [2]. Предварительно параметры SQL-запросов были пронормированы на единичную выборочную дисперсию.

Формальная постановка задачи

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

Часть 1. Задано множество n-мерных объектов X = {xi, x2, ..., xnx}, каждый из которых характеризуется набором параметров:

0(PSAA -{М2.....е„}.

На множестве объектов X задана симметричная функция, характеризующая степень близости между объектами p(xi, xj).

Необходимо построить отображение F=X^Y такое, для каждого входного элемента xi существовала вероятность того, что он обязательно принадлежит хотя бы одному из элементов множества Y, т.е. VXieX, VyeY, 3!yke Y: P(xi|y)>0, P(Xi|yk)>0 . Выражение P(xi|y) обозначает вероятность принадлежности объекта xi кластеру y. При этом объём NY и характеристики элементов множества Y = {y1, y2, ..., yNY} заранее неизвестен. Полученное разбиение должно удовлетворять заданному функционалу качества, основанному на исходном наборе X и соответствующем методе построения F.

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

Наличие ограниченного и, возможно, нерепрезентативного подмножества Q неэффективных запросов-образцов не может служить основанием для перевода задачи кластеризации с неизвестным заранее числом кластеров в разряд задач обучения с учителем. Но является отправной точкой для отнесения её к разряду слабо изученных (на сегодняшний день) задач вероятностной оценки на основе частичного обучения (semisupervised learning) [1].

Часть 2. В дополнение к созданной кластерной модели Y имеется ограниченное подмножество Q={q1,q2,...,qNQ}, заранее известных запросов-образцов, относящихся к категории неэффективных. Необходимо определить подмножество неэффективных кластеров Y'={y'1, y'2, ..., y'NY'}, такое, что YtY, NY'<NY, 3qieQ, VyeY, 3ly'jSY': P(qi|y)>0, P(qi|yj)®max. Требование единственности существования кластера с максимальной вероятностью относится к элементу y'j из категории неэффективных. При этом любой элемент xi, имеющий максимальную вероятность принадлежности к кластеру y'j с определенной долей вероятности P(x|y') также может быть отнесён к категории неэффективных. Мощность NY' множества Y' заранее не известна.

Кластеризация на основе нейронной сети Кохонена. Для построения кластерной модели предлагается комбинация предварительной однозначной группировки исходного множества объектов с последующей вероятностной оценкой плотности распределения гауссовой смесью. Нейросетевой подход на основе самоорганизующихся сетей Кохонена хорошо зарекомендовал себя в случае решения задачи сокращения больших объёмов данных, при обработке данных высокой размерности, неравномерной плотности и наличии значительных выбросов. Результатом этого этапа является обученная нейронная сеть, представленная множеством активных нейронов D={d1, d2, ..., dND}, в областях притяжения которых сосредоточены исследуемые объекты xi. Вектор весовых коэффициентов нейронов имеет ту же размерность n, что и вектор кластеризуемых объектов xi. Но поскольку число активных нейронов примерно на порядок превышает разумное число кластеров, на втором этапе - этапе определения оптимального числа кластеров и придания им вероятностного характера - принято решение об использовании байесовского подхода для оценки (восстановления) плотности нейроподобных элементов смесью однотипных гауссовских распределений.

Одной из проблем, стоящих на пути обучения SOM, является, так называемый, эффект переобучения (overfitting, overtraining). Переобучение проявляется в излишней подстройке нейронов под имеющиеся экземпляры кластеризуемого множества объектов, на параметры которого оказывают значительное влияние описанные выше субъективные и случайные события, имевшие место во время генерации и исполнения SQL-запроса. В работе [4] предложен эмпирический способ обучения с применением оптимального значения топологической ширины окрестности нейрона-победителя о для формирования

робастных свойств самоорганизующейся нейронной сети. Определение оптимальной величины окрестности проведено на основе серии экспериментов, в которых осуществлялось контролирование процесса изменения ошибки обобщения сети Egen и связь этого процесса с величиной монотонно уменьшающейся ширины топологической окрестности. Рост ошибки Egen после первоначального падения и длительной стабилизации свидетельствовал о начале переобучения, как только размер окрестности становился ниже порогового значения. Поэтому дальнейшее уменьшение о оказывалось нецелесообразным. Вычисление ошибки обобщения основывалось на разбиении исходного множества кластеризуемых объектов на два статистически идентичных множества - обучающее T (Train) и контрольное V (Validate), и выполнялось на основе предложенной формулы:

Etv = E(xt) - E(XV), VarTV = Var(xT) + Var(xV), XT , XV e Vj

где ND - количество нейронов в сети; n - размерность пространства признаков; ETV - квадрат расстояния между средними значениями (Expected value) признаков T- и V-векторов, попавших в область активации j-го нейрона, Varjv - усреднённая дисперсия каждого признака (Variance) для T- и V-векторов относительно соответствующих весовых коэффициентов j-го нейрона; xT и xV - векторы элементов обучающего и контрольного множеств; Vj - область активации j-го нейрона (нейрона-победителя).

Полученное в ходе экспериментов с реальными данными значение oopt было использовано при обучении SOM с целью придания ей определенной гладкости или огрубления, позволяющего снизить влияние случайной составляющей, которая не поддается систематическому учету:

0=[0x)]+П (^

где 0 - измеренное значение вектора признаков для i-ого экземпляра; [0(xi)] - регулярная часть элементов вектора признаков; ^(Р) - функция шума; в - амплитуда шума [5].

Минимальный набор данных для обучения SOM, соответствующий временному промежутку в один час, составляет от 300 до 500 экземпляров. Соответственно суточному и недельному периодам времени могут соответствовать наборы объёмом 7-10 и 50-100 тысяч экземпляров. Для проведения исследований размер типичного исследуемого набора данных варьировался в диапазоне 3-5 тысяч экземпляров. Соответственно размер нейронной сети выбирался в диапазоне 2500 (50*50) до 4900 (70*70) нейронов, т.е. число нейронов cети было сопоставимо с объёмом кластеризуемых данных. Уменьшение размеров сети по сравнению с объёмом обучающей выборки оказалось нецелесообразным. Проведенные эксперименты с гладкими нейронными сетями, осуществляющими кластеризацию различных по объёму наборов данных, собранных в различные периоды функционирования высоконагруженных программных систем, показали следующее:

1. Число неактивных нейронов, т.е. таких нейронов, в область притяжения которых не попал ни один SQL-запрос, пропорционально размеру сети, и гораздо в меньшей степени зависит от объёма кластеризуемых данных и составляет 40-50% от общего количества;

2. Максимальное и среднее число элементов, принадлежавших активным нейронам, в среднем составили 10-12% и 2-5% от общего числа элементов в выборке, что свидетельствует о том, что в исходном обучающем множестве есть очень схожие экземпляры;

3. Среди «активных» нейронов число таких, в область притяжения которых попал всего один элемент исследуемого набора данных, не превышал 1-1,5%, что, с одной стороны, косвенно свидетельствует о наличии нетипичных, резко отличающихся экземпляров, а с другой стороны - о достаточной выбросоустойчивости (робастности) обученной нейросети;

4. Исследование унифицированных матриц расстояний между нейронами (U-matriх) показало, что в обученной сети имеют место выраженные группы нейронов, охватывающие примерно 80-90% кластеризуемых элементов, что свидетельствует о наличии в исследуемом множестве весьма крупных подмножеств SQL-запросов; вероятнее всего они являются эффективными; оставшиеся 10-20% - весьма размытые области, трудно поддающиеся визуальному анализу;

5. Анализ стандартных раскрашенных карт распределения признаков позволил визуально определить границы числа возможных кластеров:

[1,5*Nexp_gr . . 2,5*Nexp_gr], где Nexp_gr - число явных групп нейронов; в абсолютных единицах для Nexp_gr = 6, что соответствует диапазону [9 . . 15].

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

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

Известные алгоритмы определения числа кластеров на основе статистического анализа структуры многомерного пространства (DBSCAN, BIRCH, t-SNE, UMAP, U-matrix), наряду с выбранным критерием останова, требуют задания числа кластеров, что является принципиальной трудностью решаемой задачи. Поэтому было принято решение об использовании байесовского подхода к вероятностному описанию кластерной модели с последующей возможностью получения достоверной оценки эффективности SQL-запросов.

Формирование гауссовской смеси будет строиться на основе объединения выделенных центров d сосредоточения объектов x. Каждый из таких центров, представлен «гиперэллипсоидом» с размерами осей, соответствующими среднеквадратическому отклонению, и поворотом, соответствующим корреляциям различных компонент. Выделенные гиперпространства соответствуют крупномасштабным сгущениям плотности - кластерам. Формализованным результатом второго этапа будет уточненное множество Y, для элементов которого будет определен набор параметров и плотностей распределения {0y, Py}.

Теперь в качестве входных объектов выступают активные нейроны, весовые коэффициенты w которых являются «нейросетевой» регуляризционной оценкой подмножества принадлежащих этим нейронам SQL-запросов. С формальной точки зрения имеется набор эмпирических данных, состоящий из Nd n-мерных векторов, каждому из которых поставлено в соответствие непересекающихся подмножеств векторов множества Х: D={di, d2, ..., dND}. VfcD, 3X(di)cX: X=X(d1)uX(d2)u^u X(dND). Необходимо получить модель H гауссовой смеси нормальных распределений с числом компонент M<<ND, соответствующих естественной структуре плотности распределения объектов d в n-мерном пространстве признаков. Каждая компонента, в свою очередь, будет представлять собой n-мерный гауссиан с параметрами: д -вектор средних, 2 - невырожденная матрица ковариации, в - единый параметр регуляризации, играющий роль масштабирующего коэффициента и регулирующий «размах» гауссианов совместно с диагональными элементами матрицы 2, т.к. находится под знаком экспоненты:

N(d) = N(d, ц, £,р) = 1_expi - р I(d - ц)Т £-1(d - ц)

^ 2

Плотность распределения вероятности на множестве объектов D представляет собой совокупность гауссовых областей-кластеров согласно некоторой гипотезе h вероятностной группировки данных:

M M

N(D| h) = 2 N(dm | h)N(m), 2 N» = 1, N(m) > 0,

m=1 m=1

h = {ц1, ц2,..., цM, £1, £2,-, £M, P(1), P(2),..., P(M)}.

Гипотеза, описываемая набором параметров и априорной вероятностью P(m) компонентов смеси, обладает предсказательной силой, позволяя оценить меру правдоподобия (Likelihood) имеющихся данных P(D|h) и предсказать вероятность распределения новых наборов данных. Оценить вероятность различных гипотез о способе разделения данных P(h|D) можно на основе байесовского решающего правила:

= P(D|h)P(h) = P(D | h)P(h) , (2)

( | ) P(D) 2hP(D| h)P(h) где апостериорная вероятность (Posterior) P(h|D) уточняется на основе известной априорной вероятности гипотезы P(h) (Prior), правдоподобия имеющихся данных P(D|h) (Likelihood) и доказательства/свидетельства в пользу данной модели P(D) (Evidence). Выбор наилучшей (наиболее вероятной) гипотезы в рамках модели H осуществляется на основе максимизации апостериорной вероятности P(h|D):

hMP = arg max P(h | D). h

При отсутствии случайного и независимого множества прецедентов, содержащего метки кластеров {di,yJ}, оптимальная гипотеза может быть определена на основе максимизации правдоподобия данных P(D|h):

N M

hML = arg max lnP(D | h) = 2 ln 2 P(d,-1 m)P(m).

h i=1 m=1

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

Начальный этап. Для гипотезы h в рамках модели H с параметрами М и р:

задается начальное приближение компонент смеси {д0, 20}mx2;

для каждого m-ой компоненты задаются априорные вероятности P0(m).

Этап Expectation. В качестве скрытых переменных выбираются элементы матрицы G = (gim) размерностью ND*M. Значения элементов определяются по формуле Байеса (2) как апостериорные вероятности принадлежности входных данных di каждой m-ой компоненте-кластеру по его параметрам {д, 2} и априорной вероятности P(m):

„0 . „ _ N(d,,ц в) P(m)

Sim Sim; Sim

M

2 N (di, Ц m, ^ m, P)P(m)

m_l

При этом справедлива формула полной вероятности (3), поскольку каждый объект di обязательно принадлежит какой-то компоненте смеси m:

M

"i, i _ 2Sim _ l- (3)

m_1

Этап Maximization. По известным значениям скрытых переменных и принципу максимума правдоподобия находятся новые априорные вероятности и параметры компонент:

1 M P(m) =Т7 2 Sim

M m_1

M

{M,S}m _ arg max 2Simln N(di, ЦE,b}) ® m m_1

_ 1 1 ND Hm iTT ч 2 Simdi

ND P(m) i_1

2 1 1 Nd 2

_ ^ 7Г, T 2 Sim (di — H-m)

Nd P(m) i_1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Итерации Expectation-Maximization продолжаются до тех пор, пока

max

Sim Sim

не станет

меньше некоего параметра 5. Гипотеза И с уточненными координатами компонентов смеси, полученная в результате работы алгоритма, представляет искомое решение.

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

Исходя из того, что тип моделей при отыскании наилучшего распределения один и тот же (ОММ), выходом может служить модификация ЕМ-алгоритма, допускающая слияние источников. При этом в качестве исходного числа компонент модели М предлагается использовать число активных нейронов Ыо, и тогда начальные априорные вероятности компонент могут быть вычислены на основе числа SQL-запросов, принадлежащих этим нейронам. Если на какой-то итерации I центры двух компонент совпадут @ то эти компоненты объединятся в один. С ростом числа итераций число изначально заданных областей будет последовательно уменьшаться при каждом таком слиянии. В итоге, реальное число кластеров модели будет существенно меньше первоначального.

Отдельно следует остановиться на выборе параметра в, влияющем на радиус взаимодействия кластеров при их возможном слиянии наряду с конкретной пространственной конфигурацией входных данных d. Параметр в в данном случае выполняет роль масштабируемого коэффициента и регуляризато-ра. Согласно численным экспериментам на тестовых данных в [5] установлено, что если радиус притяжения компонент, равный в"1/2, превышает масштаб естественных сгущений, в которой эти компоненты расположены, то описанный выше ЕМ-алгоритм приведет к их слиянию в одни кластер. Чем больше значение в, тем меньше радиус взаимодействия компонент и тем больше возможное число кластеров в модели. Малые значения дисперсии в, приводят к увеличению радиуса компонент вплоть до превышения масштаба разброса всех данных, что приводят к слиянию в один большой кластер.

Эксперименты показали, что в качестве значения в можно использовать величины, близкие к величине оптимальной топологической окрестности, определенной на основе формулы (1). Радиус притяжения компонент в этом случае гарантированно не превышает масштабы разброса всех данных и для значений оор; в диапазоне [7 .. 15] не выходит за границы [0,26 .. 0,38]. При этом обеспечивается хорошая сходимость алгоритма кМор=6..12 кластерам.

Вероятностная оценка эффективности запроса. Полученные в результате разделения смеси распределений координаты {ц, 2} и апостериорные плотности распределения кластеров Ру(т), могут быть использованы для построения байесовского классификатора (рис. 3), частично обученного на независимом множестве неэффективных запросов Q.

Первый слой классификатора образуют М компонент. Каждая т-ая компонента представлена п гауссианами, описываемыми своими параметрами {ц, о}щ, ]=1, .., п и функцией правдоподобия Рш|(х) = Ы(х, Цть От]). На вход классификатора подается предварительно пронормированное и приведенное к главным компонентам описание объекта 1=1, .., Каждый ]-й параметр объекта попадает на

соответствующий вход каждой компоненты. При этом определяются вероятностные оценки близости параметров объекта к центрам соответствующих гауссианов равные значениям функций Рт/ч). Эти значения умножаются на определенные апостериорные плотности распределения кластеров ря(т) и подаются на второй слой классификатора. Второй слой состоит из М блоков сумматоров, вычисляющих среднее значение взвешенных оценок, которое представляет собой вероятностную оценку рт(ч) принадлежности объекта 41 каждому кластеру. Третий слой представлен конкурирующим слоем, принимающим окончательное решение о принадлежности объекта ч1 к тому из кластеров, к которому он находится ближе всего. В элементах памяти конкурирующего слоя производится сохранение вероятностных оценок рт(Ч) и расчёт частоты «срабатывания» кластера, определяемой через отношения числа объектов, для которых кластер становился определяющим, к общему числу поступивших объектов.

Рис. 3. Структура классификатора

Внутренняя информационная структура обученного классификатора после обучения на множестве Q представлена в таблице.

Информационная структура обученного классификатора

Категория Кластерный состав Параметры Количество срабатываний Частота срабатываний Принадлежность Ч, клсатеру/ гауссиану Принадлежность ч категории

1 2 3 4 5 6 7

Суперкласс «неэффективный», Уые кластер 1 Р(1) К1 К1/ N Ру1Чч)...Ру1К1(ч) РУ11(Ч). Ру1К1+.+КМ1(ч)

гауссиан 1 Ц11, 011 №1... NlK1

гауссиан п Ц1п, 01п

кластер N1 Р(Ш) KN1 Кш/ NQ Руш^.-Руш™1^)

гауссиан 1 ЦШ1, 0ш1 №1... NlKN1

гауссиан п ЦШп, Ошп

Суперкласс «эффективный», Уе кластер 1 Р(1) 0 0 - -

гауссиан 1 Ц11, 011 -

-

гауссиан п Ц1п, 01п -

кластер N2 Р(№) 0 0 -

гауссиан 1 ЦЫ21, СЫ21 -

гауссиан п ЦЫ2п, ОШп -

После предъявления всех элементов множества Q будут сформированы два подмножества кластеров, каждое из которых можно представить «эффективным» Уе и «неэффективным» Уж суперкластером. Подмножество Уж включает в себя кластеры, имеющие ненулевые частоты при определении принадлежности запросов q1. Подмножество Уе таких кластеров в своем составе не содержит.

Процесс дообучения классификатора на исходном обучающем множестве X, связан с уточнением частотных показателей кластеров из обеих категорий Ye и YNE. При этом происходит заполнение как верхней, так и нижней частей таблицы. На выходе классификатора при подаче на вход объекта xi может присутствовать краткая либо полная информация:

1. максимальная вероятность принадлежности объекта к одному из кластеров той или иной категории;

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

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

Выводы. В работе описано применение комбинации нейросетевого и байесовского вероятностного подхода для совершенствования процесса поиска неэффективных SQL-запросов в крупных промышленных СУБД. Достоинством предложенного подхода для категориальной оценки SQL-запросов является независимость от случайного начального положения центров каждой компоненты GMM, которая обеспечивается предварительным созданием робастной нейронной сети. При обучении нейронной сети и последующем моделировании плотности данных используются принципы регуляризации, связанные с определением оптимальной ширины окрестности и с выбором величины дисперсии кластеров, способствующей выбору оптимального масштаба для огрубленного представления вероятностной кластерной модели. Частичное обучение классификатора на основе даже достаточно ограниченного подмножества неэффективных запросов позволяет гарантированно отыскать запросы со сходными признаками среди десятков тысяч запросов сессии, а возможность изменения структуры и/или параметров классификатора обеспечивает непрерывное повышение качества получаемых оценок.

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

Предлагаемый подход может быть распространён и на другие промышленные СУБД со своими наборами и способами формирования статистической информации о результатах исполнения SQL-запросов.

Список литературы

1. Алгазали С.М.М., Айвазов В.Г., Кузнецова А.В. Совершенствование процесса поиска неэффективных SQL-запросов в СУБД Oracle // Интернет-журнал «Инженерный вестник Дона». Выпуск №4, 2017 [Электронный ресурс] URL: http://ivdon.ru/ru/magazine/archive/n4y2017/4511 (дата обращения: 10.10. 2019).

2. Алгазали С.М.М., Айвазов В.Г., Кузнецова А.В. Формирование модели SQL-запроса на основе статистических параметров производительности // Вестник молодёжной науки России: электронный научный журнал. Выпуск №3, 2017 [Электронный ресурс] URL: https://www.youth-science.com/vypusk-3-2019 (дата обращения: 10.10. 2019).

3. Официальный сайт компании Oracle «Центр поддержки Oracle». База данных Oracle. Документация. [Электронный ресурс] URL: https://docs.oracle.com/cd/B19306 01/ server.102/b14237/ statviews 3183. htm# REFRN23447 (дата обращения: 10.10. 2019).

4. Алгазали С.М.М., Кузнецова А.В., Айвазов В.Г. Модификация алгоритма обучения самоорганизующейся нейронной сети на основе механизма регуляризации // Сб. науч. тр. междунар. науч.-практ. конф «Применение и развитие нейросетевого моделирования для решения фундаментальных задач в науке и технике»: 3-4 декабря 2018. Новочеркасск: Изд-во Лик, 2018. С. 62-65.

5. Шумский С. А. Байесова регуляризация обучения // Лекции для школы-семинара «Современные проблемы нейроинформатики»: 23-25 января 2002. М.: МИФИ, 2002. С. 30-90.

Кузнецова Алла Витальевна, канд. техн. наук, доцент, alvitkuz@yandex. ru, Россия, Новочеркасск, Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова,

Алгазали Салах Махди Мадлол, аспирант, alghazali. salah@yandex. ru, Россия, Новочеркасск, Южно-Российский государственный политехнический университет (НПИ) имени М.И. Платова

NETWORKS AND PROBABILITIC METHODS FOR IMPROVEMENT OF EFFECTIVENESS

DBMS ADMINISTRATION TOOLS

A. V. Kuznetsova, S.M.M. Alghasali

The possibility of solving the finding inefficient SQL-queries problem in large software systems (OLTP \ DW \ BI, etc.) is considered. An extended querys parameters set stored in the long-term memory of an industrial DBMS is used. Clustering using neural networks Kohonen allows to divide significant volumes of executable requests into groups with different load profiles on the system, provides a convenient visualization SQL-query performance parameters. The Bayesian classifier subsequent use trained on a limited set of queries with low productivity, automates the processes of assessing SQL-queries effectiveness.

Key words: SQL query, self-organizing neural network, clustering, statistical performance parameters, Bayesian classifier, Gaussian mixture model.

Kuznetsova Alla Vitalievna, candidate of cechnical sciences, docent, alvitkuz@yandex.ru, Russia, Novocherkassk, Platov South-Russian State Polytechnic University (NPI),

Alghazali Salach Mahdi Madlol, postgraduate, alghazali.salah@yandex.ru, Russia, Novocherkassk, Platov South-Russian State Polytechnic University (NPI)

УДК 623.4.11

К ВОПРОСУ О РАСЧЕТЕ КОМПЛЕКСНОГО ПОКАЗАТЕЛЯ ОГНЕВОЙ МОЩИ ОБРАЗЦА

БРОНЕТАНКОВОГО ВООРУЖЕНИЯ

А.Ю. Маркин, С.Н. Богомолов

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

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

В настоящее время система вооружения Воздушно-десантных войск базируется на бронированных гусеничных шасси, разработанных более 40 лет назад, которые технически и морально устарели, не удовлетворяют требованиям по защите от современных средств поражения, а также по эргономике [1]. Следовательно, для подержания на высоком уровне боеспособности и огневой мощи парашютно-десантных частей и подразделений в современных условиях необходимо постоянное совершенствование образцов бронетанкового вооружения (БТВ), в том числе и боевых машин десантных.

Существующая на сегодняшний день методика расчета показателя технического совершенства [1] боевых машин пехоты, боевых машин десанта и бронетранспортеров, позволяет оценивать как образец в целом, так и отдельные свойства образца. Свойства образца структурированы.

Структура данных свойств, рассмотренных в указанной методике, представлена на рис. 1.

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

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.