49904

Использование нейронных сетей при моделировании цен на подержанные автомобили

Курсовая

Информатика, кибернетика и программирование

Что такое нейронные сети Зачем нужны нейросети и нейрокомпьютеры Примеры использования нейросетей Чем обусловлено рождение новой науки. НЕЙРОСЕТИ: ОСНОВНЫЕ ПОЛОЖЕНИЯ Что такое нейронные сети Прежде всего когда мы говорим о нейронных сетях то чаще имеем в виду искусственные нейронные сети. Некоторые из них моделируют биологические нейронные сети некоторые нет.

Русский

2014-01-12

564.5 KB

18 чел.

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«ПЕРМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ»

Факультет информатики и экономики

Кафедра прикладной информатики

КУРСОВАЯ РАБОТА

по дисциплине

«Интеллектуальные информационные системы»

Тема: «Использование нейронных сетей при моделировании цен на подержанные автомобили »

                                                   

ИСПОЛНИТЕЛЬ: студент  гр. 1233

Терентьева С.А.

НАУЧНЫЙ  РУКОВОДИТЕЛЬ:

профессор

Ясницкий Леонид Нахимович

Пермь 2007

СОДЕРЖАНИЕ

     ВВЕДЕНИЕ

     ГЛАВА 1 НЕЙРОСЕТИ: ОСНОВНЫЕ ПОЛОЖЕНИЯ

  1.  Что такое нейронные сети?
    1.  Зачем нужны нейросети и нейрокомпьютеры?
    2.  Примеры использования нейросетей
    3.  Чем обусловлено рождение новой науки.
    4.  Обзор программных продуктов

       ГЛАВА 2  ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ НЕЙРОСЕТЕВЫХ ТЕХОЛОГИЙ

2.1 Постановка задачи

2.2 Анализ предметной области

2.3 Анализ полученных результатов

    ЗАКЛЮЧЕНИЕ

    СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 

ВВЕДЕНИЕ

Искусственный интеллект – это раздел информатики, посвященный моделированию интеллектуальной деятельности человека. Зародившийся более 700 лет  назад в средневековой Испании искусственный интеллект оформился в самостоятельную научную область в середине ХХ в. пройдя сложный, извилистый путь многократных метаний между чрезмерным оптимизмом и необоснованным скептицизмом, в наши дни искусственный интеллект получил блестящие практические положения, открывающие перспективы, без которых немыслимо дальнейшее развитие цивилизации[5].

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

В настоящий момент выделяют несколько направлений развития искусственного интеллекта:

  •  Разработка интеллектуальных систем, основанных на знаниях;
  •  Нейросетевые и нейрокомпьютерные технологии;
  •  Распознавание образов;
  •  Игры и творчество;
  •  Компьютерная лингвистика;
  •  Интеллектуальные роботы;
  •  Компьютерные вирусы;
  •  Интеллектуальное математическое моделирование.

Остановимся на рассмотрении нейросетевых технологий, которые и будут являться объектом данной курсовой работы. Для них главными принципами служат принципы работы головного мозга. Другими словами, нейротехнологии моделируют головной мозг человека. Исторически первой работой по созданию интеллектуальных устройств, которые моделируют не только работу, но и структуру, человеческого мозга, принято считать статью Мак-Каллока и Питтса. Эти авторы выдвинули гипотезу математического нейрона, моделирующего нейрон мозга человека. Далее идея Мак-Каллока-Питтса была материализована Фрэнком Розенблаттом [5]. Это устройство, имеющее в качестве элементной базы модельные нейроны Мак-Каллока-Питтса и названное персептроном, удалось обучить решению сложнейшей интеллектуальной задачи – распознаванию букв латинского алфавита[5]. Далее была усложнена структура персептрона, усовершенствована модель математического нейрона, разработано множество алгоритмов обучения, созданы персептроны на основе гибридных нейросетей, а так же расширился круг задач, решаемых с помощью нейросетей.

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

1.НЕЙРОСЕТИ: ОСНОВНЫЕ ПОЛОЖЕНИЯ 

1.1 Что такое нейронные сети?

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

Однако искусственные нейросети обладают рядом свойств, присущих биологическим нейросетям, в том числе и человеческому мозгу. Главное свойство нейросетей – способность к обучению. Для решения какой-либо задачи на компьютере традиционным методом необходимо знать правила (математические формулы), по которым из входных данных можно получит выходные (найти решение задачи). С помощью нейросети можно найти решение, не зная правил, а имея несколько примеров. Нейросети используют подход к решению задач более близкий к человеческому, чем традиционные вычисления. В самом деле, например, когда человек переходит улицу, он оценивает скорость движения автомобиле исходя из предыдущего опыта не используя математических вычислений. Или, например, как ребенок без труда может отличить кошку от собаки, основываясь на ранее виденных им примерах[3]. При этом часто он не может точно сказать, по каким признакам он их отличает, т.е. он не знает четкого алгоритма. Другое важное свойство нейросетей – способность находить решение, основываясь на зашумленных, искаженных и даже противоречивых данных! Еще одно замечательное свойство — это отказоустойчивость. В случае выхода из строя части нейронов, вся сеть в целом продолжает оставаться работоспособной, хотя, конечно, точность снижается. Это свойство важно для аппаратно реализованных нейросетей, т.к. если нейросеть эмулируется на традиционном компьютере, то в случае выхода из строя центрального процессора вся нейросеть потеряет работоспособность.
Нейронная сеть представляет собой совокупность большого числа сравнительно простых элементов - нейронов, топология соединений которых зависит от типа сети[3]. В основу искусственных нейронных сетей положены следующие черты живых нейронных сетей, позволяющие им хорошо справляться с нерегулярными задачами:

  1.  простой обрабатывающий элемент – нейрон;
  2.   очень большое число нейронов участвует в обработке информации;
  3.  один нейрон связан с большим числом других нейронов (глобальные связи), изменяющиеся по весу связи между нейронами;
  4.  массированная параллельность обработки информации.

Как уже было сказано, прототипом для создания нейрона послужил биологический нейрон головного мозга. Биологический нейрон имеет тело, совокупность отростков - дендритов, по которым в нейрон поступают входные сигналы, и отросток иного рода - аксон, передающий выходной сигнал нейрона другим клеткам. Точка соединения дендрита и аксона называется синапсом. Упрощенно функционирование нейрона можно представить следующим образом.

Нейрон получает от дендритов набор (вектор) входных сигналов. В теле нейрона оценивается суммарное значение входных сигналов. Однако входы нейрона неравнозначны. Каждый вход характеризуется некоторым весовым коэффициентом, определяющим важность поступающей по нему информации. Таким образом, нейрон не просто суммирует значения входных сигналов, а вычисляет скалярное произведение вектора входных сигналов и вектора весовых коэффициентов. Далее нейрон формирует выходной сигнал, интенсивность которого зависит от значения вычисленного скалярного произведения. Если оно не превышает некоторого заданного порога, то выходной сигнал не формируется вовсе - нейрон "не срабатывает". И затем выходной сигнал поступает на аксон и передается дендритам других нейронов[4].

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

1.2 Зачем нужны нейросети и нейрокомпьютеры? 

Вот несколько вариантов ответа на вопрос, зачем же нужны нейронные сети и нейрокомпьютеры.

  1.  Нейрокомпьютеры дают стандартный способ решения многих нестандартных задач. И неважно, что специализированная машина или программа лучше решит один класс задач. Важнее, что один нейрокомпьютер (нейроcимитатор) решит и эту задачу, и другую, и третью — и не надо каждый раз проектировать специализированную ЭВМ —нейрокомпьютер сделает все сам и почти не хуже.
  2.  Гибкость структуры: можно различными способами комбинировать простые составляющик нейрокомпьютеров - нейроны и связи между ними. За счет этого на одной элементной базе и даже внутри "тела" одного нейрокомпьютера можно создавать совершенно различные машины.
  3.   Нейронные сети позволяют создать эффективное программное обеспечение для высокопараллельных компьютеров. Для высокопараллельных машин хорошо известна проблема: как их эффективно использовать — как добиться, чтобы все элементы одновременно и без лишнего дублирования вычисляли что-нибудь полезное? Создавая математическое обеспечения на базе нейронных сетей, можно для широкого класса задач решить эту проблему.

1.3 Примеры использования нейросетей

В принципе, нейронные сети могут вычислить любую функцию, имеющую решение, иными словами, делать все, что могут делать традиционные компьютеры.

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

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

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

  1.  Банки и страховые компании: 

автоматическое считывание чеков и финансовых документов;

проверка достоверности подписей;

оценка риска для займов;

прогнозирование изменений экономических показателей.

  1.  Административное обслуживание: 

автоматическое считывание документов;

автоматическое распознавание штриховых кодов.

  1.  Нефтяная и химическая промышленность: 

анализ геологической информации;

идентификация неисправностей оборудования;

разведка залежей минералов по данным аэрофотосъемок;

анализ составов примесей;

управление процессами.

  1.  Военная промышленность и аэронавтика: 

обработка звуковых сигналов (разделение, идентификация, локализация, устранение шума, интерпретация);

обработка радарных сигналов (распознавание целей, идентификация и локализация источников);

обработка инфракрасных сигналов (локализация);

обобщение информации;

автоматическое пилотирование.

  1.  Промышленное производство: 

управление манипуляторами;

управление качеством;

управление процессами;

обнаружение неисправностей;

адаптивная робототехника;

управление голосом.

  1.  Служба безопасности: 

распознавание лиц, голосов, отпечатков пальцев.

  1.  Биомедицинская промышленность: 

анализ рентгенограмм;

обнаружение отклонений в ЭКГ.

  1.  Телевидение и связь: 

адаптивное управление сетью связи;

сжатие и восстановление изображения.

Представленный перечень далеко не полон. Ежемесячно западные средства массовой информации сообщают о новых коммерческих продуктах на базе нейронных сетей. Так, фирма LIAC выпускает аппаратуру для контроля качества воды. Нейросистемы фирмы SAIC находят пластиковые бомбы в багаже авиапассажиров. Специалисты инвестиционного банка Citicomp (Лондон) с помощью программного нейропакета делают краткосрочные прогнозы колебаний курсов валют. А вот компания DAT планирует использовать нейропакеты при определении цен на подержанные автомобили. Данная фирма Deutsche Automobil Treuhand, название которой можно перевести на русский язык как «Немецкая автомобильная опека», основана в Берлине в 1931 г. в настоящее время более тщательно занимается определением стоимости подержанных автомобилей DAT

Фирма DAT является первой в области разработки методик и алгоритмов расчета стоимости подержанных автомобилей, их ремонта; располагает всеобъемлющими данными о технологии ремонта транспортных средств различных марок и модификаций. Пользователями программных продуктов компании DAT являются большинство страховых фирм и более 15 000 СТОА Европы, из них 11 000 – фирменные. Фирма ДАТ являемся старейшей фирмой, занимающейся исследованием мирового автомобильного рынка. С 1931 г. занимающаяся рынком подержанных легковых автомобилей, фирма ДАТ оказала решающее влияние на формирование профессии оценщика автомобилей в Европе. На фоне роста числа владельцев частных автомобилей в пятидесятые годы прошлого столетия и последующий бум в автомобильной промышленности выросла потребность в технической информации о различных марках автомобилей. ДАТ естественным образом взяла на себя задачу обеспечения этой потребности.

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

1.4 Чем обусловлено рождение новой науки ?

Почему нельзя решать те же задачи классическими методами теории управления, оптимизации и системного анализа ?

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

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

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

1.5 Обзор программных продуктов

На сегодняшний  день на рынке программного обеспечения можно встретить различные нейросимуляторы. Толковый нейросимулятор легко приспособить для решения практических задач на персональном компьютере, если не требуется производить вычисления как можно быстрее. Существуют симуляторы, поддерживающие нейроускорители - платы с процессорами цифровой обработки сигналов (DSP). Признаком добротного симулятора является подробное описание по применению с вводным курсом в теорию НС плюс техническая поддержка. Самые продвинутые симуляторы позволяют конструировать НС с экзотическими архитектурами и применять алгоритмы обучения, разработанные пользователем, а также обеспечивают мощное графическое отображение поведения НС при обучении. У «продвинутых», как и следовало ожидать, единственный недостаток очень высока цена.

Ознакомимся с некоторыми наиболее интересными нейросимуляторами для персональных компьютеров.

NeuroSolution (NeuroDimension) [9]

Цена зависит от комплектации и предоставляемых возможностей и колеблется от $195 до $1995. Лицензия для коммерческого использования созданных продуктов - еще $1995. Дополнительный модуль ($195-1495 в зависимости от уровня основной программы) генерирует DLL-библиотеки нейросетей, созданных в NeuroSolution, а удовольствие работать непосредственно из Excel обойдется еще в $195. Широкий набор типов нейросетей (Multi Layer Perceptron, модульные MLP, симбиоз IIR-фильтров с MLP, гибридные нейросети, нейросети анализа главных компонентов - PCA, адаптивный фильтр, нейросети с обратными связями, Кохонен, LVQ и т. д.) и алгоритмов обучения: BPE, Momentum, QuickProp, а так же Sanger и Oja для PCA. Общее количество весовых коэффициентов - до одного миллиона. Симулятор прост в освоении, у него хорошая справочная система, прекрасный графический интерфейс.

Работа с этим нейросимулятором сродни игре в Lego, и создать НС можно четырьмя путями. Первый - с помощью wizard’а - очень полезен для начинающих. По ходу дела «помощник» будет выводить на экран множество информации о выбранной НС и окажет реальное содействие при создании нейросети с запланированной архитектурой. Другой путь - модифицировать прилагаемые демо-макросы. Третий - изменить макеты нейросетей из электронного руководства. Наконец, можно собирать (макетировать) НС «ручками», используя меню и пиктограммы.

NeuralWorks Pro II/Plus (Aspen Technology) [9]

Цена от $1995 до $4995 в зависимости от платформы (DOS, Windows, NT, Sun, RS6000, SGI) плюс $1,5-3 тыс. за консультации, обучение и поддержку. Судя по описанию, один из самых крутых - поддерживаются все известные типы нейросетей и алгоритмов обучения, включая разрабатываемые с использованием средств симулятора, обеспечивается автоматическая оптимизация спрятанного слоя нейронов, графически отображаются функционирование нейросетей и средства диагностики. Профессиональный вариант ($9995-14995), выполненный в виде специализированной среды разработки, позволяет генерировать исходный Си-код и использовать программирование на Си, то есть разрабатывать любые новые нейросети, а также включает пакеты для применений в реальном времени в совокупности с нечеткой логикой и генетическими алгоритмами.

MatLab + Neural Network Toolbox [7]
(MathWorks)

Этому пакету досталось тяжелое наследство предыдущих версий: командно-строковый интерфейс, украшенный «виндовым» обрамлением. Запомнить все функции и их параметры - все равно что выучить от корки до корки новый язык, правда, по мере терпеливого освоения «языка» его достоинства видишь все лучше. Набор типов нейросетей стандартен. В версии 3.0 появилась возможность гибкого конструирования НС, а также были добавлены вероятностные и регрессионные нейросети. Несколько веселее с алгоритмами обучения: современный алгоритм обучения Levenberg-Marquardt собственной персоной.

Предусмотрен демонстрационный режим, воспользовавшись которым, оценим работу пресловутой НС с обратными связями (Elman). Здесь нейросеть должна предсказать периодические прямоугольные импульсы. Задачка служит хорошей проверкой на работоспособность НС подобной архитектуры. Не меняя настроек, можно загрузить готовый матлабовский файл, и обучение начинается. За изменением ошибки можно наблюдать в отдельном окне прямо по ходу обучения. Согласно замыслу авторов демонстрации, ошибка должна достичь величины 0,01. После предусмотренных пяти сотен повторов ошибка опустилась лишь до 1,00 (рис. 1), и даже начиная обучение заново, желаемого результата не последовало. Взамен программа предлагала попытаться продолжить обучение или добавить спрятанных нейронов.

BrainMaker [8]
(California Scientific Software)

Цена пакета в Штатах варьируется от $195 за обычную версию до $795 за профессиональную (95/98/NT/2000). Реализована только MLP-нейросеть: до 512 нейронов в каждом слое, до 8 слоев, до 32К весов между слоями нейронов. Работает с форматами Excel, Lotus, dBase, ASCII, binary. В профи-версии добавлены «финансовые» форматы (CompuTrack, MetaStock, CSI), а также отображение тренда весов во времени, прунинг (шаманство с весовыми коэффициентами) и генерация Си-кода. Задействовано 32-битное ускорение вычислений за счет использования MMX-команд. Поддерживаются нейросетевые платы-ускорители, в частности производства Adaptive Solutions. Любопытная деталь: California Scientific Software не предлагает модные алгоритмы ускорения обучения, делая ставку на аппаратное ускорение, благо дешевеющие, но шустрые в векторно-матричных вычислениях DSP справляются с MLP отменно.

Демонстрация BrainMaker сделана в лучших традициях черно-белого кино (рис. 2), поиграть можно только рандомизацией весовых коэффициентов. Классический по архитектуре MLP не является идеальным предсказателем в сравнении со  специализированными нейросетями.

NeuroPro [8]
(Институт вычислительного моделирования СО РАН)

Реализована лишь MLP-нейросеть: до десяти слоев, до ста нейронов в каждом слое. Судя по поведению при обучении на прилагаемых данных, действительно работает нейросеть. Назначение пакета - классификация и прогнозирование. Сначала надо ввести файл входных данных (форматы: dBase, FoxBase, FoxPro, Clipper, Paradox), после чего затруднений с освоением возникнуть не должно. Предусмотрено сокращение количества нейронов, весов и входов усилиями самой программы. Недостаток: трудно  понять, как обеспечить соответствие входов (симптомов) желаемому отклику (синдромам).

NeuroOffice’98 [9]
(АОЗТ «Альфа Систем», Санкт-Петербург)

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

В составе демо-версии - две программы. Первая, NeuroView+, предназначена для визуально-графического проектирования структурной модели и топологии нейронной сети. Утверждается, что размеры нейронной сети программно не ограничены. Вторая, NeuroEmulator, служит для обучения и тестовых испытаний спроектированной нейросети, а также для редактирования «синаптической карты» и функций активации нейронов.

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

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

Загрузив созданный проект в NeuroEmulator можно получить возможность инициализировать весовые коэффициенты, задать тип пороговой функции для каждого слоя, открыть файл входных данных (форматы Excel: CSV и BDT), предъявить эталоны на выходе и, наконец, приступить к обучению. Предусмотрена генерация тестовых входных данных (в частности, синус), но что именно предъявить для них на выходе в качестве эталона, программа не подсказывает. А ведь как раз в демо-версии была бы очень уместна автоматическая загрузка всех данных, на которых демонстрировалась бы работа программы в режиме обучения. Чтобы оценить работоспособность самой нейросети, пришлось быстренько сочинять хоть какие-то входные и эталонные данные.

Процедура обучения НС имеет собственное окно, разделенное на четыре части, назначение которых ясно из рис. 4. Предусмотрено пошаговое обучение («одиночный урок») с выводом значения достигнутой ошибки для каждого примера из входных данных. Так называемое статическое обучение, по идее, должно формировать оптимальные стартовые значения весовых коэффициентов с учетом конкретных входных данных. Режим «обучения множеству» предполагает обучение на всех данных вплоть до задаваемого значения ошибки. К сожалению, проследить за процессом обучения во времени можно лишь по мелькающим цифрам среднеквадратичной ошибки (СКО), чего явно недостаточно, чтобы выяснить причину тех или иных «затыков». Возможность просмотра значений весовых коэффициентов и порогов («смещений»), безусловно, полезна, но в случае «затыка» положения не спасает.

 

NNet [8]
(бета-версия)

NNet выделяется среди общей массы не только оригинальным интерфейсом (рис. 5), который облегчает освоение и делает программу очень удобной в работе, но и хорошей скоростью вычислений (полностью 32-разрядная и многонитевая) и грандиозными возможностями. Хотя в бета-версии воплощена лишь MLP-нейросеть, зато предусмотрено функционирование в трех режимах (аппроксимация, фильтрация и классификация), но главное - количество нейронов в каждом слое может достигать 64К, а максимальное число весов - четырех миллиардов.

Алгоритмы обучения: BPE, Momentum и скрытый Scaled Conjugate Gradient. Формат файлов ввода/вывода данных - double (8 байт на число), доступен всем, кто способен запрограммировать пару операндов.

Другие типы нейросетей (с обратными связями, комбинированные, сети анализа независимых компонентов, слепого разделения сигналов) не были включены в бета-версию программы.

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

Для своего исследования я использовала нейросимулятор российского производства, а именно нейросимулятор, созданный студентом ПГУ (рис.6)

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

Основной принцип работа этого нейросимулятора: сигналы, поступающие на входы Х1,-,Хn, умножаются на коэффициенты (веса, синапсы) соответствующие каждому входу и определяют уровень возбуждения нейрона. Выходной сигнал получается пропусканием суммарного сигнала возбужденных нейронов скрытого слоя через нелинейную функцию.

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

2. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ

2.1 Постановка задачи

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

2.2  ПРЕДВАРИТЕЛЬНЫЙ АНАЛИЗ  ОБЛАСТИ

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

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

- модель автомобиля;

2106

2107

2109

2110

2111

2112

2113

2114

- год выпуска;

- пробег;

- наличие антикоррозийной защиты;  2- проржавела, 1-без защиты, 0 - Защищена

- общее техническое состояние.  0- плохое, 1 -удовлетворительное   

Обучающая выборка составлена на реальных данных, собранных мною из различных источников, она содержит 74 записи и представлена в табл.1.[10,11,12]

Таблица 1

Обучающая выборка

x1

x2

x3

x4

x5

y

6

1996

47000

1

1

55000

6

1997

80000

1

0

50000

6

2000

87000

2

0

55000

6

1997

50000

1

0

67000

6

1990

33000

2

0

35000

6

1997

59000

0

0

65000

6

1996

81000

1

0

42000

6

2001

60000

2

1

65000

7

2003

85000

0

0

70000

7

2005

10000

0

1

130000

7

2001

20000

1

0

85000

7

2005

18000

1

0

120000

7

2003

85000

0

0

93000

7

2005

36000

0

1

130000

9

2002

70000

0

1

140000

9

2002

49000

0

1

130000

9

2001

120000

0

1

117000

9

2002

61000

1

1

127000

9

2002

60000

0

0

144000

9

2000

160000

0

1

120000

9

1999

116000

1

0

87000

9

2004

60000

0

0

167000

9

2000

70000

0

1

115000

10

2006

21000

0

1

220000

10

2006

13000

0

0

245000

10

2005

21000

0

1

240000

10

2001

70000

1

1

146000

10

2002

90000

0

0

185000

10

2001

95000

0

1

148000

10

2005

80000

2

1

215000

10

2004

45000

0

0

200000

10

2001

100000

0

1

140000

10

2002

36000

1

1

165000

10

2002

69000

0

0

155000

10

2001

54000

2

0

145000

10

2000

62000

0

0

125000

10

2004

62000

0

1

180000

10

2003

79000

0

1

189000

10

2005

36000

0

1

225000

10

2005

35000

1

1

200000

10

2005

42000

0

0

220000

10

2006

19000

1

1

240000

11

2002

76000

0

1

160000

11

2004

47000

0

1

200000

11

2001

87000

0

0

145000

11

2004

20000

0

1

230000

11

2002

97000

0

1

160000

11

2002

77000

0

1

170000

11

2002

42000

0

1

178000

12

2002

120000

0

1

145000

12

2001

97000

0

0

140000

12

2005

46000

1

1

200000

12

2001

96000

1

1

145000

12

2004

53000

1

1

198000

12

2004

47000

0

1

230000

12

2005

28000

1

1

236000

12

2005

28000

0

1

265000

13

2006

22000

0

1

191000

13

2006

12000

1

0

190000

13

2005

24000

0

0

187000

13

2005

30000

0

1

180000

14

2006

35000

0

1

230000

14

2005

50000

0

1

180000

14

2005

37000

1

1

184000

14

2005

25000

1

1

180000

14

2005

50000

0

1

190000

14

2005

43000

0

1

200000

14

2005

38000

0

1

200000

14

2005

11000

1

1

215000

14

2006

72000

1

1

170000

14

2004

37000

0

0

195000

14

2006

11000

1

1

185000

14

2004

50000

0

1

193000

14

2005

75000

0

1

169000

Тестируемая выборка

6

1996

98000

1

0

38000

6

1997

100000

1

1

41000

6

2001

24000

1

0

75000

7

2003

50000

0

1

95000

14

2005

48000

0

0

179000

13

2005

21000

0

0

189000

При проектировании персептронов необходимо понимать, что персептрон должен не только правильно реагировать на примеры, на которых он обучен, но и уметь обобщать приобретенные знания, т.е. правильно реагировать на примеры, которых в обучающей выборке не было( они представлены в табл.1). Погрешность персептрона, вычисленная на обучающей выборке называется погрешностью обучения, обозначаемой , а вычисленная на тестовой выборке- погрешностью обобщения, обозначаемой T  . При увеличении числа нейронов внутренних слоев персептрона N погрешность обучения   обычно падает, тогда как погрешность обобщения   сначала падает, а затем, начиная с некоторого оптимального значения N=N0, возрастает. Характерные кривые зависимости погрешностей обучения и обобщения от числа нейронов внутренних слоев персептрона приведены на рис. 7

Таким образом, для решения задачи буду использовать персептрон, основанный на нейронной сети с 5-ю входами, одним выходом и двумя скрытыми слоями, число нейронов скрытого слоя равно 6, так как согласно рис.7 число нейронов, равное 6, является оптимальным, начиная с которого погрешность обобщения начинает возрастать.  

2.3 АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ

Анализируя работу персептрона и  полученные результаты, можно сделать вывод, что персептрон выдал модельные значения, близкие к практическим, но желающие быть более точными. Для того чтобы наглядно продемонстрировать это утверждение, на гистограмме 1 показаны соотношения между теоретическими и модельными значениями.

Гистограмма 1. Результат нейросетевого моделирования цен на подержанные автомобили марки «ВАЗ» из обучающей выборки.

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

Гистограмма 2.  Результаты нейросетевого моделирования тестируемой выборки

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

Рис.8 Зависимость цены от технического состояния автомобиля.

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

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

ЗАКЛЮЧЕНИЕ

Подведём итог проделанной работы.

В первой части своей работы я обобщила свои знания в области нейросетевых технологий, а также сделала обзор программных продуктов.

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

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ:

Литература

  1.  Люгер Дж.Ф. Искусственный интеллект: стратегии и методы решения сложных проблем. – М.:Изд. дом «Вильямс», 2003. – 864 с.
  2.  Уоссермен. Нейрокомпьютерная техника: теория и практика.
  3.  Хайкин С. Нейронные сети. Издательство «Вильямс», 2005.-1104 с.
  4.  Ясницкий Л.Н. Введение в искусственный интеллект: Учеб. пособие для студ. высш. учеб. заведений, М.: Издательский центр «Академия», 2005.-176 с.

Периодические издания:

  1.  .Сколько стоит …продать машину// За рулем - 2002 г.,№7
  2.   «Купи-продай» в одном стакане // За рулем – 2004г., № 2.

Ссылки на ресурсы Интернет

  1.   MathLab-http://www.Mathworks.com
  2.  NeuralNetworks-http://www.nd.com
  3.  NeuroSolutions-http://www.neurosolutions.com
  4.  http://www.artint.ru/- Российский НИИ Искусственного интеллекта;
  5.  http://www.raai.org/- Российская ассоциация искусственного интеллекта;
  6.  http://lii.newmail.ru/- Лаборатория искусственного интеллекта;
  7.   http://offline.computerra.ru/2002/445/18040/-  Нейросимуляция – Журнал «Компьютера».
  8.  http://www.comavto.ru/ - Подержанные автомобили: продажа подержанных автомобилей.
  9.  http://www.irr.ru/ - Продажа подержанных Авто.
  10.  http://www.avtolady.al.ru/ - продажа подержанных ВАЗ.


 

А также другие работы, которые могут Вас заинтересовать

49299. Малохвильовий перетворювач WAVELET 581.78 KB
  Дискретне Wvelets перетворення 11 Приклади застосування Wvelets перетворення. Інакше називають Wvelet аналізом. Слово Wvelet в перекладі з англійської мови означає елементарну хвилю.
49300. Періодичні видання 2.17 MB
  Потужні редактори для опису операцій звязків і обчислення витрат на виконання робіт; Ієрархічна структура діаграм що полегшує послідовне уточнення елементів моделі; Контекстні діаграми для опису меж системи області дії призначення обєктів; Декомпозиційні діаграми для опису особливостей...
49301. Проектування електричного освітлення системи загального рівномірного й евакуаційного освітлення заготівельного цеху 185.46 KB
  Світлотехнічний розрахунок системи загального рівномірного освітлення й визначення одиничної встановленої потужності джерел світла в приміщеннях. Вибір джерел світла типу світильників їхнього розміщення світлотехнічний розрахунок евакуаційного освітлення. Визначення місць розташування щитків освітлення й траси електричної мережі.
49302. Топографические съемки крупного масштаба 443.92 KB
  Для этого выбирается ось маршрута сопвадающая с северной рамкой. При создании карты масштаба 1:5000 с высотой сечения рельефа 2м высотные опознаки совмещают с плановыми планововысотные опознаки ОПВ. В качестве ОПВ выбирают чёткие контурные точки положение которых можно определить на снимке и отождествить на местности с точностью не превышающей 0. Нельзя ОПВ выбирать на крутых склонах на округлых контурах лета и сельскохозяйственных угодьях а также высоких построек.
49303. MathML как средство разметки 86.64 KB
  MathML реализует две точки зрения на математическую разметку. Один из ее видов - это разметка представления (Presentation Markup), которая описывает визуальную форму представления математической формулы. Второй - разметка содержания (Content Markup), выражающая семантическое содержание.
49304. Обзорный диспетчерский радиолокатор 60.03 KB
  Построение зоны обзора РЛС в вертикальной плоскости без учета влияния земной поверхности. Построение зоны обзора РЛС в вертикальной плоскости с учетом влияния земной поверхности . Построение зоны РЛС в горизонтальной плоскости с учетом углов закрытия . Условные обозначения Pu – импульсная мощность РЛС; – длительность импульса; G – коэффициент усиления антенны; λ – длина волны; ϭц – эффективная поверхность рассеивания ЭПР цепи; rэ – радиус экрана индикатора; Pn.