ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2016 Управление, вычислительная техника и информатика № 4 (37)
УДК 519.254
DOI: 10.17223/19988605/37/7
О.В. Ниссенбаум, А.М. Харченко
АДАПТИВНАЯ ОЦЕНКА ВЕСОВОГО КОЭФФИЦИЕНТА В АЛГОРИТМЕ ДИНАМИЧЕСКОЙ КЛАСТЕРИЗАЦИИ ДАННЫХ
Рассматривается адаптивный алгоритм определения коэффициентов затухающей оконной модели динамического ЕМ-алгоритма кластеризации потока данных. Алгоритм предназначен для кластеризации данных с нормальным распределением в R", параметры которого изменяются во времени, что соответствует ситуации в реальных динамических системах, таких как компьютерные системы, сети связи и т.п. Для расчета весовых коэффициентов требуется хранение ограниченного объема данных, алгоритм эффективно вычислим, может применяться в системах реального времени. Приведены данные вычислительного эксперимента (на имитационной модели потока).
Ключевые слова: алгоритм кластеризации; поток данных; системы реального времени; затухающая оконная модель; адаптивный алгоритм.
Интеллектуальный анализ потоков данных на протяжении последних десятилетий вызывает живой интерес исследователей по всему миру. Кластерный анализ - эффективный инструмент анализа данных, закономерными являются многочисленные попытки его применения к потокам данных. В последние годы был предложен ряд алгоритмов динамической кластеризации, учитывающих специфику обработки потоков: высокую размерность, большой объем, постоянно поступающие измерения, которые требуют эффективных, работающих в режиме реального времени алгоритмов [1].
Впервые проблема кластеризации потоков данных, по-видимому, была затронута в 1980-е гг. в [2], а соответствующая модель формализована в 1998 г. [3]. В настоящее время публикуется множество работ, посвященных созданию и применению алгоритмов кластеризации к потокам данных, например [4-16].
Область применения динамической кластеризации данных достаточно широка. Такие алгоритмы востребованы при наблюдении за сложными системами, такими как информационные системы, компьютерные сети, в долговременных популяционных, когнитивных, социологических исследованиях в режиме реального времени [17-21]. Обработка больших объемов информации в режиме реального времени требует эффективных, быстродействующих алгоритмов, а также сжатия данных - необходимо отказаться от хранения всего массива данных (измерений). При этом информация, полученная недавно, зачастую имеет большую значимость, нежели старые данные.
Еще одной важной задачей при разработке алгоритмов машинного обучения является сокращение количества параметров алгоритма (user-defined parameter) путем разработки адаптивных механизмов [1]. Такой механизм для определения параметра затухающего временного окна предложен в данной работе и может быть применен не только для описанного здесь алгоритма кластеризации [22], но и других, таких как DenStream [23].
1. Динамический ЕМ-алгоритм для потока данных, взвешенных по времени
В [22] на основе [24] путем применения затухающей оконной модели построен алгоритм, кластеризующий потоки данных, причем каждой точке соответствует весовой коэффициент w = w(At), являющийся функцией от времени, прошедшего с момента поступления измерения (точки), а вес кластера W(t) является суммой весов всех входящих в него точек. В качестве весовой функции выбрана w(At) = e-aAi (о>0), обладающая следующими свойствами:
1) в момент возникновения точка имеет вес, равный 1: w(0) = 1;
2) c течением времени вес точки монотонно убывает к 0: lim w(At) = 0;
At
3) если известен вес точки через Aii ед. вр. после ее возникновения, то вес этой же точки еще через At2 ед. вр. рассчитывается по формуле w(A^+At2) = w(At0w(At2);
4) если известен вес кластера в момент времени t и за последующий период времени длительности Ai в кластер не попадало новых точек, то его вес пересчитывается по формуле W(t+At) = W(t)w(At).
Такой выбор весовой функции, во-первых, позволяет обрабатывать динамические данные в режиме реального времени; во-вторых, не требует хранения обработанных данных; в-третьих, учитывает «новые» данные с большими весами, чем «старые». Следует отметить, что подобный выбор весовой функции, обеспечивающей затухающее временное окно, является достаточно распространенной практикой и применен независимо, например в [23] (с точностью до основания).
Пусть в некоторый момент времени набор измерений (назовем их исходными данными) разбит классическим ЕМ-алгоритмом на множество кластеров. Каждый кластер Ck представлен функцией плотности нормального распределения в пространстве характеристик:
Ф(Х|Ц, I) = {(2п)11|ехр[(х-ц)т1-1(х-ц)]}-1/2, (1)
где ц и £ - координаты центра и ковариационная матрица кластера, рассчитанные согласно соответствующим формулам для нормального распределения, xeRd - координаты новой точки, индекс к - номер кластера, для простоты опущен. Весовые коэффициенты кластеров в начальный момент времени устанавливаются равными количеству точек в них.
Пусть теперь {x1, x2, ...}eRd - поток данных, т.е. точки, поступающие в последовательные моменты времени t1, t2, ... . В момент поступления очередной точки x она относится к одному из кластеров методом максимального правдоподобия. Вероятность пк принадлежности точки x к кластеру Ck с весом Wk определяется формулой
= WkФк (^ fa, Zк ) (2)
1K1W Ф (( ц,, Z,). ()
При появлении в потоке очередной точки x выполняется следующий алгоритм.
Вход: x - новая точка, цк, £к, Wk- характеристики и веса кластеров (к = 1,2,...,K), At - время, прошедшее с момента получения предыдущей точки.
1. Пересчитать веса кластеров Wk = e-aAtWk.
2. Рассчитать вероятности попадания точки x в кластеры согласно (2). Отнести x к одному из кластеров методом максимального правдоподобия.
3. Для этого кластера произвести пересчет центра ц, ковариационной матрицы £ и веса W:
W^ + x _ W L (ц__ x)2 ^
ц+ = ,„ , ; =
W +1 W +1
W +1
; W=W+1,
где индексы «-» и «+» соответствуют значениям до и после пересчета, индекс к опущен.
Заметим, что весовая функция содержит параметр а > 0, причем при а = 0 разработанный алгоритм совпадает с [24]. Данный параметр влияет на скорость устаревания точки: при его возрастании точка устаревает скорее. Очевидно, он может быть определен отдельно для каждого кластера и зависит от множества факторов: скорости изменения параметров кластера, частоты поступления точек и т.п.
2. Адаптивный алгоритм расчета параметра весовой функции
Назовем точку, полученную в момент времени ?0, незначимой в момент времени ? = ?0+А?, если ее вес ниже наперед заданного малого значения в (0 < в << 1): м/(А1) = е-^ < в. Откуда получаем а = -1п в/А?, где А? - время, за которое точка должна потерять значимость. Определим А? как время, за которое математическое ожидание точек кластера выйдет за пределы доверительного эллипсоида с доверительной вероятностью р, определенного в момент ?0. Положим, что за время А? скорость движения центра кластера V изменится незначительно, так что можно принять ее постоянной. Тогда, зная направление скорости, рассчитаем г - расстояние от центра кластера до границы доверительного эллипсоида с заданной дове-
рительной вероятностью в этом направлении, и тогда At=r/\ v \, а оценка для параметра весовой функции будет вычислена как
a = -\v\ln s/r. (3)
Заметим, что при использовании (3) весовая функция W не зависит от единиц измерения времени и расстояния.
Построим оценку для v , используя x1, x2,... ,xN - последние N точек, попавшие в данный кластер, и моменты их поступления t1, t2,...,tN. Пусть t0 - момент времени, когда в кластере была получена точка, предшествующая известным, а ц0 и Е0 - центр кластера и его ковариационная матрица в этот момент. Тогда, поскольку каждая из точек x является реализацией случайной величины, которая, в свою очередь, есть сумма нормально распределенной многомерной величины и неслучайного смещения, зависящего от скорости центра кластера и времени, можем заключить, что xt = E,i+v (t—t0), где i - реализация нормально распределенной случайной величины со средним ц0 и ковариационной матрицей Е0, i = 1,2,.,N. Тогда, обозначив среднее для N последних точек как ц, имеем
Ц _ £Nixi _ ^i=i^i + v £ i=i(t; - t0)
NN N '
Среднее всех ^ есть оценка для ц0, поэтому для v можно построить оценку
v _ N(Ц-Ц0)
v _Z ¡_i(t. чУ (4)
приняв в качестве ц0 оценку центра кластера в момент времени t0.
Для пересчета a предложим следующий подход. В начальный момент времени можно принять a = 0, т.е. предположить, что центр кластера не смещается. При попадании в кластер каждой точки накапливать значения ц и знаменателя в (4), а при попадании каждой N-й точки - пересчитывать a согласно (4) и (3). Такой подход позволяет не хранить обработанные точки для алгоритма пересчета a так же, как и для алгоритма кластеризации.
Относительно выбора параметра N можно сделать следующие предположения: N должно быть достаточным для репрезентативности выборки; с другой стороны, при увеличении N снижается частота пересчета коэффициента a. Таким образом, выбор N определяется желаемой частотой пересчета параметра затухания a и ограничен снизу минимально необходимым объемом выборки. Результаты экспериментов, иллюстрирующие вопрос качества оценивания скорости в зависимости от выбора N, приведены в третьем пункте.
В случае возможности выделить для каждого кластера хранилище точек объема N; предложим другой подход к пересчету параметра a: при поступлении в кластер новой точки она добавляется в хранилище вместо самой старой, значение a пересчитывается согласно (4) и (3). В этом случае пересчет параметра затухания происходит при поступлении в кластер каждой точки, и N ограничено лишь выделенным объемом хранилища точек, с одной стороны, и минимальным значением для репрезентативности выборки - с другой.
3. Вычислительный эксперимент
Разработанный алгоритм был реализован на С#. Было проведено несколько серий экспериментов, в каждом из которых моделировалось 9 000 точек в одном кластере, центр которого смещался с постоянной скоростью, а ковариационная матрица оставалась неизменной. Рассчитывались оценки скорости согласно (4) при различных N. В момент поступления каждой точки производилась оценка скорости v, для скаляра
которой рассчитывалась относительная погрешность 5 = |v—v|/v, были получены выборочные средние v , 5 среднеквадратические отклонения ov, о5. Перечисленные выборочные характеристики при ^ (400 0 ^
| v | = 0,04 ед.расст./ед.вр. и постоянной ковариационной матрице Е = 0 400 приведены в табл. 1. С увеличением N погрешность, в среднем, уменьшается, как и ее среднеквадратическое отклонение.
Т а б л и ц а 1
Результаты эксперимента при V = 0,04
N 100 250 500
V 0,0724 0,0394 0,0346
Оу 0,0196 0,0079 0,0044
8 0,8281 0,1682 0,1544
о8 0,4574 0,1041 0,0820
Траектория скаляра оценки скорости в сравнении с траекторией истинного его значения, для упомянутого эксперимента при N = 500 приведен на рис. 1.
Рис. 1. Траектории скаляров оценки скорости (черная линия) и его истинного значения (серая линия) при N = 500
Был проведен вычислительный эксперимент, в котором для одних и тех же исходных параметров было смоделировано 30 комплектов данных, полученных в трех кластерах с нормальным распределением в Я2, причем местоположение центров кластеров изменялось со временем.
Начальное положение центра первого кластера = (650,700), ковариационная матрица диагональная, о111 = о221 = 700 (здесь верхний индекс - номер кластера), скорость движения центра у1 = 7 ед.расст./ед.вр. Для второго кластера ц2 = (100, 300), ковариационная матрица также диагональная, оп2 = о222 = 400, у2 = 5 ед.расст./ед.вр, для третьего аналогично ц3 = (550, 500), оц3 = о223 =200, у3 = 4 ед.расст./ед.вр, Направления скоростей задавались случайным образом. Точки моделировались с интервалом в 1/3 ед.вр. с равными вероятностями попадания в каждый из кластеров. Обработка данных производилась предложенным алгоритмом, пересчет параметра а производился согласно (3) и (4). В момент окончания расчетов для каждого эксперимента было вычислено отношение отклонения оцененного центра кластера от истинного к истинному среднеквадратическому отклонению Ац^/оц^. Гистограммы их частот по всем 30 экспериментам приведены на рис. 2.
0,7 0,6 0,5 0,4 0,3 0,2 0,1
0,7 0,6 0,5 0,4 0,3 0,2 0,1
¿0,04 0,0В 0,12 0,16 0,2 0,24 0,2£ 0,32 0,36 >0,35
<0,04 0,0Б 0,12 0,16 0,2 0,24 0,2£ 0,32 0,36 >0,36
Рис. 2. Гистограммы частот относительных отклонений центров кластеров: а - первого; б - второго; в - третьего в момент окончания эксперимента
б
а
в
На рис. 3 приведена визуализация одного из 30 результатов. Эллипсами обозначены доверительные области кластеров с вероятностью 0,9 (пунктирная линия - истинные, сплошная - полученные в предложенном алгоритме) в момент окончания эксперимента.
Рис. 3. Точки 1-го кластера обозначены кружками, 2-го - треугольниками, 3-го - крестиками; интенсивность цвета отражает новизну измерения (темный - новые точки, светлый - старые)
Заключение
Разработанный алгоритм нетребователен к ресурсам (время, память) и пригоден для оперативного мониторинга в больших динамических системах, таких как компьютерные системы и сети. Вычислительный эксперимент показал приемлемое качество его работы на имитационной модели.
ЛИТЕРАТУРА
1. Ding S., Wu F., Qian J., Jia H., Jin F. Research on data stream clustering algorithms // Artif Intell Rev. 2015. V. 43. P. 593-600.
2. Munro J., Paterson M. Selection and Sorting with Limited Storage // Theoretical Computer Science. 1980. Р. 315-323.
3. Henzinger M., Raghavan P., Rajagopalan S. Computing on Data Streams // Digital Equipment Corporation. SRC TN-1998-011. Au-
gust 1998.
4. Ackerman M., Martens R., Raupach C., Swierkot K., Lammersen C., Sohler C. StreamKM++: A clustering algorithm for data streams
// ACM J. Exper. Algor. 2012. V. 17, No. 1.
5. Aggarwal C.C. A segment-based framework for modeling and mining data streams // Knowl. Inf. Syst. 2010. V. 30, No. 1. P. 1-29.
6. Csernel B., Clerot F., Hebrail G. Data stream clustering over tilted windows through sampling // Proceedings of the Knowledge Dis-
covery from Data Streams Workshop (ECML/PKDD). 2006.
7. Dang X.H., Lee V.C.S., Ng W.K., Ciptadi A., Ong K.-L. An EM-based algorithm for clustering data streams in sliding windows //
Proceedings of the 14th International Conference on Database Systems for Advanced Applications. Lecture Notes in Computer Science. Springer, 2009. V. 5463. P. 230-235.
8. Khalilian M., Mustapha N. Data stream clustering: challenges and issues // Proceedings of International Multi Conference of Engi-
neers and Computer Scientists. 2010. P. 566-569.
9. Li Y., Tan B.H. Data stream clustering algorithm based on affinity propagation and density // Advanced Materials Res. 2011. V. 267.
P. 444-449.
10. Ong K.L, Li W., Ng W.-K., Lim E.-P. SCLOPE: An algorithm for clustering data streams of categorical attributes // Proceedings of
the 6th International Conference on Data Warehousing and Knowledge Discovery (KDD'04). 2004. P. 209-218.
11. Silva J.A., Hruschka E.R. Extending k-means-based algorithms for evolving data streams with variable number of clusters // Pro-
ceedings of the 4th International Conference on Machine Learning and Applications (ICMLA'11). 2011. V. 2. P. 14-19.
12. Cao F., Zhou A.Y. Fast clustering of data streams using graphics processors // Journal of Software. 2007. V. 18, No. 2. P. 291-302.
13. Zhu W.H., Yin J., Xie Y.H. Arbitrary shape cluster algorithm for clustering data stream // Journal of Software. 2006. V. 17, No. 3.
P. 379-387.
14. Chandrika J., Ananda Kumar K.R. Dynamic Clustering Of High Speed Data Streams // International Journal of Computer Science
Issues. 2012. V. 9, Issue 2, No. 1. P. 224-228.
15. Vorontsov K., Frei O., Apishev M., Romov P., Suvorova M., Yanina A. Non-bayesian additive regularization for multimodal topic
modeling of large collections // Proceedings of the 2015 Workshop on Topic Models: Post-Processing and Applications. 2015. P. 29-37.
16. Spirin N., Vorontsov K. Learning to rank with nonlinear monotonic ensemble // International Workshop on Multiple Classifier Sys-
tems: Springer Berlin Heidelberg, 2011. P. 16-25.
17. Qian Quan, Chao-Jie Xiao, Rui Zhang. Grid-based Data Stream Clustering for Intrusion Detection // International Journal of Net-
work Security. 2013. V. 15, No. 1. P. 1-8.
18. Daniel A., Sternberg, Kacey Ballard, Joseph L. Hardey at al. The Largest Human Cognitive Performance Dataset Reveals Insights
into the Effects of Lifestyle Factors and Aging // Frontiers in Human Neuroscience. 2013. V. 7. Article 292.
19. Zhang X., Sebag M., Germain-Renaud C. Multi-scale real-time grid monitoring with job stream mining // Proceedings of the 9th
IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'09). 2009. P. 420-427.
20. Shurygin A.M., Strigunova M.S. Prediction of strong earthquakes with the use of scalar product of matrices with a sliding window //
Pattern Recognition and Image Analysis (Advances in Mathematiccal Theory and Applications). 2007. V. 17, No. 1. P. 153-162.
21. Ниссенбаум О.В., Присяжнюк А.С. Адаптивный алгоритм отслеживания аномальной активности в компьютерной сети на
основании характерных изменений оценок альтернирующего потока // Прикладная дискретная математика. Приложение. 2010. № 3. С. 55-58.
22. Ниссенбаум О.В. Алгоритм кластеризации потока данных с изменяющимися параметрами распределения // Вестник Тю-
менского государственного университета. 2013. № 7. С. 180-186.
23. Cao F., Ester M., Qian W., Zhou A. Density-based clustering over an evolving data stream with noise // Proceedings of the 6th SI-
AM International Conference on Data Mining. 2006. P. 328-339.
24. Mingzhou Song, Hongbin Wang. Highly efficient incremental estimation of Gaussian mixture models for online data stream cluster-
ing // Proceedings of SPIE 5803. 2005. P. 174-183.
Ниссенбаум Ольга Владимировна, канд. физ.-мат. наук. E-mail: onissenbaum@rambler.ru Харченко Анастасия Михайловна. E-mail: kharchenkoam.86@gmail.com Тюменский государственный университет
Поступила в редакцию 4 июня 2016 г.
Nissenbaum Olga V., Kharchenko Anastasia M. (Tyumen State University, Russian Federation).
Adaptive Estimation of Weight Coefficient in a Time-weighted Incremental EM-algorithm for Data Streams.
Keywords: dustering; time-weight; data stream; Gaussian mixture model; damped window model.
DOI: 10.17223/19988605/37/7
Application of data stream clustering is quite general. Applications of data streams include mining data generated by sensor networks, meteorological analysis, stock market analysis, computer network traffic monitoring, long-term population-based, cognitive, real-time sociological studies etc. These applications involve datasets that are far too large to fit in main memory and are typically stored in a secondary storage device. Real-time processing of large volumes of data requires efficient, fast algorithms and data compression. Moreover, recently obtained objects are often more important than the old ones, so several clustering algorithms implement a damped window model with a user-defined decay coefficient. This coefficient is not obvious. An important task in the development of machine learning algorithms is to reduce the number of algorithm parameters (user-defined parameter) through the development of adaptive mechanisms. Such a mechanism for determining the decay coefficient proposed in this paper.
A Gaussian mixture data stream algorithm is constructed with damped window model. Decay coefficient for the object according damped window is w=w(At) where At is time since object arrived from the stream into cluster, weight of the cluster W(t) is sum of all its objects. Recent objects receive higher weight than older ones, and the weights of the objects decrease with time. It is usually to assume w(At)=e"aAt (a>0), with following properties:
1) when arrives, the object weight is equal to one: w(0)=1;
2) over time object weight monotonic decreases to zero: lim w(At) = 0;
At
3) if weight of object w(A^) after At! units of time is known, then after more At2 it can be easily recalculates as w(Ati+At2) = w(Atj)w(At2);
4) if weight of cluster W(t) for the instant in time t is known, and during the next time period At there was no new objects arrived in this cluster, then weight of this cluster can be recalculates as W(t+At) = W(t)w(At).
Let at initial instant in time we have a set of K Gaussian clusters Ck that described by their means ц and correlation matrixes Xk. Weight Wk at initial time defined as a number of objects in cluster Ck. Let {x1, x2, . ,.}eRd is data stream, i.e. set of objects with timestamps t1, t2, .... When a new object x with timestamp t arrives to the cluster Ck, the following algorithm executes.
Input: new object x, cluster parameters: mean correlation matrix X, weight Wk (k=1,2,...K), time period since last object arrives At.
1. Recalculate weights Wk = e-aAtWk (k=1,2,...,K).
Wk фк ( x| |ik, Z K )
2. Calculate probabilities of belonging x to the k-th cluster %k =--—-¡—-Ц- . Put x into the most probable cluster.
ZhW,Ф, ((l, > Z)
3. For this cluster (in with x is, index of cluster is dropped) recalculate mean ц, correlation matrix X and weight W:
W+ W x)2 ^
i+ = T ~ ; 2+ =
w+1 w+1
z-+-
w+1
W=W+1,
where indexes - and + corresponds to the values before and after recalculation.
Note that weight function depends on a>0, that may be defined individually for each Ck. We propose the following algorithm to recalculate a separately for each cluster at the time the object arrives into cluster.
Input: x1, x2,...,xN - last N objects putted into cluster, t1, t2,...,tN - their timestamps, |0 - cluster mean Z0 - cluster correlation matrix.
1. At initial instance of time t0 adopt a=0, i.e. we assume that cluster is not moving.
2. When object xi with timestamp ti (i<NN) arrives into the cluster, accumulate variables | = (x1 + x2 + ...+ xN)/Nand ft-t0).
v = N (l-l0) __
3. If i=N calculate ^n ( ) using accumulated variables. Calculate a = -| v |ln e/r, where r is Euclidean distance be-
2 i=1 i t0)
tween |0 and confidence ellipse boundary (confidence probability p = 1 - e) in direction of v vector. Set t0=tN, assign |0 and Z0 a corresponding values of cluster at the time tN and return to step 1.
We perform an experiment using an imitation model of Gaussian mixture clusters with moving centroids. Some results are shown in this article. Proposed algorithm is undemanding to resources (time, memory) and therefore is suitable for real-time monitoring in large dynamic systems, such as computer systems and networks. Quality of decay coefficient adaptation is acceptable as follows from the experimental data.
REFERENCES
1. Ding, S., Wu, F., Qian, J., Jia, H. & Jin, F. (2015) Research on data stream clustering algorithms. Artif Intell Rev. 43. pp. 593-600.
DOI: 10.1007/s10462-013-9398-7
2. Munro, J. & Paterson, M. (1980) Selection and Sorting with Limited Storage. Theoretical Computer Science. pp. 315-323. DOI:
10.1109/SFCS.1978.32
3. Henzinger, M., Raghavan, P. & Rajagopalan, S. (1998) Computing on Data Streams. Digital Equipment Corporation. SRC TN-1998-011.
4. Ackerman, M., Martens, R., Raupach, C., Swierkot, K., Lammersen, C. & Sohler, C. (2012) StreamKM++: A clustering algorithm for
data streams. ACMJ. Exper. Algor. 17(1). DOI: 10.1145/2133803.2184450
5. Aggarwal, C.C. (2010) A segment-based framework for modeling and mining data streams. Knowl. Inf. Syst. 30(1). pp. 1-29. DOI:
10.1007/s10115-010-0366-0
6. Csernel, B., Clerot, F. & Hebrail G. (2006) Data stream clustering over tilted windows through sampling. Proceedings of the
Knowledge Discovery from Data Streams Workshop (ECML/PKDD).
7. Dang, X.H., Lee, V.C.S., Ng, W.K., Ciptadi, A. & Ong, K.-L. (2009) An EM-based algorithm for clustering data streams in sliding
windows. Proc. of the 14th International Conference on Database Systems for Advanced Applications. Lecture Notes in Computer Science. Vol. 5463Springer. pp. 230-235.
8. Khalilian, M. & Mustapha, N. (2010) Data stream clustering: challenges and issues. Proc. of InternationalMulti Conference of Engi-
neers and Computer Scientists. pp. 566-569.
9. Li, Y. & Tan, B.H. (2011) Data stream clustering algorithm based on affinity propagation and density. Advanced Materials Res. 267.
pp. 444-449. DOI: 10.4028/www.scientific.net/AMR.267.444.
10. Ong, K.L, Li, W., Ng, W.-K. & Lim, E.-P. (2004) SCLOPE: An algorithm for clustering data streams of categorical attributes. Proc.
of the 6th International Conference on Data Warehousing and Knowledge Discovery (KDD '04). pp. 209-218.
11. Silva, J.A. & Hruschka, E.R. (2011) Extending k-means-based algorithms for evolving data streams with variable number of clusters. Proc. of the 4th International Conference on Machine Learning and Applications (ICMLA'11). 2. pp. 14-19. DOI: 10.1109/ICMLA.2011.67.
12. Cao, F. & Zhou, A.Y. (2007) Fast clustering of data streams using graphics processors. Journal of Software. 18(2). pp. 291-302. DOI: 10.1360/jos180291
13. Zhu, W.H., Yin, J. & Xie, Y.H. (2006) Arbitrary shape cluster algorithm for clustering data stream. Journal of Software. 17(3). pp. 379-387.
14. Chandrika, J. & Ananda Kumar, K.R. (2012) Dynamic Clustering Of High Speed Data Streams. International Journal of Computer
Science Issues. 9(2-1). pp.224-228. DOI: 10.1109/ICDE.2009.13.
15. Vorontsov, K., Frei, O., Apishev, M., Romov, P., Suvorova, M. & Yanina, A. (2015) Non-bayesian additive regularization for mul-
timodal topic modeling of large collections. Proc. of the 2015 Workshop on Topic Models: Post-Processing and Applications. pp. 29-37. DOI: 10.1145/2809936.2809943
16. Spirin, N. & Vorontsov K. (2011) Learning to rank with nonlinear monotonic ensemble. International Workshop on Multiple Classifier Systems. Naples, Italy - June 15 - 17, 2011. Berlin, Heidelberg: Springer. pp.16-25.
17. Qian, Q., Chao-Jie, X. & Rui Zhang. (2013) Grid-based Data Stream Clustering for Intrusion Detection. International Journal of Network Security. 15(1). pp. 1-8.
18. Sternberg, D.A., Joseph, Ballard, K. & Hardey, J.L. et al. (2013) The Largest Human Cognitive Performance Dataset Reveals In-
sights into the Effects of Lifestyle Factors and Aging. Frontiers in Human Neuroscience. 7. DOI: 10.3389/fnhum.
19. Zhang, X., Sebag, M. & Germain-Renaud, C. (2009) Multi-scale real-time grid monitoring with job stream mining. Proc. of the 9th
IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRID'09). pp. 420-427. DOI: 10.1109/CCGRID.2009.20
20. Shurygin, A.M. & Strigunova, M.S. (2007) Prediction of strong earthquakes with the use of scalar product of matrices with a sliding
window. Pattern Recognition and Image Analysis (Advances in Mathematiccal Theory and Applications). 17(1). pp. 153-162. DOi: 10.1134/S1054661807010191
21. Nissenbaum, O.V. & Prisyagnyuk, A.C. (2010) Adaptive algorithm for anomalous network traffic indication based on alternating
process. Prikladnaya diskretnaya matematika - Applied Discrete Mathematics. Applications. 3. pp. 55-58. (In Russian).
22. Nissenbaum, O.V. (2013) Clustering algorithm for data streams with changing distribution parameters. Vestnik Tyumenskogo gosu-
darstvennogo universiteta. 7. pp. 180-186. (In Russian).
23. Cao, F., Ester, M., Qian, W. & Zhou, A. (2006) Density-based clustering over an evolving data stream with noise. Proc. of the 6th
SIAMInternational Conference on Data Mining. pp. 328-339.
24. Song, M. & Wang, H. (2005) Highly efficient incremental estimation of Gaussian mixture models for online data stream clustering. Proceedings of SPIE 5803. pp.174-183. DOI: 10.1117/12.601724