MATLAB è Simulink íà ðóññêîì

https://hub.exponenta.ru/

Математика\Neural Network Toolbox

Книга  Kevin Swingler  "Applying Neural Networks. A practical Guide" (перевод Ю.П.Маслобоева)

  В оглавление книги \ К следующему разделу

2. Кодирование и пребразование данных

2.1. Введение

Нейронные сети способны обрабатывать данные, полученные из самых разных источников. Однако, данные должны быть представлены в определенном формате. Более того, вид представления данных оказывает существенное влияние на ход обучения сети. Следовательно, очень важно выбрать метод подготовки данных (кодирования) перед предъявлением их сети. Разработка схемы кодирования данных выполняется перед сбором данных, так как важно знать, что Вы собираетесь делать с данными еще до того, как они будут получены.

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

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

2.1.1. Два принципа представления данных в нейронных сетях

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

2.1.2. Подготовка данных

При подготовке набора сырых входных данных для тренировки нейронной сети нужно выполнить следующие шаги:

  1. Классификация данных по типу. Каждый вход или выход нейронной сети может изменяться либо непрерывным образом, либо представлять набор дискретных значений. Тип каждой переменной необходимо идентифицировать, так как каждый тип требует своего подхода при кодировании.
  2. Вычисление глобальной статистики. Для некоторых методов подготовки данных необходимо знать статистические свойства каждой переменной, используемой для тренировки. Для непрерывных данных должны быть вычислены среднее значение, стандартное отклонение, максимум и минимум. Для дискретных данных необходимо определить количество различающихся случаев (значений, которые может принимать каждая из переменных или категорий, из которых они выбираются).
  3. Удаление выбросов. Девяносто пять процентов данных, распределенных по нормальному закону, находятся внутри интервала ограниченного удвоенным значением стандартного отклонения в окрестности среднего значения. Исключение из рассмотрения данных, находящихся вне указанного интервала является простейшим способом удаления выбросов. Удаление выбросов способствует более успешному обучению сети. Если же эти значения являются принципиальными для исследуемой задачи, тогда данные должны быть кодированы и собраны таким образом, чтобы правильно отобразить их важность.
  4. Количество тренировочных данных. Существует множество факторов, влияющих на количество данных, необходимых для тренировки сети. Один из главных факторов - размерность данных. Чем больше переменных, тем больше данных требуется для тренировки сети. Эта проблема может быть решена либо увеличением набора данных, либо уменьшением их размерности.
  5. Построение выборки из набора данных. Для очень больших наборов данных не всегда можно выполнить комплексный анализ на полном наборе. В таких случаях допустимо построить случайную выборку из данных, на основании которой и сделать заключения о методе предварительной обработки данных. Выборка должна быть случайной, должна включать данные со значениями из всего диапазона изменения и включать достаточно данных, чтобы быть репрезентативной. После построения выборки необходимо сравнить среднее значение и диапазон изменения с аналогичными параметрами полного набора, чтобы убедиться в том, что выборка выполнена правильно. Следующие процедуры могут быть выполнены на выборке, а не на полном наборе данных. Тем не менее сеть необходимо тренировать на полном наборе данных.
  6. Проверка качества. Для построения хорошо сбалансированной модели важно, чтобы распределение тренировочных данных было гладким. Желательно также выполнить статистические тесты, чтобы убедиться в том, что данные содержат информацию, достаточную для решения поставленной задачи.
  7. Понижение размерности. Нейронная сеть с большим количеством входных элементов содержит большое количество весовых коэффициентов (весов). Сеть с большим количеством весов требует (иногда экспоненциально) большого количества тренировочных данных. Аналогично, теория дискретизации утверждает, что имеет место экспоненциальная зависимость между размерностью данных и количеством точек дискретизации для корректного описания данных. Уменьшение количества входов сети позволяет использовать меньше данных, обеспечивая приемлемый уровень сложности сети.
  8. Шкалирование данных. Выходные данные должны быть шкалированы (преобразованы) к диапазону, который соответствует диапазону выходных значений сжимающей функции активации выходного слоя. Сигмоидальная функция, например, имеет диапазон выходных значений от 0 до 1. Часто бывает удобным привести входные данные к тому же диапазону. Шкалирование может быть линейным или нелинейным, в зависимости от распределения данных. Наиболее часто используемые методы шкалирования - линейное, логарифмическое и "мягкое" (softmax). Можно также разделить данные на несколько диапазонов с различными факторами шкалирования.
  9. Кодирование данных. Если данные были преобразованы, может возникнуть необходимость кодировать их перед предъявлением сети. Шкалированные численные данные могут быть использованы непосредственно, либо после дополнительного преобразования. Категорийные данные всегда необходимо кодировать.

2.2. Классификация данных по типу

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

2.2.1. Кодирование целых чисел

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

В качестве примера рассмотрим переменную, описывающую количество детей. Она может принимать только целые значения - 0,1,2,3: и кажется непрерывной. Однако, диапазон значений очень узкий и дробные значения бессмысленны. Используя схему расширенного кодирования, которая характеризуется значениями активации 0 и 1, можно преобразовать одну численную переменную в набор категориальных переменных. Очевидно, что диапазон изменения должен быть заранее известен, так как мы будем использовать одну единицу на значение, но такое представление переменной обладает рядом преимуществ.

Во-первых, очевидной становится дискретная природа разностей между числами. Изменение величины числа теперь вносит изменения более чем в одно измерение в модели, что облегчает задачу разделения входного пространства. Во вторых, если переменная является выходной переменной, сеть выдает величины, соответствующие вероятности того, что ответом является каждая из заданных возможностей. Это показывает нам, в какой степени мы можем доверять выходам сети. Наконец, исключена вероятность получения бессмысленных ответов типа - число детей = 0,3.

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

2.3. Исходные статистические вычисления

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

2.3.1. Удаление выбросов

Величины, которые слишком далеки от среднего значения переменной, могут оказать влияние на сеть, которое не адекватно ошибке, которую они вызывают. Этот эффект проявляется сильней, если выбросы обусловлены шумом. По этой причине желательно удалять такие выбросы до начала тренировки. Среднее значение и величина стандартного отклонения могут быть использованы для выявления и удаления выбросов из тренировочного набора данных. Выбросы - это величины, которые слишком далеки от среднего значения и которые могут приводить к непропоционально большому эффекту в процессе тренировки. Выбросы - это значения, которые лежат далее, чем за заданное число стандартных отклонений от среднего. Два стандартных отклонения охватывают 95% нормально распределённых данных, а три стандартных отклонения охватывают 99%. В качестве критерия выброса часто используется критерий 2,5.

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

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

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

2.4. Понижение размерности

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

2.4.1. Удаление наименее полезных переменных

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

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

Независимость разных входных переменных может быть оценена посредством вычисления ковариантностей между каждой из пар переменных. Ковариантность пары переменных x и y вычисляется по формуле

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

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

Выбор категорий выходных эталонов

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

Выбор входных переменных на основе анализа энтропии.

Battiti [12] показал, как можно использовать теорию информации для выбора набора входных значений нейронной сети. Вычисляя взаимную информацию между каждой входной переменной и набором эталонных выходов тренировочного набора данных, он указал на возможность выбора единственной особенности с наибольшей предсказательной способностью для выходов. Следующие особенности могут быть отобраны по двум критериям. Новая особенность может предсказать кое что о выходах, но она не может предсказать ничего существенного об уже выбранных входных переменных. Другими словами, новая переменная должна содержать часть взаимной информации с выходами, которые должны быть созданы сетью, но меньшую часть взаимной информации с переменными, уже выбранными в качестве входов сети. Используя предложенный метод можно выбрать набор независимых переменных, которые хорошо предсказывают выходные данные. Метод не оптимальный, но позволяет добиться хороших результатов за короткое время. Выполнение строгих вычислений, необходимых для выбора оптимального набора переменных неосуществимо с точки зрения возможностей компьютеров. Применение информационной теории для оптимизации данных будет описано далее (раздел 5.3.2).

2.4.2. Проектирование в пространство с меньшей размерностью

Главные компоненты

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

Полноценное понижение размерности с помощью метода главных компонент возможно при использовании ковариационной матрицы и при этом получаем набор векторов, называемых собственными векторами, которые могут быть использованы в качестве новой системы координат, на которую будут спроектированы исходные данные. Собственные векторы служат осями новой системы координат. Каждый собственный вектор характеризуется длиной, которая называется собственным значением. Процентное отношение суммы всех собственных значений, которое является вкладом отдельной величины показывает нам процентное отношение вариации данных, которые вычислены для соответствующего вектора. Хороший алгоритм использования главных компонент описан в книге Numerical Recipes [77].

Morris [67] обратил внимание на то, что этот метод имеет недостаток, обусловленный тем, что это линейный метод. Так что при попытке использовать его при анализе нелинейной системы можно получить неправильные результаты. Эта проблема имеет место в тех случаях, когда имеем дело с нелинейностями во входных данных. В случае, когда входные данные линейны, но их связь с выходами является нелинейной, проблемы не существует.

Авто-ассоциативные сети

Авто-ассоциативная сеть является решением проблемы, поднятой Morris [67], и представляет собой лёгкий в использовании нелинейный метод. Этот метод включает построение многослойного перцептрона, в котором в качестве эталонных выходов используются входы. Такая сеть с одним скрытым слоем, число элементов в котором меньше чем количество входов, может быть использована для выделения (экстракции) особенностей во входных данных. Значения весовых коэффициентов скрытого слоя можно использовать как входы для основной сети. Эта процедура отличается от простого добавления дополнительного слоя в сеть, который бы действовал как экстрактор особенностей, тем, что тренировать отдельную авто-ассоциативную сеть легче. При этом количество весов основной сети снижается за счет уменьшения размерности входных данных.

Недостатки проектирования данных

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

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

2.5. Шкалирование данных

Мы уже отметили то обстоятельство, что эталонные значения выходов сети с сигмоидальной функцией должны лежать в диапазоне от нуля до единицы. Причиной этого является то, что выход сигмоидальной функции лежит в указанном диапазоне. Выходы различные функций активации лежат в различных диапазонах. Например, выходные значения функции гиперболического тангенса лежат в диапазоне от -1 до 1. Выходные значения линейной функции не ограничены.

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

Другая причина для выполнения шкалирования данных, или приведения к фиксированному диапазону, состоит в том, что может иметь места ситуация, когда, например, одна переменная изменяется в диапазоне от 10000 до 100000, а другая в диапазоне от 0,3 до 0,6. Очевидно, что ошибки, обусловленные влиянием первой переменной будут сильнее влиять на тренировку, чем ошибки, обусловленные второй, изменяющейся в узких пределах. Обеспечив, чтобы каждая из переменных изменялась в пределах одного диапазона, мы обеспечим равное влияние каждой из переменных на изменение весов в процессе тренировки.

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

2.5.1. Линейное шкалирование

Простейший метод сжатия данных в заданную область изменения состоит в выделении максимальных значений и делении. Если в качестве требуемого диапазона выбран диапазон от нуля до единицы, тогда каждую величину V поделим на диапазон ее изменения, чтобы получить новую величину S. Эта процедура обладает тем преимуществом, что сохраняет соотношения между величинами. Линейное шкалирование работает хорошо в тех случаях, когда данные распределены равномерно по диапазону изменения. Применение линейного шкалирования к данным, которые распределены неравномерно, или содержат выбросы, приводит к тому, что данные оказываются распределенными в очень узком диапазоне.

Если набор данных с максимальным значением , минимальным значением , средним значением и стандартным отклонением удовлетворяет следующим условиям:

и ,

то может быть использовано линейное шкалирование.

Параметр определяет количество стандартных отклонений от среднего, при превышении которых величина считается выбросом и исключается из рассмотрения. Если выбросов нет, то линейное шкалирование может быть успешно применено. Линейное шкалирование величины в переменную s, распределенную в диапазоне от 0 до 1 можно осуществить с помощью формулы:

Обратное преобразование из s в может быть вычислено в соответствии с формулой:

Переменная может быть нормализована к нулевому среднему значению и единичному стандартному отклонению с помощью следующей формулы:

2.5.2. Мягкое (Softmax) шкалирование

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

Если - среднее значение величины, подлежащей шкалированию, - стандартное отклонение, - количество стандартных отклонений от среднего, при котором данные должны попасть на линейный участок сжимающей функции, а - величина, подлежащая шкалированию, "softmax" функция s может быть представлена в следующем виде:


Выбор величины зависит от важности данных, распределенных вдали от среднего. Для нормального распределения =2, при этом 95% данных попадают на линейный участок функции. При =3  99% данных попадают на линейный участок функции.

Обратное преобразование к исходной величине:

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

Величины, которые далеки от среднего значения, сжимаются сильнее в экспоненциальной зависимости от отклонения от среднего. Функция "softmax" переводит все величины, которые выходят за пределы заданной области, к значениям, близким к нулю или к единице. Если исходные данные распределены равномерно, то все значения будут находиться в пределах трех стандартных отклонений от среднего. Таким образом функция "softmax" может сжать полный диапазон изменения данных в диапазон линейного изменения линейной части сжимающей функции. Поэтому нет необходимости выбирать между линейной и "softmax" функциями, так как функция "softmax" и линейная эквивалентны в случае использования с равномерно распределенными данными.

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

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

Специальные методы шкалирования.

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

Для логарифмически шкалированной величины обратное преобразование может быть выполнено следующим образом:

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

Влияние нелинейного шкалирования на точность модели

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

Шкалирование к более узкому диапазону

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

2.5.3. Обратное шкалирование

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

  В оглавление книги \ К следующему разделу


Поиск по сайту:


Система Orphus