Научная статья на тему 'Нейросетевые методы оценки значимости и отбора признаков'

Нейросетевые методы оценки значимости и отбора признаков Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы —

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

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

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

Текст научной работы на тему «Нейросетевые методы оценки значимости и отбора признаков»

УДК 68132:007.52

НЕЙРОСЕТЕВЫЕ МЕТОДЫ ОЦЕНКИ ЗНАЧИМОСТИ И

ОТБОРА ПРИЗНАКОВ

В.И.Дубровин, С.А.Субботин

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

Розглянуто рШення задач1 в1дбору ознак на основ1 нейрон-них мереж прямого поширення. Запропановат алгоритми ощнки значущост1 ознак. Наведено та проанал1зовано результати експеримент1в з вир1шення практичних задач на основ1 запропанованих метод1в.

The solution of a problem of feature selection based on the feed-forward neural network is considered. The algorithms of evaluation of feature significance are offered. The results of experiments on practical problems solution on the base of developed methods are given and analysed.

ВВЕДЕНИЕ

В настоящее время признано, что распознавание сложных образов наиболее целесообразно проводить на основе их относительного описания (описания в пространстве признаков). Выйор информативной системы признаков - наиболее важная задача теории распознавания. От успешного решения данной задачи зависят быстродействие и процент ошибок на этапе экзамена и распознавания, а также требования к ресурсам ЭВМ.

В настоящее время при решении этой задачи в лучшем случае формализуется лишь процедура выбора наиболее информативных признаков из заранее заданного ансамбля свойств. Иногда, правда, формализуется и процедура наращивания этого ансамбля в случае необходимости. Однако при этом, как правило, реализуется лишь получение заранее предписанных свойств.

В неформальных постановках задачи определение информативных признаков преследует: уменьшение до минимума количества необходимых для описания классов признаков без существенного увеличения вероятности ошибки распознавания; возможность использования относительно простых алгоритмов распознавания; уменьшение вероятности ошибки распознавания [1].

С решением этой задачи обымно связаны вопросы упрощения распознающей системы и повышения качества ее работы.

В настоящей работе для отбора признаков предлагается использовать нейронные сети прямого распространения: многослойные нейронные сети (МНС) и радиально-базис-ные нейронные сети (РБНС), которые являются наиболее популярной нейросетевой парадигмой на сегодняшний день.

1. ОЦЕНКА ЗНАЧИМОСТИ И ОТБОР ПРИЗНАКОВ НА ОСНОВЕ МНС

МНС или многослойный перцептрон представляет

собой множество нейронов, связанных между собой. МНС характеризуется следующими параметрами и свойствами: М - число слоев сети, N.. - число нейронов Д -го слоя,

связи между нейронами в слое отсутствуют, нейроны соседних слоев соединяются между собой: выходы нейронов Д -го слоя, Д =1,2,...,М-1 поступают на входы нейронов только следующего Д +1-го слоя. Внешний векторный сигнал х поступает на входы нейронов только первого слоя, выходы нейронов последнего М-го слоя образуют вектор выходов сети у(М). Каждый у-й нейрон Д -го слоя (Ду-й нейрон) преобразует входной вектор

х(Д'Я в выходную скалярную величину у(Д>:

N,,

Л = у

j) + X w(j)х(j)

где w(Д'- вес 1-го входа у-го нейрона Д -го слоя, ^ -функция активации, которая является монотонной и ограниченной.

Обучение МНС представляет собой итерационный процесс минимизации целевой функции обучения £(*№), где н* - множество весов и порогов сети.

МНС представляют собой эффективное средство для решения задач диагностики и распознавания, поскольку обладают высокими адаптивными и аппроксимационными способностями [2].

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

Отбор признаков на основе обученной МНС предлагается осуществлять на основе следующих методов.

1.1 Эвристическая оценка значимости

признаков

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

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

Алгоритм обратной оценки значимости признаков на основе МНС имеет следующий вид [3].

Шаг 1. Установить счетчик слоев ъ = М.

Шаг 2. Для всех нейронов q-го слоя МНС определить частные значимости их входов относительно их выходов. Эти значимости будем называть частными, поскольку они не учитывают информативность выхода данного нейрона как входа нейронов следующего слоя:

2*( х( Ъ, 3 )*) =

(

N,.

а _ 1

Шаг 3. Для всех нейронов q-го слоя определить значимости их входов относительно выходов с учетом значимости выхода нейрона для нейронов следующего слоя:

N +1

г(х(ъз)*) _ 2*(х(q•j)*) I 2(х(q + 1 р)*).

р _ 1

Для нейронов М-го слоя принимается равной 1.

Шаг 4. Если ъ>1, то установить Ъ=Ъ-1 и перейти на шаг 2, в противном случае - перейти на шаг 5.

Шаг 5. Для всех признаков х{ г=1,2,...,М определить оценки их значимости:

N1

гЛ(х**) _ I г(х(13)*) . 3 _ 1

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

1.2 Оценка значимости с фиксацией значений

признаков

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

Е( № _- )

2В(х ) _ 1--,

4 Е(№)

где Е(№) - значение целевой функции, характеризующей нейронную сеть при полном наборе признаков, и

Е(№ _ - ) - значение целевой функции при фиксирова-

х1 _ х1

нии входа х^ к среднему значению х{.

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

Шаг 1. Обучить МНС с помощью заданного алгоритма обучения на основе обучающих данных.

Шаг 2. Проверить сеть с помощью тестового набора

данных х = (х5 ¿}, г = 1... N, £ = 1,..., содержащего ^ экземпляров, и вычислить целевую функцию сети Е(х).

Шаг 3. Вычислить среднее значение каждого входа сети на наборе данных:

х ^ I х5, 1> N.

5 _ 1

Шаг 4. Фиксировать каждый вход по очереди, то есть заменить х£ на х{ для всех тестовых данных, затем пропустить набор тестовых данных через сеть и вычислить значения целевой функции при

фиксированных входах сети Е(№ _ - ) .

х г _ х г

Шаг 5. Вычислить коэффициент значимости гВ(хг), все г _ 1, 2, ..., N.

Шаг 6. Упорядочить гВ(хг) в порядке убывания. Большее

значение гВ(хг) показ^1вает, что признак х{ является более значимым и оказывает более сильное воздействие на выход сети.

1.3 Комбинированный алгоритм отбора с контрастированием, фиксированием и эвристической оценкой значимости признаков

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

Шаг 1. Обучить МНС на основе обучающего множества данных с помощью определенного алгоритма.

Шаг 2. Отконтрастировать МНС, фиксируя малозначимые веса к нулю. В качестве алгоритма контрастирования можно использовать алгоритмы [4, гл. 9]. Для набора данных определить значение целевой функции классификации при полном наборе признаков Е(№).

Шаг 3. Для отконтрастированной МНС определить значимости входов подобно вышеописанному методу фиксирования. Для этого поочередно будем фиксировать веса входов нейронов входного слоя, обращая их к среднему значению соответствующего признака или к нулю, т.е. будем исключать только один вход одного из нейронов входного слоя, в отличие от метода фиксирования, где исключаются все входы всех нейронов входного слоя, соответст-

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

г-ом входе у-го нейрона входного слоя, - среднее значение г-го признака (или 0), к которому фиксируется х^-.

Значимость г-го входа у-го нейрона входного слоя МНС по методу фиксирования будем определять по формуле:

Е(н\х - х )

2в - 1__' ху - - х

1

Е (м)

Шаг 4. Пронормировать оценки гВ

гВ* -

г* - М1п(у

у-у-,у=1,...,^; г=1,...,N,

]1 Мах (гВ) - М1п(гВ)

значения гу, соответственно.

N2

гС -

г С - М1п ( г С ) Мах(гС*) - М1п(гС*)

г = 1,..., N,

Шаг 8. Исключить признаки со значимостями гС < 2С

СС где - порог заданный, пользователем, 0< ^< 1.

кластера (количество кластеров т задается пользователем), на которые разбивается входное пространство. Обозначим х=(х\,...,х,...,х^) и у=(у1,..., уг,...,ук) - вход и выход сети, соответственно. Здесь N -количество признаков, а К- число классов.

Выход Ну у-го узла первого слоя, используя ядерную функцию Гауссиан как базисную, определяется по формуле:

Ну - ехр

(х - м- ( 1 - у) ) г(х - м- ( 1 , у) )

2 0у

, у=1,2,...,т,

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

где Мт(гВ) и Мах(гВ ) - минимальное и максимальное у г у г

Шаг 5. Определить гА - I г(х(2' к)*) - значимости

к - 1

нейронов входного слоя МНС методом эвристической оценки. Заметим, что на данном шаге требуется определить не значимости признаков и входов МНС, а значимости нейронов входного слоя, т.е. требуется выполнить алгоритм эвристической оценки до Шага 5.

Шаг 6. В качестве оценки значимости г-го признака N1

С* — V В * А принять: гУ - у гу .

у -1

Шаг 7. В качестве нормированной комбинированной оценки значимости г-го признака принять:

где х - входной образ (экземпляр), м( 1 у) - его входной весовой вектор (то есть центр Гауссиана для узла у) и 0? -параметр нормализации у-го узла, такой что 0<Ну<1 (чем ближе вход к центру Гауссиана, тем сильнее реакция узла).

Выход уу у-го узла второго слоя определяется из выражения:

уу = м(2у)ти, у =1,2,..., К;

где м(2у) - весовой вектор для у-го узла второго слоя и и -вектор выходов первого слоя.

Сеть выполняет линейную комбинацию нелинейных базисных функций. Задача обучения сети состоит в минимизации ошибки

1 ^ 2

К

■*-. 2

Е 1 I (у/- у/)

5 - 1у - 1

где Мт(ггС*) и Мах(ггС*) - минимальное и максималь-

2. ОЦЕНКА ЗНАЧИМОСТИ И ОТБОР

ПРИЗНАКОВ НА ОСНОВЕ РБНС

РБНС [5] состоит из двух слоев. Соединительные весовые векторы слоев будем обозначать м'(Д'у) , где Д - номер слоя (Д =1,2), у - номер нейрона (узла) в слое. Базисные (или ядерные) функции в первом слое производят локализованную реакцию на входной стимул. Выходные узлы сети формируют взвешенную линейную комбинацию из базисных функций, выиисленнытх узлами первого слоя.

Выходные узлы соответствуют выходным классам, в то время, как узлы первого слоя представляют собой

где у и у - желаемое и расчетное значения выхода -го

узла выходного слоя для /-го экземпляра, ^ - размер набора данных (количество экземпляров), и К - число выходных узлов (число классов). Далее для наглядности верхний индекс / опущен.

Обучение РБНС может выполняться двумя различными способами. Первый способ заключается в том, что алгоритмом кластеризации формируется фиксированное множество центров кластеров. Затем минимизацией квадратичной ошибки, то есть минимизацией Е, получают ассоциации центров кластеров с выходом. Второй способ заключается в том, что центры кластеров могут быть также обучены наряду с весами от первого слоя до выходного слоя методом градиентного спуска. Однако, обучение центров наряду с весами может привести к попаданию сети в локальные минимумы.

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

способа. Пусть центры кластеров будут обозначены м^1, у), =1,...,т. Параметр нормализации 0 представляет меру

распределения данных, ассоциируемый с каждым узлом.

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

Дм(Д,у) - -п е уН ,

где е у - у у - у у* и п - коэффициент скорости обучения.

ное значения , соответственно

Рассмотрим, как на основе РБНС можно осуществлять отбор признаков. Для представления значимости различных признаков и их комбинаций определим индекс оценки, на основе которого могут быть отобраны признаки или наборы признаков. Предполагается, что центры кластеров | - наиболее репрезентативные точки кластеров, используемые в последовательном обучении РБНС. Следовательно, расстояния между кластерами могут быть непосредственно вычислены из этих центров кластеров.

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

(2, к)* _

| №(2, к)| - М1п ( | №-(2 ' к| )

Мах(|н>(2'к)) - Мт(|к))'

где с - номер кластера, к - номер класса. Чем больше значение №с2к)*, тем больше значимость кластера с относительно класса к. Таким образом, большие значения № должны соответствовать большим межклассовым и внутриклассовым расстояниям.

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

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

Индекс оценки значимости признаков для подмножества признаков определяется из выражения:

Ек

с с' > с V/ й ¥

ОО

о _

III

к' Ф к с V/ й ¥

(№(1 с) - №(1 с'))2 /-/-(2, к)№(1, к)

ОсОс с с

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

Введем альтернативную меру индекса оценки значимости признаков. Пусть экземпляр р в кластере с1 и экземпляр ъ в кластере с2 будут обозначены: хр1 _ хр1, х2р1, ..., х^1 и хъ2 _ х^2, х|2, ..., х^2, соответственно. Пусть расстояние Р(с1, с2) между двумя кластерами с1 и с2, будет суммой попарных расстояний точек в этих двух кластерах, то есть:

Р(с1, с2) _ IIй(хР1, хъ2) ,

Р ъ

где й(а,Ь) является физическим расстоянием между двумя точками в пространстве модели. Если й(а,Ь) соответствует возводимому в квадрат Евклидову расстоянию, тогда

Р(с1, с2) _ IIIй(хр1 -хъ2)2, р ъ г

После упрощения, расстояние между двумя кластерами может быть записано как

Р(ср с2) _ ^Nc2(О2 + Ос22 + й(1 Ч

0),

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

(№(1 с) - №(1 сО)2

йк _ II I (/ ОО/ ) 2 ^к),

где N и N - число экземпляров, представленных в

кластерах с1 и с2, соответственно.

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

йк_11-1(№1 с) - №1 с'})2+Ос+о;)№2к)^с1'k),

с с' > с V/ й ¥

Рк _ I I) I ( / с} - №1 2+Ос+Ос') ^с2' к) №с1 к).

к' Ф к с V/ й ¥

Альтернативный критерий для индекса оценки значимости признаков можно представить, как:

гР _ У ^ , к'Р к

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

Считается, что требуемое число кластеров т не может быть меньше, чем число классов К, потому что, если они равны, то в идеале отдельный кластер соответствует отдельному классу. Следовательно, чтобы получить сеть с минимальным числом узлов в первом слое, мы начинаем с сети, у которой т=1. Затем т увеличивается до тех пор, пока существенно не увеличится значение целевой функции

классификации. Для этой сети вычисляются 2Р и 2е , а также соответственно упорядочиваются подмножества признаков.

Шаг 1: Выбрать сеть с количеством узлов первого слоя, равным числу классов.

Шаг 2: Обучить сеть и проверить критерий классификации (значение целевой функции).

Шаг 3: Увеличивать число скрытых узлов, и повторять шаг 2, пока характеристика классификации существенно не улучшится.

Шаг 4: Вычислить нормализованные абсолютные значения весов связей обученной сети, полученной на шаге 3.

Шаг 5: Вычислить 2Р и 2 для каждого подмножества признаков.

Шаг 6: Упорядочить подмножества признаков согласно значениям индексов оценки значимости.

3. ЭКСПЕРИМЕНТЫ И РЕЗУЛЬТАТЫ

Для исследования практической применимости рассмотренных алгоритмов на языке МАТЬАВ5.2 были разработаны соответствующие функции. Для тестирования алгоритмов использовались реальные данные для решения задач диагностики и распознавания: задача классификации растений на культурные и сорные [6], задача диагностики лопаток авиадвигателей [2] и задача диагностики изделий электронной техники [7]. Результаты проведенных экспериментов представлены в табл.

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

Сравнение вычислительных аспектов рассмотренных методов позволяет утверждать, что применение методов отбора признаков на основе МНС является более целесообразным по сравнению с РБНС, поскольку:

- МНС, как правило, позволяют получить более качественную и более точную модель

- Вычислительная сложность алгоритмов оценки значимостей на основе МНС существенно меньше, чем у соответствующего алгоритма для РБНС

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

Таблица - Сравнительная характеристика алгоритмов отбора признаков

Задача Исходное количество признаков Количество признаков после отбора

МНС РБНС

г4 гс

классификация растений на культурные и сорные 55 16 12 10 12

диагностика лопаток авиадвигателей 100 39 21 21 25

диагностика изделий электронной техники 15 11 10 9 12

ПЕРЕЧЕНЬ ССЫЛОК

1. Биргер И.А. Техническая диагностика.- М.: Машиностроение, 1978. - 240 с.

2. Адаменко В.А., Дубровин В.И., Жеманюк П.Д., Субботин С.А. Диагностика лопаток авиадвигателей по спектрам свободных затухающих колебаний после ударного возбуждения // Автома-тика-2000. М1жнародна конференц1я з автоматичного управлш-ня, Льв1в, 11-15 вересня 2000: Прац1 у 7-ми томах.-Т. 5. - Льв1в: Державний НД1 ¡нформацшноТ ¡нфраструктури, 2000. - С. 7-13.

3. Дубровин В.И., Субботин С.А. Алгоритм нейросетевого отбора признаков // Матер1али м1жнародноТ конференцп з автоматичного управлшня "Автоматика-2001", 10-14 вересня 2001 р.-0деса: 0ДПУ, 2001. - Т.2, С. 88-89

4. Нейроинформатика / А.Н.Горбань, В.Л.Дунин-Барковский,

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

А.Н.Кирдин, Е.М.Миркес, А.Ю.Новоходько, Д.А.Россиев, С.А.Терехов, М.Ю.Сенашова, В.Г.Царегородцев. Новосибирск: Наука, Сибирская издательская фирма РАН, 1998. - 296 с. Neural Network Toolbox User Guide / Beale M., Demuth H. -Natick: Mathworks, 1997. - 700 p.

Дубровин В.И., Морщавка С.В., Пиза Д. М., Субботин С.А. Распознавание растений по результатам дистанционного зондирования на основе многослойных нейронных сетей // Математичн машини i системи, 2000, № 2-3, С. 113-119. Дубровин В.И., Корецкий Н.Х., Субботин С.А. Индивидуальное прогнозирование надежности изделий электронной техники на основе нейронных сетей // Труды VII Всероссийской конференции "Нейрокомпьютеры и их применение" НКП-2001 с международным участием, Москва, 14-16 февраля, 2001 г.- М.: ИПУ РАН, С. 228-231.

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