Решение задач классификации

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

Рисунок 1. Стартовая панель - выбор задачи классификации

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

;

Рисунок 2. Конструктор сетей - выбор многослойного персептрона для решения задачи

Номинальные переменные представляются в пакете STATISTICA Нейронные Сети в одном из двух видов (первый из них годится только для переменных с двумя значениями): 1) бинарном (два состояния) и 2) один-из-N. При бинарном представлении переменной соответствует один узел сети, при этом значение 0.0 означает активное состояние, а 1.0 - неактивное. При кодировании 1-из-N на каждое состояние выделяется один элемент, так что каждое конкретное состояние представляется как 1.0 в соответствующем элементе и 0.0 во всех других.

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

Каждый из выходных элементов будет содержать числовые значения в интервале от 0.0 до 1.0. Чтобы уверенно определить класс по набору выходных значений, сеть должна решить, "достаточно ли близки" они к нулю или единице. Если такой близости не наблюдается, класс считается "неопределенным".

Кроме того, в пакете STATISTICA Нейронные Сети для интерпретации выходных значений используются доверительные уровни (пороги принятия и отвержения). Эти пороговые значения можно корректировать, чтобы заставить сеть быть более или, наоборот, менее "решительной" при объявлении класса. Схемы здесь немного различаются для случаев бинарного и 1-из-N представлений:

Рисунок 3. Задание порогов принятия/отвержения класса

Бинарное. Если выходное значение элемента превышает порог принятия, то выбирается класс 1.0. Если выходное значение лежит ниже порога отвержения, выбирается класс 0.0. Если выходное значение лежит между порогами, класс считается не определенным.

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

При кодировании методом 1-из-N имеет место одна особенность. На первый взгляд кажется, что "наиболее решительной" будет сеть с порогами принятия и отвержения, равными 0.5. Это действительно так для бинарного кодирования, но уже не так для кодирования 1-из-N. Можно сделать так, чтобы порог принятия был ниже порога отвержения, и наиболее решительной будет сеть, у которой порог принятия 0.0 , а порог отвержения 1.0. При такой, на первый взгляд странной, настройке сети элемент с наивысшим уровнем активации будет определять класс вне зависимости от того, что происходит в других элементах. Вот точная схема действия алгоритма определения класса в пакете STATISTICA Нейронные Сети:

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

При пороге принятия 0.0 выходной сигнал выигравшего элемента всегда будет принят, а при пороге отвержения 1.0 все остальные элементы неизбежно будут отвергнуты, и поэтому алгоритм сводится к простому выбору выигравшего элемента. Если же оба пороговых значения - принятия и отвержения - установить на уровне 0.5, сеть вполне может остаться в нерешительности (в случаях, когда у победителя результат ниже 0.5 или у кого-то из проигравших - выше 0.5).

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

Все сказанное относится к механизму выбора класса для большинства типов сетей: МП, РБФ, линейных сетей и сеть для кластеризации. В отличие от них, сеть Кохонена действует совершенно иначе.

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

В наших рассмотрениях мы предполагали, что "положительному" решению о классификации должно соответствовать значение, близкое к 1.0, а "отрицательному" - близкое к 0.0. Это действительно так в том случае, если на выходе используются логистические функции активации. Кроме того, это удобно, поскольку вероятность может принимать значения от 0.0 до 1.0. Однако, в некоторых ситуациях может оказаться более удобным использовать другой диапазон. Иногда применяется обратная упорядоченность, так что положительное решение соответствует малым выходным значениям. Пакет STATISTICA Нейронные Сети поддерживает любой из этих вариантов работы.

Вначале в качестве границ диапазона для каждой переменной используются значения минимум/среднее и максимум/стандартное отклонение. Для логистической выходной функции активации хорошими значениями по умолчанию являются 0.0 и 1.0. Некоторые авторы советуют использовать в качестве функции активации гиперболический тангенс, который принимает значения в интервале (-1.0,+1.0) . Таким приемом можно улучшить обучение, потому что эта функция (в отличие от логистической) симметрична. В этом случае нужно изменить значения минимум/среднее и максимум/стандартное отклонение, и программа STATISTICA Нейронные Сети автоматически будет правильно интерпретировать классы.

Обратная упорядоченность, как правило, применяется в двух ситуациях. Одну из них мы только что обсудили: это сети Кохонена, в которых выходное значение есть мера удаленности, и ее малое значение соответствует большему доверию. Вторая ситуация возникает при использовании матрицы потерь (которая может быть добавлена в вероятностную сеть на этапе ее построения или вручную - к сетям других типов). Если используется матрица потерь, то выходы сети означают ожидаемые потери от выбора того или иного класса, и цель заключается в том, чтобы выбрать класс с наименьшими потерями. Упорядоченность можно обратить, объявив выходной сигнал не уровнем доверия, а мерой ошибки. В таком случае порог принятия будет ниже порога отвержения.

Таблица статистик классификации

Рисунок 4. Окно результатов - вкладка Описательные статистики

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

Рисунок 5. Матрица ошибок классификации

Рисунок 6. Матрица результатов классификации

 





(c) Copyright StatSoft, Inc., 1984-2003
STATISTICA является торговой маркой StatSoft, Inc.