Читайте также:
|
|
Задачи классификации в пакете ST Neural Networks подразделяются на две категории: задачи с двумя классами, где используется один выходной элемент, и задачи со многими классами, где сеть содержит три или более выходных элементов.
Задачи с двумя классами. В задаче с двумя классами целевое выходное значение равно либо 1 (что означает принадлежность одному из классов), либо 0 (принадлежность другому классу).
Задачи со многими классами. В задаче со многими классами целевое выходное значение у элемента, соответствующего правильному классу, равно 1 a y остальных элементов равно 0.
Полезно представлять себе выходные значения как вероятности.
1. В задаче с двумя классами единственное выходное значение можно считать оценкой, которую сеть дает для вероятности того, что данное наблюдение принадлежит «положительному» классу (1).
2. В задаче со многими классами выходные значения можно считать оценкой вероятности принадлежности отдельным классам, при условии, что их сумма по всем классам пронормирована на единицу.
В пакете ST Neural Networks имеются средства поддержки обоих вариантов интерпретации.
Сети для задач с двумя классами. Сеть для двух классов реализуется стандартной логистической функцией активации в выходном элементе, поскольку выходное значение всегда лежит в интервале (0;1).
Однако характеристики такой сети иногда удается улучшить, выбрав для параметра Функция ошибок - Error function значение Энтропия (простая) - Entropy (single). Стандартная среднеквадратичная функция ошибок (Sum-Squared) теоретически больше подходит для задач регрессии.
Сети для задач со многими классами. Выходные значения сети в задаче со многими классами можно интерпретировать как вероятности, если их пронормировать на единичную сумму. Чтобы сделать это в пакете ST Neural Networks выберите для выходного слоя функцию активации Софтмакс - Softmax (с помощью Редактора сети - Network Editor), а для параметра Функция ошибок - Error function - тип Энтропия (множественная) - Entropy (multiple).
В функции софтмакс используется взвешенная и нормированная на единицу сумма экспонент, и эта функция по свойствам близка к логистической. Можно показать, что если входные данные представляют собой выборку из какого-то экспоненциального распределения (самым известным примером экспоненциального распределения является нормальное), т выходы софтмакс-элементов можно трактовать как вероятности.
Вероятности принадлежности наблюдения разным классам (а не только сами классы, которые им назначила программа 57" Neural Networks) можно посмотреть, изменив в окнах Прогнать одно наблюдение - Run Single Case. Прогнать набор данных - Run Data Set и Прогнать отдельное наблюдение - Run One-off Case значение Показывать при выводе - Outputs Shown на Активации - Activations.
Добавление матрицы потерь. Если сеть обучена с таким расчетом, чтобы выходные значения были оценками вероятностей, программу ST Neural "Networks можно настроить так, чтобы учитывать матрицу потерь (Bishop, 1995).
В самом простом варианте оценки вероятности используются непосредственно - наблюдение относится к наиболее вероятному классу. Разумеется, при этом сеть иногда может ошибаться (и будет ошибаться, если в данных содержатся помехи).
Однако бывает так, что одни ошибки обходятся дороже других. Например, при диагностике серьезного заболевания назначение лечения человеку, который на самом деле здоров, можно считать менее серьезной ошибкой, чем отсутствие лечения для действительно больного.
Матрица потерь представляет собой квадратную матрицу, коэффициентами которой являются относительные цены различных ошибок классификации. Она умножается на вектор оцененных вероятностей, в результате получается вектор оценок потерь, и каждое наблюдение приписывается тому классу, у которого будет наименьшая оценка для цены ошибки.
Поскольку правильная классификация не несет никаких потерь, на главной диагонали матрицы потерь всегда стоят нули; что касается остальных коэффициентов матрицы, то коэффициент, стоящий на пересечении n-го столбца и m-й строки есть цена неправильной классификации наблюдения, принадлежащего на самом деле к классу номер n, как принадлежащего к классу номер m.
В пакете ST Neural Networks матрицу потерь можно построить с помощью линейной сети, имеющей такое же число элементов во входном и выходном слоях, как у исходной сети в выходном слое. Сеть для матрицы потерь должна иметь числовые входные переменные и одну номинальную выходную переменную, соответствующую выходу сети, к которой добавляется матрица потерь.
Таким образом, самой простой способ построить матрицу потерь такой: проигнорировать все входные переменные исходного набора данных, а выходную переменную сделать типа Входная/выходная - Input/Output; выбрать тип сети Линейная - Linear (а если он уже выбран, нажать кнопку Совет - Advise). Возникнет сеть с одной входной и одной выходной переменной, причем обе будут номинальными. Теперь нужно добавить N новых входных переменных, где N - число возможных номинальных значений, и после этого удалить существующую входную переменную: в результате будет построена сеть матрицы потерь с нужным числом входов и правильным пост-процессирующим слоем. Затем с помощью Редактора сети - Network Editor нужно установить нулевые значения порогов (Thresholds) выходного слоя и поместить коэффициенты матрицы потерь на место всех других весов.
После того, как матрица потерь построена, ее можно добавить к обученной сети, оценивающей вероятности, и в результате получится составная сеть, оценивающая потери. При этом необходимо также задать для параметра Тип результата классификации - Classification Output Type значение Ошибка - Error.
Матрицу потерь можно включать в байесовы вероятностные сети пакета ST Neural Networks при их создании.
Предостережение. После того, как матрица потерь построена, нельзя дальше обучать составную сеть, так как при этом будут испорчены коэффициенты потерь.
Дата добавления: 2015-11-30; просмотров: 30 | Нарушение авторских прав