Геометрическое моделирование и конструкторские базы данных
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рисунок 3). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько… Читать ещё >
Геометрическое моделирование и конструкторские базы данных (реферат, курсовая, диплом, контрольная)
Министерство образования и науки РФ ФГБОУ ВПО «Саратовский государственный технический университет имени Гагарина Ю.А.»
Реферат по дисциплине «Геометрическое моделирование и конструкторские базы данных»
на тему «Графика в нейронных сетях»
Выполнил:
студент ПВСз-61
Пивоваров Р.С.
Проверил:
к.т.н., доцент Мантурова И.А.
Саратов 2015
Содержание Введение
1. Понятие о нейронных сетях
2. Параллели из биологии
3. Базовая искусственная модель
4. Свойства нейронных сетей
5. Применение нейронных сетей
6. Классификация нейронных сетей
7. Структура и принципы работы нейронной сети
8. Сбор данных для нейронной сети Заключение Список используемой литературы Введение В последние несколько лет мы наблюдаем взрыв интереса к нейронным сетям, которые успешно применяются в самых различных областях — бизнесе, медицине, технике, геологии, физике. Нейронные сети вошли в практику везде, где нужно решать задачи прогнозирования, классификации или управления. Такой впечатляющий успех определяется несколькими причинами:
· Богатые возможности. Нейронные сети — исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости. В частности, нейронные сети нелинейны по свой природе (смысл этого понятия подробно разъясняется далее в этой главе). На протяжение многих лет линейное моделирование было основным методом моделирования в большинстве областей, поскольку для него хорошо разработаны процедуры оптимизации. В задачах, где линейная аппроксимация неудовлетворительна (а таких достаточно много), линейные модели работают плохо. Кроме того, нейронные сети справляются с «проклятием размерности», которое не позволяет моделировать линейные зависимости в случае большого числа переменных
· Простота в использовании. Нейронные сети учатся на примерах. Пользователь нейронной сети подбирает представительные данные, а затем запускает алгоритм обучения, который автоматически воспринимает структуру данных. При этом от пользователя, конечно, требуется какой-то набор эвристических знаний о том, как следует отбирать и подготавливать данные, выбирать нужную архитектуру сети и интерпретировать результаты, однако уровень знаний, необходимый для успешного применения нейронных сетей, гораздо скромнее, чем, например, при использовании традиционных методов статистики.
Нейронные сети привлекательны с интуитивной точки зрения, ибо они основаны на примитивной биологической модели нервных систем. В будущем развитие таких нейро-биологических моделей может привести к созданию действительно мыслящих компьютеров. Между тем уже «простые» нейронные сети, которые строит система ST Neural Networks, являются мощным оружием в арсенале специалиста по прикладной статистике.
1. Понятие о нейронных сетях Нейронные сети — это одно из направлений исследований в области искусственного интеллекта, основанное на попытках воспроизвести нервную систему человека, а именно: способность нервной системы обучаться и исправлять ошибки, что должно позволить смоделировать, хотя и достаточно грубо, работу человеческого мозга.
Нейронная сеть состоит, как это ни странно, из нейронов.
Рис. 1 Структурная схема нейрона Структуру нейрона можно представить из следующих блоков:
1. Входные сигналы ;
2. Весовые коэффициенты ;
3. Сумматор и его выход ;
4. Функция активации нейрона ;
5. Выходной сигнал .
У нейронной сети много свойств, но самым главным является ее способность к обучению. Процесс обучения сети сводится к изменению весовых коэффициентов .
в данном случае и есть результат вычислений нейрона.
Результаты вычислений предаются на выход не напрямую, а через функцию активации, о которой мы поговорим позже. Одним словом, нейронную сеть можно представить в виде «черного ящика», на вход которого мы подаем сигналы, а на выходе получаем результат.
Рис. 2 Структурная схема многослойной нейронной сети, А так будет выглядеть многослойная нейронная сеть. Она включает в себя:
§ Входной слой — служит для распределения данных по сети и не производит никаких вычислений. Выходы этого слоя передают сигналы на входы следующего слоя (скрытого или выходного);
§ Выходной слой — обычно содержит один нейрон (может и больше), который выдает результат расчетов всей нейронной сети. На основании это сигнала строится дальнейшая логика управления советника;
§ Скрытые слои — слои обычных нейронов, которые передают сигналы от входа к выходу. Их входом служит выход предыдущего слоя, а выход — входом следующего слоя.
В данном примере была рассмотрена нейронная сеть с двумя скрытыми слоями, хотя возможны варианты и с большим количеством слоев.
2. Параллели из биологии Нейронные сети возникли из исследований в области искусственного интеллекта, а именно, из попыток воспроизвести способность биологических нервных систем обучаться и исправлять ошибки, моделируя низкоуровневую структуру мозга (Patterson, 1996). Основной областью исследований по искусственному интеллекту в 60-е — 80-е годы были экспертные системы. Такие системы основывались на высокоуровневом моделировании процесса мышления (в частности, на представлении, что процесс нашего мышления построен на манипуляциях с символами). Скоро стало ясно, что подобные системы, хотя и могут принести пользу в некоторых областях, не ухватывают некоторые ключевые аспекты человеческого интеллекта. Согласно одной из точек зрения, причина этого состоит в том, что они не в состоянии воспроизвести структуру мозга. Чтобы создать искусственных интеллект, необходимо построить систему с похожей архитектурой.
Мозг состоит из очень большого числа (приблизительно 10,000,000,000) нейронов, соединенных многочисленными связями (в среднем несколько тысяч связей на один нейрон, однако это число может сильно колебаться). Нейроны — это специальная клетки, способные распространять электрохимические сигналы. Нейрон имеет разветвленную структуру ввода информации (дендриты), ядро и разветвляющийся выход (аксон). Аксоны клетки соединяются с дендритами других клеток с помощью синапсов. При активации нейрон посылает электрохимический сигнал по своему аксону. Через синапсы этот сигнал достигает других нейронов, которые могут в свою очередь активироваться. Нейрон активируется тогда, когда суммарный уровень сигналов, пришедших в его ядро из дендритов, превысит определенный уровень (порог активации).
Интенсивность сигнала, получаемого нейроном (а следовательно и возможность его активации), сильно зависит от активности синапсов. Каждый синапс имеет протяженность, и специальные химические вещества передают сигнал вдоль него. Один из самых авторитетных исследователей нейросистем, Дональд Хебб, высказал постулат, что обучение заключается в первую очередь в изменениях «силы» синаптических связей. Например, в классическом опыте Павлова, каждый раз непосредственно перед кормлением собаки звонил колокольчик, и собака быстро научилась связывать звонок колокольчика с пищей. Синаптические связи между участками коры головного мозга, ответственными за слух, и слюнными железами усилились, и при возбуждении коры звуком колокольчика у собаки начиналось слюноотделение.
Таким образом, будучи построен из очень большого числа совсем простых элементов (каждый из которых берет взвешенную сумму входных сигналов и в случае, если суммарный вход превышает определенный уровень, передает дальше двоичный сигнал), мозг способен решать чрезвычайно сложные задачи. Разумеется, мы не затронули здесь многих сложных аспектов устройства мозга, однако интересно то, что искусственные нейронные сети способны достичь замечательных результатов, используя модель, которая ненамного сложнее, чем описанная выше.
3. Базовая искусственная модель Чтобы отразить суть биологических нейронных систем, определение искусственного нейрона дается следующим образом:
· Он получает входные сигналы (исходные данные либо выходные сигналы других нейронов нейронной сети) через несколько входных каналов. Каждый входной сигнал проходит через соединение, имеющее определенную интенсивность (или вес); этот вес соответствует синаптической активности биологического нейрона. С каждым нейроном связано определенное пороговое значение. Вычисляется взвешенная сумма входов, из нее вычитается пороговое значение и в результате получается величина активациинейрона (она также называется пост-синаптическим потенциалом нейрона — PSP).
· Сигнал активации преобразуется с помощью функции активации (или передаточной функции) и в результате получается выходной сигнал нейрона.
Если при этом использовать ступенчатую функцию активации (т.е., выход нейрона равен нулю, если вход отрицательный, и единице, если вход нулевой или положительный), то такой нейрон будет работать точно так же, как описанный выше естественный нейрон (вычесть пороговое значение из взвешенной суммы и сравнить результат с нулем — это то же самое, что сравнить взвешенную сумму с пороговым значением). В действительности, как мы скоро увидим, пороговые функции редко используются в искусственных нейронных сетях. Учтите, что веса могут быть отрицательными, — это значит, что синапс оказывает на нейрон не возбуждающее, а тормозящее воздействие (в мозге присутствуют тормозящие нейроны).
Это было описание отдельного нейрона. Теперь возникает вопрос: как соединять нейроны друг с другом? Если сеть предполагается для чего-то использовать, то у нее должны быть входы (принимающие значения интересующих нас переменных из внешнего мира) и выходы (прогнозы или управляющие сигналы). Входы и выходы соответствуют сенсорным и двигательным нервам — например, соответственно, идущим от глаз и в руки. Кроме этого, однако, в сети может быть еще много промежуточных (скрытых) нейронов, выполняющих внутренние функции. Входные, скрытые и выходные нейроны должны быть связаны между собой.
Ключевой вопрос здесь — обратная связь (Haykin, 1994). Простейшая сеть имеет структуру прямой передачи сигнала: Сигналы проходят от входов через скрытые элементы и в конце концов приходят на выходные элементы. Такая структура имеет устойчивое поведение. Если же сеть рекуррентная (т.е. содержит связи, ведущие назад от более дальних к более ближним нейронам), то она может быть неустойчива и иметь очень сложную динамику поведения. Рекуррентные сети представляют большой интерес для исследователей в области нейронных сетей, однако при решении практических задач, по крайней мере до сих пор, наиболее полезными оказались структуры прямой передачи, и именно такой тип нейронных сетей моделируется в пакете ST Neural Networks.
Типичный пример сети с прямой передачей сигнала показан на рисунке. Нейроны регулярным образом организованы в слои. Входной слой служит просто для ввода значений входных переменных. Каждый из скрытых и выходных нейронов соединен со всеми элементами предыдущего слоя. Можно было бы рассматривать сети, в которых нейроны связаны только с некоторыми из нейронов предыдущего слоя; однако, для большинства приложений сети с полной системой связей предпочтительнее, и именно такой тип сетей реализован в пакете ST Neural Networks.
Рис.3
При работе (использовании) сети во входные элементы подаются значения входных переменных, затем последовательно отрабатывают нейроны промежуточных и выходного слоев. Каждый из них вычисляет свое значение активации, беря взвешенную сумму выходов элементов предыдущего слоя и вычитая из нее пороговое значение. Затем значение активации преобразуются с помощью функции активации, и в результате получается выход нейрона. После того, как вся сеть отработает, выходные значения элементов выходного слоя принимаются за выход всей сети в целом.
4. Свойства нейронных сетей Несомненно, что технические средства, построенные на тех же принципах, что и биологические нейронные сети, обладают рядом схожих свойств. К таким свойствам относятся:
§ массовый параллелизм,
§ распределенное представление информации и вычисления,
§ способность к обучению и способность к обобщению,
§ адаптивность,
§ свойство контекстуальной обработки информации,
§ толерантность к ошибкам,
§ низкое энергопотребление.
Можно выделить основные идеи, лежащие в основе нейронных сетей и нейромоделирования:
§ Нейросеть воспроизводит структуру и свойства нервной системы живых организмов: нейронная сеть состоит из большого числа простых вычислительных элементов (нейронов) и обладает более сложным поведением по сравнению с возможностями каждого отдельного нейрона. Нейросеть получает на входе набор входных сигналов и выдает соответствующий им ответ (выходные сигналы нейросети), являющийся решением задачи.
§ Искусственная нейросеть, как и естественная биологическая нейронная сеть, может обучаться решению задач: нейросеть содержит внутренние адаптивные параметры нейронов и своей структуры, и меняя их, может менять свое поведение.
§ Место программирования занимает обучение, тренировка нейронной сети: для решения задачи не нужно программировать алгоритм.
§ Нейронная сеть обучается решению задачи на некотором «учебнике»? наборе ситуаций, каждая из которых описывает значения входных сигналов нейросети и требуемый для этих входных сигналах ответ. «Учебник» задает набор эталонных ситуаций с известными решениями, а нейронная сеть при обучении сама находит зависимости между входными сигналами и ответами.
Аппаратная реализация ИНС — нейрокомпьютер — имеет существенные отличия (как по структуре, так и по классу решаемых задач) от вычислительных машин, выполненных в соответствии с традиционной архитектурой фон Неймана. Сравнительные характеристики нейрокомпьютеров и традиционных компьютеров приведены в таблице 1.
Таблица 1. Сравнительные оценки традиционных ЭВМ и нейрокомпьютеров.
Категория сравнения | ЭВМ традиционной архитектуры | Нейрокомпьютер | |
Процессор | Сложный Высокоскоростной Один или несколько | Простой Низкоскоростной Большое количество | |
Память | Отделена от процессора Локализована Адресация не по содержанию | Интегрирована в процессор Распределенная Адресация по содержанию | |
Вычисления | Централизованные Последовательные Хранимые программы | Распределенные Параллельные Самообучение | |
Надежность | Высокая уязвимость | Живучесть | |
Специализация | Численные и символьные операции | Проблемы восприятия | |
Среда функционирования | Строго определена Строго ограничена | Без ограничений | |
5. Применение нейронных сетей В предыдущем разделе в несколько упрощенном виде было описано, как нейронная сеть преобразует входные сигналы в выходные. Теперь возникает следующий важный вопрос: как применить нейронную сеть к решению конкретной задачи?
Класс задач, которые можно решить с помощью нейронной сети, определяется тем, как сеть работает и тем, как она обучается. При работе нейронная сеть принимает значения входных переменных и выдает значения выходных переменных. Таким образом, сеть можно применять в ситуации, когда у Вас имеется определенная известная информация, и Вы хотите из нее получить некоторую пока не известную информацию (Patterson, 1996; Fausett, 1994). Вот некоторые примеры таких задач:
Прогнозирование на фондовом рынке. Зная цены акций за последнюю неделю и сегодняшнее значение индекса FTSE, спрогнозировать завтрашнюю цену акций.
Предоставление кредита. Требуется определить, высок ли риск предоставления кредита частному лицу, обратившемуся с такой просьбой. В результате разговора с ним известен его доход, предыдущая кредитная история и т. д.
Управление. Нужно определить, что должен делать робот (повернуться направо или налево, двигаться вперед и т. д.), чтобы достичь цели; известно изображение, которое передает установленная на роботе видеокамера.
Разумеется, вовсе не любую задачу можно решить с помощью нейронной сети. Если Вы хотите определить результаты лотереи, тираж которой состоится через неделю, зная свой размер обуви, то едва ли это получится, поскольку эти вещи не связаны друг с другом. На самом деле, если тираж проводится честно, то не существует такой информации, на основании которой можно было бы предсказать результат. Многие финансовые структуры уже используют нейронные сети или экспериментируют с ними с целью прогнозирования ситуации на фондовом рынке, и похоже, что любой тренд, прогнозируемый с помощью нейронных методов, всякий раз уже бывает «дисконтирован» рынком, и поэтому (к сожалению) эту задачу Вам тоже вряд ли удастся решить.
Итак, мы приходим ко второму важному условию применения нейронных сетей: Вы должны знать (или хотя бы иметь серьезные подозрения), что между известными входными значениями и неизвестными выходами имеется связь. Эта связь может быть искажена шумом (так, едва ли можно ожидать, что по данным из примера с прогнозированием цен акций можно построить абсолютно точный прогноз, поскольку на цену влияют и другие факторы, не представленные во входном наборе данных, и кроме того в задаче присутствует элемент случайности), но она должна существовать.
Как правило, нейронная сеть используется тогда, когда неизвестен точный вид связей между входами и выходами, — если бы он был известен, то связь можно было бы моделировать непосредственно. Другая существенная особенность нейронных сетей состоит в том, что зависимость между входом и выходом находится в процессе обучения сети. Для обучения нейронных сетей применяются алгоритмы двух типов (разные типы сетей используют разные типы обучения): управляемое («обучение с учителем») и не управляемое («без учителя»). Чаще всего применяется обучение с учителем, и именно этот метод мы сейчас рассмотрим (о неуправляемом обучении будет рассказано позже).
Для управляемого обучения сети пользователь должен подготовить набор обучающих данных. Эти данные представляют собой примеры входных данных и соответствующих им выходов. Сеть учится устанавливать связь между первыми и вторыми. Обычно обучающие данные берутся из исторических сведений. В рассмотренных выше примерах это могут быть предыдущие значения цен акций и индекса FTSE, сведения о прошлых заемщиках — их анкетные данные и то, успешно ли они выполнили свои обязательства, примеры положений робота и его правильной реакции.
Затем нейронная сеть обучается с помощью того или иного алгоритма управляемого обучения (наиболее известным из них является метод обратного распространения, предложенный в работе Rumelhart et al., 1986), при котором имеющиеся данные используются для корректировки весов и пороговых значений сети таким образом, чтобы минимизировать ошибку прогноза на обучающем множестве. Если сеть обучена хорошо, она приобретает способность моделировать (неизвестную) функцию, связывающую значения входных и выходных переменных, и впоследствии такую сеть можно использовать для прогнозирования в ситуации, когда выходные значения неизвестны.
6. Классификация нейронных сетей Существует широкий спектр достаточно универсальных способов организации инструментальных средств и собственно процесса применения нейронных сетей на различной программно-аппаратной базе. Всегда можно подобрать наиболее оптимальный для некоторой задачи? всё определяется свойствами задачи и требованиями к решению.
Однако применение нейросетей осложняется рядом причин. Нельзя придумать какую то одну универсальную ИНС, которая бы подошла для различных типов задач. Нейросе-ти используют в двух вариантах:
1) Строится нейросеть, решающая определенный класс задач,
2) Под каждый экземпляр задачи строится некоторая нейросеть, находящая квази-оптимальное решение этой задачи.
Существуют несколько видов нейросетей. Их классификация представлена на рисунке 2.
Рис. 4 Классификация ИНС Наиболее распространенным семейством сетей прямого действия являются многослойные персептроны, в них нейроны расположены слоями и соединены однонаправленными связями, идущими от входа к выходу сети. Сети прямого действия являются статическими в том смысле, что на заданный вход они вырабатывают одну совокупность выходных значений, не зависящих от предыдущего состояния сети.
Рекуррентные сети являются динамическими, так как в силу обратных связей в них модифицируются входы нейронов, что приводи к изменению состояния сети. Поведение рекуррентных сетей описывается дифференциальными или разностными уравнениями, как правило, первого порядка. Это гораздо расширяет области применения нейросетей и способы их обучения. Сеть организована так, что каждый нейрон получает входную информацию от других нейронов, возможно, и от самого себя, и от окружающей среды.
Так же можно выделить два основных подхода к реализации нейросетей: цифровой и аналоговый. Преимуществом аналоговых реализаций являются: высокое быстродействие, надежность и экономичность. Однако сфера возможного массового использования обучаемых аналоговых нейрочипов достаточно узка. Это обусловлено большой сложностью аппаратной реализации высокоэффективных обучающих алгоритмов и необходимостью специальной подготовки потенциальных пользователей для оптимальной организации адаптивного процесса. В то же время широкое распространение могут получить обученные аналоговые нейрокомпьютеры (нейросети) с фиксированной или незначительно подстраиваемой структурой связей — нейропроцессоры.
Задача создания нейропроцессоров сводится к обучению цифровой нейросетевой модели нужному поведению на обычном цифровом компьютере.
Сети также можно классифицировать по числу слоев. В этом случае важную роль играет нелинейность активационной функции, так как, если бы она не обладала данным свойством или не входила в алгоритм работы каждого нейрона, результат функционирования любой n-слойной нейронной сети сводился бы к перемножению входного вектора сигналов ц на матрицу весовых коэффициентов. То есть фактически такая нейронная сеть эквивалентна однослойной нейросети с весовой матрицей единственного слоя W. Кроме того, нелинейность иногда вводится и в синаптические связи.
7. Структура и принципы работы нейронной сети В качестве модели нейрона был выбран бинарный пороговый элемент, вычисляющий взвешенную сумму входных сигналов и формирующий на выходе сигнал величины 1, если эта сумма превышает определенное пороговое значение, и 0 — в противном случае. К настоящему времени данная модель не претерпела серьезных изменений. Были введены новые виды активационных функций. Структурная модель технического нейрона представлена на рисунке 3.
Рис. 5 Формальная модель искусственного нейрона На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона, или входным сигналом нейросетевой модели. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе биологического нейрона. Вес определяет, насколько соответствующий вход нейрона влияет на его состояние. Все произведения суммируются, определяя уровень активации нейрона s. Состояние нейрона определяется по формуле.
где ц — множество сигналов, поступающих на вход нейрона, wi — весовые коэффициенты нейрона. Далее сигнал s преобразуется активационной (передаточной) функцией нейрона F в выходной сигнал y.
Математически это можно выразить формулой:
где n — размерность вектора входов, w0 — «нейронное смещение», вводимое для инициализации сети, — подключается к неизме-няемому входу +1, F — активационная функция нейрона.
Нейроны могут группироваться в сетевую структуру различным образом. Функциональные особенности нейронов и способ их объединения в сетевую структуру определяет особенности нейросети. Для решения задач идентификации и управления наиболее адекватными являются многослойные нейронные сети (МНС) прямого действия или многослойные персептроны. При проектировании МНС нейроны объединяют в слои, каждый из которых обрабатывает вектор сигналов от предыдущего слоя. Минимальной реализацией является двухслойная нейронная сеть, состоящая из входного (распределительного), промежуточного (скрытого) и выходного слоя.
Рис. 6 Структурная схема двухслойной нейронной сети.
Реализация модели двухслойной нейронной сети прямого действия имеет следующее математическое представление:
где nц — размерность вектора входов ц нейронной сети;
nh — число нейронов в скрытом слое;
и — вектор настраиваемых параметров нейронной сети, включающий весовые коэффи-циениы и нейронные смещения (wji, Wij)
fj (x) — активационная функция нейронов скрытого слоя;
Fi (x) — активационная функция нейронов выходного слоя.
Персептрон представляет собой сеть, состоящую из нескольких последовательно соединенных слоев формальных нейронов (рисунок 3). На низшем уровне иерархии находится входной слой, состоящий из сенсорных элементов, задачей которого является только прием и распространение по сети входной информации. Далее имеются один или, реже, несколько скрытых слоев. Каждый нейрон на скрытом слое имеет несколько входов, соединенных с выходами нейронов предыдущего слоя или непосредственно со входными сенсорами ц1. цn, и один выход. Нейрон характеризуется уникальным вектором настраиваемых параметров и. Функция нейрона состоит в вычислении взвешенной суммы его входов с дальнейшим нелинейным преобразованием ее в выходной сигнал.
8. Сбор данных для нейронной сети Если задача будет решаться с помощью нейронной сети, то необходимо собрать данные для обучения. Обучающий набор данных представляет собой набор наблюдений, для которых указаны значения входных и выходных переменных. Первый вопрос, который нужно решить, — какие переменные использовать и сколько (и каких) наблюдений собрать.
Выбор переменных (по крайней мере первоначальный) осуществляется интуитивно. Ваш опыт работы в данной предметной области поможет определить, какие переменные являются важными. При работе с пакетом ST Neural Networks Вы можете произвольно выбирать переменные и отменять предыдущий выбор; кроме того, система ST Neural Networksумеет сама опытным путем отбирать полезные переменные. Для начала имеет смысл включить все переменные, которые, по Вашему мнению, могут влиять на результат — на последующих этапах мы сократим это множество.
Нейронные сети могут работать с числовыми данными, лежащими в определенном ограниченном диапазоне. Это создает проблемы в случаях, когда данные имеют нестандартный масштаб, когда в них имеются пропущенные значения, и когда данные являются нечисловыми. В пакете ST Neural Networks имеются средства, позволяющие справиться со всеми этими трудностями. Числовые данные масштабируются в подходящий для сети диапазон, а пропущенные значения можно заменить на среднее значение (или на другую статистику) этой переменной по всем имеющимся обучающим примерам (Bishop, 1995).
Более трудной задачей является работа с данными нечислового характера. Чаще всего нечисловые данные бывают представлены в виде номинальных переменных типа Пол = {Муж, Жен }. Переменные с номинальными значениями можно представить в числовом виде, и в системе ST Neural Networks имеются средства для работы с такими данными. Однако, нейронные сети не дают хороших результатов при работе с номинальными переменными, которые могут принимать много разных значений.
Пусть, например, мы хотим научить нейронную сеть оценивать стоимость объектов недвижимости. Цена дома очень сильно зависит от того, в каком районе города он расположен. Город может быть подразделен на несколько десятков районов, имеющих собственные названия, и кажется естественным ввести для обозначения района переменную с номинальными значениями. К сожалению, в этом случае обучить нейронную сеть будет очень трудно, и вместо этого лучше присвоить каждому району определенный рейтинг (основываясь на экспертных оценках).
Нечисловые данные других типов можно либо преобразовать в числовую форму, либо объявить незначащими. Значения дат и времени, если они нужны, можно преобразовать в числовые, вычитая из них начальную дату (время). Обозначения денежных сумм преобразовать совсем несложно. С произвольными текстовыми полями (например, фамилиями людей) работать нельзя и их нужно сделать незначащими.
Вопрос о том, сколько наблюдений нужно иметь для обучения сети, часто оказывается непростым. Известен ряд эвристических правил, увязывающих число необходимых наблюдений с размерами сети (простейшее из них гласит, что число наблюдений должно быть в десять раз больше числа связей в сети). На самом деле это число зависит также от (заранее неизвестной) сложности того отображения, которое нейронная сеть стремится воспроизвести. С ростом количества переменных количество требуемых наблюдений растет нелинейно, так что уже при довольно небольшом (например, пятьдесят) числе переменных может потребоваться огромное число наблюдений. Эта трудность известна как «проклятие размерности», и мы обсудим ее дальше в этой главе.
Для большинства реальных задач бывает достаточно нескольких сотен или тысяч наблюдений. Для особо сложных задач может потребоваться еще большее количество, однако очень редко может встретиться (даже тривиальная) задача, где хватило бы менее сотни наблюдений. Если данных меньше, чем здесь сказано, то на самом деле у Вас недостаточно информации для обучения сети, и лучшее, что Вы можете сделать — это попробовать подогнать к данным некоторую линейную модель. В пакете ST Neural Networks реализованы средства для подгонки линейных моделей (см. раздел про линейные сети, а также материал по модулю Множественная регрессия системы STATISTICA).
Во многих реальных задачах приходится иметь дело с не вполне достоверными данными. Значения некоторых переменных могут быть искажены шумом или частично отсутствовать. Пакет ST Neural Networks имеет специальные средства работы с пропущенными значениями (они могут быть заменены на среднее значение этой переменной или на другие ее статистики), так что если у Вас не так много данных, Вы можете включить в рассмотрение случаи с пропущенными значениями (хотя, конечно, лучше этого избегать). Кроме того, нейронные сети в целом устойчивы к шумам. Однако у этой устойчивости есть предел. Например, выбросы, т. е. значения, лежащие очень далеко от области нормальных значений некоторой переменной, могут исказить результат обучения. В таких случаях лучше всего постараться обнаружить и удалить эти выбросы (либо удалив соответствующие наблюдения, либо преобразовав выбросы в пропущенные значения). Если выбросы выявить трудно, то можно воспользоваться имеющимися в пакете ST Neural Networks возможностями сделать процесс обучения устойчивым к выбросам (с помощью функции ошибок типа «городских кварталов»; см. Bishop, 1995), однако такое устойчивое к выбросам обучение, как правило, менее эффективно, чем стандартное.
Заключение
Мы всегда должны выбирать такие переменные, которые, как предполагается, влияют на результат.
С числовыми и номинальными переменными в пакете ST Neural Networks можно работать непосредственно. Переменные других типов следует преобразовать в указанные типы или объявить незначащими.
Для анализа нужно иметь порядка сотен или тысяч наблюдений; чем больше в задаче переменных, тем больше нужно иметь наблюдений. Пакет ST Neural Networks имеет средства для распознавания значимых переменных, поэтому нужно включать в рассмотрение переменные, в значимости которых мы не уверены.
В случае необходимости можно работать с наблюдениями, содержащими пропущенные значения. Наличие выбросов в данных может создать трудности. Если возможно, необходимо удалить выбросы. Если данных достаточное количество — убрать из рассмотрения наблюдения с пропущенными значениями.
нейронный сеть networks переменная Список используемой литературы
1.Терехов С. А. Лекции по теории и приложениям искусственных нейронных сетей. Лаборатория Искусственных Нейронных Сетей НТО-2, ВНИИТФ, Снежинск.
2.Некоторые ссылки сайтов из сети Интернет.