NeuroPro

нейронные сети
и анализ данных

Начало
Новости
Услуги
Нейронные сети
Программы
Статьи
Заметки
Ссылки
Вопросы и ответы
Об авторе / контакты
Заметки

Мифы нашего городка. Об одном "методе" коррекции классификационной модели

Поскольку люди продолжают читать книгу [1], обсудим "технологию", приведенную на первых страницах книги. Так как начало книги написано оптимистическим языком лозунгов, то читатели, следуя за эмоциями авторов, не акцентируют внимания на вещах, к которым стоит отнестись критически.

На страницах 15-16 читаем:

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

Итак, пусть А и B=b1Ub2 - соответственно класс "здоровых" и класс "больных", и последний является объединением двух непересекающихся множеств "оставшихся" и "исключенных" больных. Если классы А, b1 и b2 отделяются друг от друга при обучении нейросети откорректированной классификационной модели (при классификации на три класса), то это значит, что точки множеств А и b2 (здоровых и исключенных больных) имеют разные координаты в пространстве независимых признаков, и, соответственно, наличествует разделимость исходных множеств А и B (разделимость множеств А и b1 была показана нейронной сетью после исключения примеров b2). Соответственно, если нейросеть не может обучиться разделять исходные классы А и B, то надо либо структуру нейронной сети менять, либо нейросетевую программу с алгоритмами - что и можно посоветовать авторам книги.

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

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

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

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

Литература
1. Горбань А.Н., Россиев Д.А. Нейронные сети на персональном компьютере. Новосибирск: Наука, 1996. - 276с.