Боровиков В.П. - Нейронные сети (778916), страница 39
Текст из файла (страница 39)
Матрица потерь представляет собой квадратную матрицу, коэффициентами которой являются относительные цены различных ошибок классификации. Она умножается на вектор оцененных вероятностей, в результате получается вектор оценок потерь, и каждое наблюдение приписывается тому классу, у которого будет наименьшая оценка для цены ошибки. Поскольку правильная классификация не несет никаких потерь, на главной диагонали матрицы потерь всегда стоят нули; что касается остальных ко- 188 непрочные сепа.
ВТАТщТщА йета! ЙеЬптав эффициентов матрицы„то коэффициент, стоящий на пересечении и-го столбца и т-й строки, есть цена неправильной классификации наблюдения, принадлежащего на самом деле к классу номер п, как принадлежащего к классу номер и. В пакете ЯТ №ига! Фелюг!се матрицу потерь можно построить с помощью линейной сети, имеющей такое жс число элементов во входном и выходном слоях, как у исходной сети в выходном слое. Сеть для матрицы потерь должна иметь числовые входные переменные и одну номинальную выходную переменную, соответствующую выходу сети, к которой добавляется матрица потерь. Таким образом, самой простой способ построить матрицу потерь такой: проигнорировать все входные переменные исходного набора данных, а выходную переменную сделать типа Входная/выходная — 1приг10игриг; выбрать тип сети Линейная — Едпеая Возникнет сеть с одной входной и одной выходной переменной, причем обе будут номинальными.
Теперь нужно добавить Ж новых входных переменных, где Ф вЂ” число возможных номинальных значений, и после этого удалить существующую входную переменную. В результате будет построена сеть матрицы потерь с нужным числом входов и правильным постпроцессирующим слоем.
Затем с помощью Правки сети— Ме!вог1с Ей!оп нужно установить нулевые значения порогов (Хйгевйо1с!е) выходного слоя и поместить коэффициенты матрицы потерь на место всех других весов. После того, как матрица потерь построена, ее можно добавить к обученной сети, оценивающей вероятности, и в результате получится составная сеть, оценивающая потери. Матрицу потерь можно включать в байесовы вероятностные сети пакета БТ Иеига! №гяог!св при их создании.
Предостережение. После того, кик митриии потерь построена, нельэ» дальше обучить составнуэо сеть, тик кик при этом будут испорчены коэффиииенты потерь. Сети для задач реерессии В задачах регрессии цель состоит в прогнозировании значения непрерывной выходной переменной. Многослойный персептрон в своем исходном виде может для этого не подойти, поскольку стандартная логистическая функция активации принимает значения в интервале (О; 1), а выходные значения задачи могут лежать совсем в другом диапазоне.
Масштабирование выходных значений Программа БТ Иеига! Ме!и огкэ автоматически устраняет это несоответствие путем масштабирования (шкалирования) выходных значений. По умол- 188 Гпввв Х Првкпъческие совееы по реаеною задач чанию в многослойном персептроне используется шкалирование методом Минимакс — Миитах как для входных, так и для выходных переменных.
После того, как сеть обучена, программа ЮТ №ига! №1и~ог!ся определяет для каждой переменной коэффициенты масштаба и смешения по минимальному и максимальному значениям на обучающем множестве и преобразует данные, умножая их на коэффициент масштаба и прибавляя смещение. В результате нулевой уровень активации соответствует минимальному значению, встретившемуся в обучаюших данных, а единичный уровень активации — максимальному значению.
Тем самым сеть может интерполировать значения в диапазоне изменения обучающих данных, но не может экстраполировать вне этой области даже тогда, когда данные сами напрашиваются на это. Придать сети способность к экстраполяции можно несколькими способами. 1. Уменьшить диапазон параметров Мин/среди. — М!л/Меал и Макс/ ст.откл. — Мах/Бй для шкалирования методом Мвпимакс — М!ттах по сравнению с областью значений активации (например, до 10,2; 0,81 для стандартной логистической функции активации).
Таким образом, появится небольшая возможность экстраполяции (сильная экстраполяция данных, как правило, не бывает оправдана). 2. Использовать линейную функцию активации в последнем слое сети. Это делает возможной большую степень экстраполяции, хотя, в конце концов, выходной сигнал будет все равно насыщен из-за насьпцения логистических элементов в предыдущих слоях сети. Достоинством данного способа является возможность «тонкой настройки» последнего слоя с помощью итеративного обучения методом псевдообратных (Рзеис(о-1и иеюе). Выбросы Регрессионные сети особенно чувствительны к проблеме выбросов. При использовании среднеквадратичной функции ошибок (Бит-Яциагеп! Еп-ог Япс!!оп) точки, далеко отстоящие от основной массы, оказывают непропорционально большое влияние на положение гиперплоскостей регрессии.
В случае, когда такие точки на самом деле являются аномалиями (например, ложные точки, порожденные сбоями в измерительной аппаратуре), они могут сильно ухудшить качество результата, Вот один из возможных способов решения этой проблемы: обучить сеть, затем протестировать ее на обучающих наблюдениях, найти и отбросить те из них, которые дают очень большую ошибку, а затем вновь обучить сеть. На последнем этапе наблюдения с выбросами нужно пометить как игнорируемые. Если вы считаете, что наблюдение-выброс объясняется сомнительным значением только какой-то одной переменной, то можно удалить именно это значение, в результате чего программа будет трактовать это наблюдение как имеющее пропущенное значение (см.
следующий раздел). 187 Неоронные сеюо. ВТАТщТЮА Неоге! Кеа«огке Другой подход основан на использовании функции ошибок «городскнх кварталов» (Егтог ~ипс1вп С1г)г-В!ос1г). Вместо того, чтобы при подсчете ошибки суммировать квадраты разностей по каждой переменной, здесь суммируются просто модули разностей. Без возведения в квадрат обучение становится гораздо менее чувствительным к выбросам. В то время как при использовании среднеквадратичной функции ошибок «влияние», которое отдельное наблюдение оказывает на положение гиперплоскости, пропорционально расстоянию от него до гнперплоскости, в случае функции ошибок «городских кварталов» это усилие одинаково для всех точек, и только лишь его направление зависит от того, по какую сторону от гиперплоскости расположена точка.
На самом деле среднеквадратичная функция ошибок стремится найти среднее значение, а функция ошибок «городских квартало⻠— медиану. Пропущенные значения Нередко в имеющейся в нашем распоряжении выборке отсутствуют данные для отдельных наблюдений. Тем не менее, при проведении анализа этого набора данных с помощью нейронной сети (чтобы выжать все возможное нз имеющейся информации) может возникнуть необходимость в использовании этих неполных наблюдений для обучения ввиду острой нехватки обучающих данных. В пакете БТ Хеита1 Хегног1гз имеются специальные средства обработки пропущенных значений.
Значение для подстановки берется из обучающего множества н может являться, например, средним всех значений этой переменной, присутствующих в обучающем множестве. Способ подстановки пропущенных значений может быть выбран на вкладке Выбора наблюдений, а сами подстановочвые значения вычисляются во время обучения сети. ВРЕМЕННЫЕ РЯСНЫ Многие очень важные задачи формулируются в терминах анализа временных рядов. Цель здссь состоит в том, чтобы спрогнозировать значение некоторой (как правило, числовой) переменной, зная предыдущие значения этой и/или других переменных (В1зпор, 1995).
В пакете ВТФ«ггга1 Уегнюгlи сеть любой архитектуры можно обучить для анализа временного ряда. Для того чтобы сделать прогноз временного ряда, нужно всего лишь сообшить программе ВТ Феига1 Фегнгог1гз, как она должна формировать из данных наблюдений, относящихся к разным моментам времени, наборы для обучения нли исполнения. Для этого при построении сети нужно сделать следующее. 188 Гпава 7. Пракпаческпе советы пс решению запач 1. Если переменная будет использоваться и как входная (через ее прошлые значения), и как выходная (будущие значения), задайте ей тип Входнаяl выходная — 1нри1IОигри1 в окне задания анализа.
В большинстве задач анализа временных рядов имеется всего одна переменная. Программа БТ №ига1 Фегиогкх позволяет работать с несколькими переменными — как входными, так и выходными. 2. На вкладке Временные ряды установите флажок у опции Интерпретировать данные как временной ряд. Установите параметр Временное окно, чтобы сообщить программе, сколько последних значений переменной следует брать на входе. Параметр Временное окно — Вверх варьируется в зависимости от смысла задачи, и все используемые переменные имеют тип Входнаяlвыходная— 1пригlОигрил В случае, когда прогнозируется единственная входная или выходная переменная с параметром длины проекции ряда равным 1, программа ЮТ Феига1 Фе1воМх может подавать результаты прогноза снова на вход сети, создавая таким образом проекцию временного ряда на сколь угодно далекое время вперед.















