Использование matlab для кластерного анализа данных. Суслова Екатерина Владимировна. магистрант Мордовский государственный университет им. Н.П. Огар?ва, Саранск.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
1

ЭЛЕКТРОННЫЙ НАУЧНЫЙ
ЖУРНАЛ «
APRIORI
.
C
ЕРИЯ: ЕСТЕСТВЕННЫЕ И

ТЕХНИЧЕСКИЕ НАУКИ»

№ 6

2015



УДК
004


ИСПОЛЬЗОВАНИЕ
MATLAB

ДЛЯ КЛАСТЕРНОГО АНАЛИЗА ДАННЫХ


С
услова Екатерина Владимировна


магистр
ант

Мордовский г
осударственный университет им.

Н.П. Огарѐва, Са
ранск


author
@
apriori
-
journal
.
ru


Аннотация
.

В ста
тье
рассматриваются

методы кластерного анал
и
за
,

а так же сложности применения

кластерного анализа данных
.

Обзор
инструментов для программной реализаци
и

алгоритмов кластерного
анализа
.


Ключевые

слова
:
кластерный анализ;
нейронная сеть
;

MATLAB
;

Statistics Toolbox;
Neural


Toolbox
.



USE OF MATLAB FOR THE CLUSTER ANALYSIS OF DATA


Suslova Ekaterina Vladimirovna


undergraduate

M
ordovian state university of N.
P. Ogaryov, Saransk


Abstract
.
In article methods of the cluster analysis, and also difficulties
of application of the cluster analysis of data are considered. The review of
tools for program realization of algorithms of the cluster analysis.

Key

words:
; MATLAB; Statistics

2

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


количественный инструмент исследования с
о
циально
-
экономических процессов, описываемых большим числом х
а
рактеристик. К ним относятся кластерный анализ, таксономия, распозн
а
вание образов, факторный анализ

[1]
.

Спектр применений кластерного анализа очень широк. Кластерный
анализ нашел применение во

многих аспектах человеческой жизни
.

Кластеризация

является описательной процедурой, она не делает
никаких статистических выводов, но дает возможность провест
и разв
е
дочный анализ и изучить «структуру данных»
.

На сегодняшний день разработано более сотни раз
личных алгори
т
мов
кластеризации
. Все они могут быть разделены

на

иерархические и
неиерархические.

Суть иерархической кластеризации (таксономии) состоит в послед
о
вательном объединении меньших кластеров в большие или разделении
больших кластеров на

меньшие. Иерархические методы могут быть а
г
ломеративными (объединительными) и дивизивными.


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

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

Иерархические методы кластерного анализа используются при н
е
больших объемах наборов данных.

Преимуществом
таких

методов кл
а
стеризации является их наглядность.

3

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

Алгоритм
k
-
средних

строит
k

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


наличие предположений (гипотез) относ
и
тельно

числа кластеров, при этом они должны быть различны настол
ь
ко, насколько это возможно. Выбор числа
k

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

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

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

[2]
.

У данного подхода есть следующие особенности:



Искусственные нейронные сети легко работают в распределенных
системах с боль
шой параллелизацией в силу своей природы.



НС оперируют числами, поэтому они могут проводить разбиение

на кластеры только для объектов с численными векторами характ
е
ристик.

4



Нейронные сети менее чувствительны к зашумленным данным.

Нейронные сети Кохонена


класс нейронных сетей, основным эл
е
ментом которых является слой Кохонена, состоящий из адаптивных л
и
нейных сумматоров. Как правило, выходные сигналы слоя Кохонена о
б
рабатываются по правилу «победитель забирает всѐ»: наибольший си
г
нал превращается в единичн
ый, остальные обращаются в ноль.

Напр
и
мер, в [
3
] рассматривалась
разработка методики и алгоритмов идент
и
фикации отклонений от нормативов параметров качества электроэне
р
гии в системах

электроснабжения
.

Этап анализа результатов кластеризации подразумевает решение
следующих

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

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

а)

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


к неверному решению
задачи.

б)

Сложность выбора метода кластеризации. Этот выбор требует н
е
плохого знания методов и предпосылок их

использования. Чтобы
проверить эффективность конкретного метода в определенной
предметной области, целесообразно применить следующую проц
е
дуру: рассматривают несколько априори различных между собой
групп и перемешивают их представителей между собой случай
ным
образом. Далее проводится кластеризация для восстановления и
с
ходного разбиения на кластеры. Доля совпадений объектов в выя
в
5

ленных и исходных группах является показателем эффективности
работы метода.

в)

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

г)

Проблема интерпретации результатов кластеризации. Форма кл
а
стеров в большинстве случаев
определяется выбором метода об
ъ
единения. Однако следует учитывать, что конкретные методы стр
е
мятся создавать кластеры определенных форм, даже если в иссл
е
дуемом наборе данных кластеров на самом деле нет.

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


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

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

Одними из наиболее распространенных продуктов
, где применяю
т
ся статистические за
коны,

являются STATISTICA, SPSS Statistics Base, а
также MATLAB
.

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

математического моделир
о
6

вания
M
ATLAB. Помимо встроенных функций

кластеризации, пользов
а
тель имеет возможность реализовать собственный алгоритм с помощью
высокоуровневого объектно
-
ориентиро
ванного языка программирования

MATLAB.

Возможности MATLAB весьма обширны, а по скорости выполнения
задач система нередко превосходит своих конкурентов. Она применима
для расчетов практически в любой области науки и техники
.
Этому сп
о
собствует не только расширенный набор матричных и
иных операци
й и
функций, но и наличие пакетов

расширения (toolbox
,
Simulink
)
, спец
и
ально предназначенных

для решения задач блочного моделирования
динамических систем и устройств, а также десятков других пакетов ра
с
ширений, в том числе, статистический пакет



Statistics Toolbox и пакет
моделирования нейронных сетей


Neural


Toolbox

[4].

Среда математического моделирования
MATLAB

находит широкое
применение как в научной, так и в учебной деятельности.

Например, в
[
5
] основы теории управления сопровождаются
программными кодами
для системы
MATLAB
.

В работе
[
6
] рассматриваются аспекты обучения
программированию на языке С и в системе
MATLAB
.

Следует отметить,
что многие конструкции в
MATLAB

имеют сходство с языком С
[6
].

Помимо данных функции в качестве инструмента кластеризации
данных можно использовать нейронные сети. Система
MATLAB включ
а
ет
пакет
Neural Network Toolbox™

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

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

Все это, в сочет
ании с возможностью полностью контролировать
процесс создания и обучения сети, предоставляет необходимые во
з
можности для решения задач

кластеризации данных
.

7

Для решения задачи кластерного анализа исходных данных для с
и
стемы анализа финансового состояния
предприятий было создано пр
и
ложение в системе
MATLAB

на основе утилиты
guide
. Вид этого прил
о
жения приведен на рис
.

1.


Рис
.

1. Интерфейс программного комплекса


Как только сеть обучена,

она используется для прогноза значения
необходимого коэффициента. Р
езультатом выполнения программы я
в
ляется оценка финансового состояния предприятия по основным коэ
ф
фициентам. Пример оценки финансового состояния в соответствии с
рис.

1 в правом нижнем окне
.

8

Данное приложение позволяет загружать данные в виде файлов с
расш
ирением *.
dip
,
в которых

содержится вектор входа.

Обучение
сети
осуществляется на наборах предварительно кластеризованных данных

(см. рис. 2).



Рис.

2.
Процесс обучения нейронной сети


Интерфейс
,
представленный

на

рис
. 2,
создан

на

основе

следующих

функций

пакета

Neural


Toolbox

системы

MATLAB
:

simplefit
_
dataset
,
feedforwardnet
,
train
,
view
,
,
perform
.

В качестве базовой модели выбрана динамическая искусственная
нейронная сеть с прямым распространением сигнала и оценкой качества
обучения
по среднеквадратической ошибке.

Процесс обучения требует набора примеров ее желаемых выхо
д
ных данных


входов и желаемых (целевых) выходов.

9

Динамическая нейронная сеть содержит в своем составе линии з
а
держки, вход нужно рассматривать как последовательность

векторов,
подаваемых на сеть в определенные моменты времени.

Т.е. прогноз
зависит не только от одного входного вектора, но и от предыдущего, тем
самым реализуется запоминание сети предыдущих данных.

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


Список использованных источников


1.

Ма
ндель

И. Д. Кластерный анализ. М.: Финансы и статистика,
1988.

176

с.

2.

Аббакумов А.А. Разработка методики и алгоритмов идентификации
отклонений от нормативов параметров качества электроэнергии в
системах электроснабжения: дис. …канд. тех. наук. Саранск, 2005.
18
0

с.

3.

Медведев В. Г. Нейронные Сети Matlab

6
.
М.: ДИАЛО
Г
-
МИФИ, 2002.
496 с.

4.

Калан Р. Основные концепции нейронных сетей: пер. с англ. М.:

Вильямс, 2001. 287 с.

5.

Афонин

В.В., Федосин С.
А., Иконников

С.
Е.

Основы теории упра
в
ления: лабораторный практикум. Саранск: Изд
-
во Мор
дов. ун
-
та,
2008.

244 с.

6.

Афон
ин
В.
В., Федосин С.А. О структурировании
лабораторно
-
прак
-
тических занятий при изучении дисциплин программирования

// О
б
разовательные технологии и общество
. 2014. Т
. 17.



4.
C
.

497
-
506.
URL
:
http
://
cyberleninka
.
ru
/
article
/
n
/
o
-
strukturirovanii
-
laboratorno
-
praktich

eskih
-
zanyatiy
-
pri
-
izuchenii
-
distsiplin
-
programmirovaniya

(дата обращ
е
ния
20.
1
0.2015
)
.


Приложенные файлы

  • pdf 42033789
    Размер файла: 250 kB Загрузок: 0

Добавить комментарий