Прогнозирование.

Классификация образа.

Лекция №7

 

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

Эффективность классификации зависит от способа представления форм, которые связаны с разнообразием примеров в реальном мире. Среди этих способов отметим следующее:

Распознавание образов, структурное представление и статистическое представление.

 

1) Распознавание образов формально определяется как процесс в котором получаемый образ должен быть отнесён к одному из предопределённых(заранее известных) классов или категорий.

2) В структурном, распознавание образов, примеры описываются тем как они составлены из своих компонент, то есть структуры. Это аналогично тому, как делается в грамматике языка. В данном случае распознавание основывается на применении синтаксических правил.

3)При статистическом подходе к распознаванию, пример: компонент которого представляют собой различные характеристики(дескрипторы). Классификатор относит объект к тому или иному классу «С» в соответствии с определённым разбиением пространства входов. При статистическом подходе важное значение имеет правильный выбор статистического представления объекта, что требует предварительную обработку данных, при этом необходимо учитывать следующее 3 уровня сложности:

 

Первый уровень – когда классы можно разделить прямыми линиями или гиперплоскостями, если пространство имеет размерность больше двух. Это случай называется линейной отделимостью. (Рис1)

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

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

 

 

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

Распознавание образов

Для решения задачи распознавания образов с применением нейронной сети, необходимо её сначала обучить, подавая последовательность входных образов (примеров) наряду с категориями, к которым эти образы принадлежат.С помощью информации выделенной из обучающих данных, нейронная сеть сможет отнести представленный образ к конкретному классу. Нейронные сети дляраспознавания образов можно разделить на 2 типа:Первый тип нейронных сетей система состоит из 2 частей: сети извлечения признаков (без учителя) и сети классификации (с учителем). (Рис.2)

 

 

 

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

 

 

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

 

Отметим, что применение на практике любого из этих двух подходов зависит от конкретной предметной области.

 

Кодирование на выходе нейронной сети.

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

1 способ состоит в кодировании q – классов с помощью q – мерных наборов приписывая i–ой компоненте значение 1 если следуемый пример принадлежит i-му классу, в противном случае 0. Этот способ кодирования называется Бабушкиным кодированием.

При 2 способе кодирования задача с q- классами разбивается на q(q-1) – подзадач, содержащих только по 2 класса. Выходы подзадач подаются на вход Булевой функции, которая осуществляет окончательное присваивание i- го элементу номера класса. В этом случае число выходных элементов с увеличением q, растёт как q(в квадрате). Данный способ кодирования называется «2-на-2 кодирования».

 

Действия при построении классификатора.

При построении классификатора, с помощью нейронной сети, необходимо выделить следующее этапы:

1. Данные

А) Составить базу данных из примеров характерных для поставленной задачи

Б) Разбить всю совокупность данных на 2 множества: Обучающее и Тестовые.

2. Предварительная обработка

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

3. Построение, обучение и оценка качества нейронной сети.

А) Выбрать архитектуру и топологию сети (количество слоёв входов и выходов, структуру связей)

Б) Выбрать функцию активации, которая будет использоваться.

В) Выбрать подходящий алгоритм обучения нейронной сети.

Г) Оценить качество работы сети (по подтверждающему множеству или по информационному критерию), в зависимости от её сложности в целях оптимизации архитектуры.

Д) Остановиться на варианте нейронной сети с наилучшей способностью к обобщению и оценить качество её работы по тестовому множеству.

4. Применение и диагностика

А) Выяснить степень влияния различных факторов на принимаемое решение

Б) Убедиться, что доля случаев неправильной классификации достаточно мала.

В) При необходимости вернуться к шагу 2, изменив способ представления (входных) данных.

Г) Приступить к практическому использованию нейронной сети.

 

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

 

Кластеризация и поиск зависимости.

 

Кластеризация - это разбиение множества примеров на несколько компактных областей (Кластеров, групп), причём количество кластеров заранее не известно.

Разбивка исходного набора примеров на кластеры называется – кластерным решением.

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

 

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

Лекция №829.03.12

Одной из проблем применения алгоритмов кластеризации является выбор оптимального кол-ва кластеров. Если число кластеров выбрать слишком малым могут быть упущены некоторые существенные характеристики данных. Если кластеров окажется слишком много то не получится никакой эффективной итоговой информации о данных. Кластер имеет следующие математические характеристики: центр, радиус, среднеквадратическое отклонение, размер кластера. Цент кластера - среднее геометрическое место точек в пространстве данных. Радиус кластера - максимальное расстояние точек от. центра кластера. Кластеры могут быть перекрывающимися. Такая ситуация возникает когда при помощи математических процедур однозначно отнести пример к одному из двух кластеров невозможно. Такие объекты называются спорными. Спорный объект - который по мере сходства может быть отнесет к нескольким кластерам. Размер кластера может быть определен либо по радиусу кластера либо по среднеквадратичному отклонению объектов для этого кластера. Объект относится к кластеру если расстояние от объекта до центра кластера меньше радиуса кластера. При кластеризации используются различные меры расстояния. Выбор метрики является узловым моментом исследования от которого зависит окончательный вариант разбиения на кластеры при данном алгоритме разбиения. В каждом конкретном случае этот выбор должен производиться по своему в зависимости от цели исследования. Методы кластеризации разделяются на: иерархические агломеративные (от слова агломерат - скопление) и итеративные дивезивные (от слова дивисион - деление). Иерархическая кластеризация происходит последовательно путем деления меньших кластеров на большие. Процесс такого объединения можно показать на графике в виде дендрограммы. Обрезая дендрограмму на нужном уровне получим кластеризацию данных в разных группах. Не иерархическая кластеризация представляет собой непосредственное разделение набора данных на множество отдельных кластеров. Целью данного алгоритма является определение границ кластеров, как самых плотных областей в пространстве данных. Т.е определение кластера там, где имеется большое кол-ва сходных элементов данных. Одним из видов неиерархической кластеризации является метод К - средних. В данном методе расстояние между объектами в кластерах это евклидово расстояние, другой важный параметр кластеризации это расстояние между кластерами. В методе К - средних для каждого кластера определяют точку, которую определяют точку, которую называют центроидом или кластерным центром. Его координаты вычисляют как среднее арифметической соответствующих координат всех объектов принадлежащих данному кластеру. Для удобства расстояние между объектами и кластерами записывают в виде матрицы расстояний. Центроидный метод используется в качестве меры близости кластеров друг с другом. Кластеризация данных кроме описанных выше классических методов может выполняться с помощью нейронных сетей, которые обучаются без учителя. Одна их подобных нейросетей - это самоорганизующаяся карта Кахонина (СОК). Данный подход существует с начала 80 - х годов. СОК можно использовать для анализа финансовой учетности компании, долгосрочного прогнозирования динамики процентных ставок, выявления предпосылок к банкротству предприятий, оценки недвижимости, сегментирования покупателей и клиентов.

Целью процесса прогнозирования - является предсказание будущей реакции на основе ее поведения. Допусти, информация снята в дискретные моменты времени и представлена значениями x(n-T), x(n-2T)...,(x(n-mT) где Т - периодичность снятия сигнала, m - порядок прогнозирования. Задачи прогнозирования может быть решена с помощью нейросети, которая обучается на основе коррекции ошибок, без учителя, поскольку обучающие примеры получаются непосредственно с самого процесса.(рис.1) - блочная диаграмма нелинейного прогнозирования. При этом x от n. выступает в роли желаемого отклика. Обозначим x с крышкой - результат прогнозирования на один шаг вперед, сигнал ошибки определяется как разность x n и x n с крышкой. Он используется для настройки синоптических весов нейронной сети. В данном случае прогнозирование можно рассматривать как форму построения модели, а именно чем меньше ошибка прогнозирования, в статистическом смысле, тем лучше нейронная сеть будет работать в качестве модели имитируемого физического процесса, который обеспечивает генерацию данных. Задача прогнозирования особенно важна на практике в частности для финансовых приложений. Типичная последовательность действий при решения задачи прогнозирования финансовых показателей с помощью нейронных сетей может быть представлена блок схемой (рис.2). - блок схема финансового прогнозирования с помощью нейронных сетей. Действия на этапе предварительной обработки данных зависят от типа решаемой задачи, необходимо правильно выбрать ко-во и вид показателей, которые характеризуют процесс. Далее следует выбрать архитектуру нейронной сети, для нахождения параметров модели задать критерии ошибки и алгоритм обучения нейронной сети. Затем необходимо проверить различные свойства модели и дать интерпретацию выходной информации нейросети. На этапе анализа - доводки сети провести прогнозирования, с целью получения помощи для принятия решений в финансовой области.