- •4.2. Формализация задачи
- •4.2.1. Формальное описание входного вектора
- •4.2.1.1. Шкалы представления исходных данных в нс
- •4.2.1.2. Приведение данных к требуемому диапазону значений
- •4.2.1.3. Параметры формализации входного вектора
- •4.2.2. Формальное описание целевого вектора
- •1 2 3 … М
- •4.2.3. Формальное описание обучающей выборки
- •5. Порядок выполнения работы
- •6. Содержание отчета
4.2.1.1. Шкалы представления исходных данных в нс
Нейронные сети могут работать только с числовыми данными, лежащими в определенном ограниченном диапазоне. Это создает проблемы в случаях, когда: 1) данные имеют нестандартный масштаб; 2) в них имеются пропущенные значения; 3) данные являются нечисловыми.
Вот некоторые рекомендации по преобразованию входной информации.
Числовые данные необходимо масштабировать в подходящий для сети диапазон.
Пропущенные значения заменяют на среднее значение (или на другую статистику) этой переменной по всем имеющимся обучающим примерам. В функции некоторых программ-эмуляторов нейронных сетей входит выполнение этих действий.
Нечисловые данные нужно преобразовать в числовую форму.
Значения дат и времени, если они нужны, можно преобразовать в числовые.
С произвольными текстовыми полями (например, фамилиями людей) работать нельзя.
Данные, подаваемые на вход нейронной сети, могут быть измерены в различных шкалах. Шкала задает множество объектов с их свойствами и способ преобразования этих объектов (способ отображения «эмпирической системы» на некоторую знаковую систему). В нейронных сетях чаще всего используются следующие шкалы.
Шкала отношений. Для данной шкалы допустимым преобразованием данных является умножение их на одно и то же число (масштабирование, например (х)=ах, а>0). Примером шкалы отношений является шкала для измерения длины, веса, производительности.
Шкала интервалов допускает положительные линейные преобразования ( является положительным линейным преобразованием тогда, когда для каждого х (х)=ах+b, где b - действительное число, а – положительное действительное число). Это означает, что здесь можно менять как начало отсчета, так и единицы измерения. Примеры шкалы интервалов: шкала для измерения температуры, давления, промежутков времени и т.п.
Шкала порядка – это шкала, допустимым преобразованием которой является произвольное монотонное преобразование, т.е. такое, при котором не изменяется порядок чисел. Количество разных используемых значений чисел в общем случае не ограничено. При измерениях в шкалах такого типа получаем информацию лишь о том, в каком порядке объекты следуют друг за другом по какому-то свойству. Примером может служить шкала, по которой измеряется твердость материала, схожесть объектов, типы алгоритмов решения конкретной задачи и т.д.
Частным случаем шкал порядка служат бальные шкалы, используемые, например, в практике спортивного судейства или оценок знаний в школе. Количество баллов, используемых в этих шкалах, фиксировано.
Шкала наименования – это шкала, с помощью которой могут быть закодированы символьные данные. Здесь требуется, чтобы допустимые преобразования были всего лишь взаимно однозначными. В этих шкалах числа употребляются только с целью придания предметам или объектам имен. Кроме сравнения на совпадения, любые арифметические действия над цифрами, обозначающими имена, бессмысленны.
Переменные, представляемые в шкале наименований, называются номинальными. Номинальные переменные могут быть двузначными или многозначными, т.е. принимать более двух значений или состояний. Двузначную номинальную переменную легко преобразовать в числовую (например, Муж=0, Жен=1). Многозначные номинальные переменные тоже можно представить одним числовым значением (например, Собака=0, Овца=1, Кошка=2). Однако при этом возникнет (возможно) ложное упорядочивание значений номинальной переменной. В приведенном примере Овца окажется чем-то средним между Собакой и Кошкой.
Существует более точный способ кодирования номинальных переменных в шкале наименования, известный как кодирование 1-из-N, в котором одна номинальная переменная представляется несколькими числовыми переменными. Количество числовых переменных равно числу возможных значений номинальной переменной. При этом всякий раз ровно одна из N переменных принимает ненулевое значение (например, Собака={1,0,0}, Овца={0,1,0}, Кошка={0,0,1}).
Нейронные сети не дают хороших результатов при работе с номинальными переменными, которые могут принимать много разных значений. Пусть, например, требуется построить нейронную сеть для оценки стоимости объектов недвижимости. Цена дома очень сильно зависит от того, в каком районе города он расположен. Город может быть разделен на несколько десятков районов, имеющих собственные названия. Кажется естественным ввести для обозначения района переменную с номинальными значениями. К сожалению, в этом случае обучить нейронную сеть будет очень трудно. Вместо этого лучше присвоить каждому району определенный рейтинг (основываясь на экспертных оценках).
Рассмотренные выше шкалы не исчерпывают все возможные типы шкал. В зависимости от конкретной задачи можно использовать любую из известных шкал или придумать новую для представления данных.
При кодировании исследуемых объектов необходимо учитывать тип переменных, которые описывают этот объект: дискретные, непрерывные или качественные, количественные.
Качественные переменные принимают конечное число значений. Примером качественных признаков может служить состояние больного, знание студентов, характеристика погоды и т.п. Если качественная переменная принимает два значения, ее называют бинарной. Качественные признаки могут быть упорядоченными, частично упорядоченными или неупорядоченными. Соответственно различается и их кодировка. Упорядоченные качественные признаки кодируются в шкале порядка. Для кодирования неупорядоченных качественных признаков целесообразно использовать шкалу наименований и рассматривать переменные, соответствующие этим признакам, как номинальные.
При кодировании количественных переменных, принимающих числовые значения, необходимо учитывать содержательное значение признака, расположение признака в интервале значений, точность измерения его значений.
Если
НС строится для решения задачи
распознавания изображений, входной
образ требуется развернуть в вектор.
Пусть образ представлен в виде точечных
изображений (рис.1). Темной клетке-пикселю
на изображении соответствует Iij=1
(для черно-белых изображений), светлому
– Iij=0.
Задача состоит в том, чтобы определить
по изображению букву, которая была
предъявлена.
Яркости пикселов будут компонентами входного вектора размерности mimj. Для подачи на НС образы необходимо свернуть в вектор. Методы сворачивания образа в вектор могут быть различными – по строкам, по столбцам, по спирали и т.п. Они задаются разработчиком ОВ и должны быть одинаковыми для всех образов выборки.
