Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кратко и понятно по основам нейросетей.doc
Скачиваний:
21
Добавлен:
28.08.2019
Размер:
443.39 Кб
Скачать

Использование многослойных персептронов

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

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

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

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

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

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

Использование нейронных сетей с общей регрессией grnn и grnn-ga

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

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

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

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

Программные реализации

На данной странице приведены краткие характеристики программных продуктов компаний Ward Systems Group,Inc. и НейроПроект. Каждому из них посвящено более подробное описание, к которому Вы можете обратиться, если Вас оно заинтересует. NeuroShell 2 NeuroShell 2 - программная среда с дружественным и интуитивно понятным интерфейсом, в которой  реализованы наиболее распространенные и эффективные нейросетевые архитектуры. Этот программный продукт удовлетворит и новичка, и профессионала. NeuroShell сопровождает целая серия дополнений, которые могут существенно упростить решение ряда специфических задач. Подробно о программном продукте... GeneHunter GeneHunter - программный пакет, использующий генетические алгоритмы для решения сложных, очень сложных и очень-очень сложных комбинаторных и оптимизационных задач. GeneHunter является надстройкой Microsoft Excel, т.е. пользователь решает свои задачи непосредственно из рабочего листа, содержащего данные. Кроме того, в состав GeneHunter входит динамическая библиотека функций генетических алгоритмов, что позволяет пользователю создавать системы, использующие генетические алгоритмы. Подробно о программном продукте... NeuroShell Trader NeuroShell Trader - система, предназначенная для прогнозирования и поиска эффективных торговых стратегий на финансовых рынках. Система ориентирована на трейдеров, инвесторов и всех тех, кто зарабатывает или собирается зарабатывать на биржевой торговле. Она настолько проста в использовании, что начинающие могут быстро освоить ее и начать эффективно использовать. Однако система является настолько мощной, что дает возможность профессионалам решать широкий круг сложнейших задач. Подробно о программном продукте... NeuroShell Series Нейросетевые архитектуры, лежащие в основе программ данной серии, являются самыми последними достижениями научного поиска, результатом которого явилось создание алгоритма "самопостроения" нейронной сети, обладающей рекордными скоростями обучения. Эти программы чрезвычайно просты в использовании. Теперь пользователь должен сосредоточиться только на формулировке задачи, все остальное программы данной серии сделают сами. В состав серии входят: NeuroShell Predictor - Предсказатель NeuroShell Classifier - Классификатор NeuroShell Run-Time Server - Средства автономного использования сетей, полученных в NeuroShell Predictor и NeuroShell Classifier. NeuroShell Predictor дает возможность с легкостью создавать системы для решения задач прогнозирования и предсказания на основе имеющейся базы данных. Это могут быть предсказания следующих значений параметров временного ряда, например, предсказание курса акций, или оценка какой-либо величины, определяемой набором независимых факторов, например, оценка стоимости квартир или подержанных автомобилей. Подробно о программном продукте... NeuroShell Classifier предназначен для решения задач распознавания образов, связанных с определением принадлежности предъявляемого образа (ситуации) к той или иной категории. Например, по набору биржевых показателей вырабатывать сигнал для покупки или продажи акций той или иной компании. Подробно о программном продукте...

Процедура решения указанных задач чрезвычайно проста. Вам нужно:

  • подготовить файл данных, содержащий примеры того, что Вы хотите предсказать или распознать;

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

  • выбрать стратегию тренировки - нейросетевую или генетическую;

  • натренировать сеть и

  • использовать ее для предсказания или классификации существующих или новых данных.

NeuroShell Run-Time Server содержит ряд программ, которые позволяют использовать сети, созданные с помощью NeuroShell Predictor и NeuroShell Classifier, либо из рабочих листов Microsoft® Excel™, либо в собственных программах. Подробно о программном продукте...

Решения практических задач

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

Создание группы экспертов

Достоинства

  • Возможность словесного общения

  • Возможность учета неформализуемых факторов

Недостатки

  • Высокие расходы на зарплату

  • Расходы на повышение квалификации

  • Опасность потери эксперта (переход к конкуренту, эмиграция, болезнь и т.д.)

  • Человеческая субъективность

  • Противоречивость мнений различных экспертов

Покупка готовой заказной системы

Достоинства

  • Относительно невысокая стоимость эксплуатации

  • Система создана лучшими специалистами

  • Система сделана с учетом специфики компании

Недостатки

  • Очень высокая стоимость разработки

  • Невысокая гибкость

  • Необходимость в разглашении секретов делового процесса компании

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

Создание собственной системы "с нуля"

Достоинства

  • Управление процессом разработки

  • Легкость внесения изменений и модернизации

  • Полная конфиденциальность

Недостатки

  • Необходим штат программистов

  • Необходимы специалисты по нейросетям

  • Занимает много времени

  • Высокая стоимость

  • Необходима настройка системы

Создание системы на основе готовых нейропакетов

Достоинства

  • Невысокая стоимость базового пакета и обновлений

  • Готовые архитектуры и алгоритмы обучения

  • Пакет создан профессионалами в области нейросетей

  • Достаточно высокая гибкость

  • Техническая поддержка производителя пакета

  • Полная конфиденциальность

  • Не требуется программирование

  • От пользователя не требуется глубокого знания нейросетей

  • Более эффективное обнаружение и исправление ошибок за счет большого числа пользователей

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

  • Возможность общения с другими пользователями пакета

Недостатки

  • Не всегда возможно создавать собственные архитектуры и алгоритмы обучения

  • Необходима настройка системы

  • Необходима подготовка данных

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

Вариант создания собственной системы на основе готового нейропакета подходит для менее крупных компаний и даже для частных лиц - инвесторов, трейдеров, предпринимателей. Впрочем, имеется и несколько примеров крупнейших концернов, избравших этот вариант и добившихся успеха. Так, например, компания DuPont разработала новый материал - безопасное стекло, используя нейросетевой пакет NeuroShell. Также этот пакет используется в крупных западных банках, таких как Citibank, Security Pacific National Bank, The World Bank, Lloyds Bank, The Federal Reserve Board, Federal Reserve Bank of New York, и в страховых компаниях Royal Insurance, Presidential Life Insurance, New York Life Insurance и других. Хотя конкретные методики использования пакетов держатся в секрете, формулировки задач и подходы к их решению известны. Ниже будет рассказано об известных нам способах использования нейросетей в различных областях бизнеса и технологий.