Проектирование системы прогнозирования оптово-розничных
Ключевые задачи, решаемые интеллектуальным анализом для предприятий розничной торговли. Нейронная сеть - система соединенных и взаимодействующих между собой простых процессоров. Основные компоненты интерфейса разрабатываемого программного приложения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.08.2018 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Введение
В чем секрет успеха компаний, ставших лидерами в своих сегментах? Ответ, как ни странно, прост. Быть на шаг впереди, занимать лидирующие позиции на рынке - все это результат правильно принимаемых управленческих решений, в основе которых лежат достоверные прогнозы.
Спрос является фундаментом экономики и бизнеса практически любой компании, будь то производитель, дистрибутор или ритейлер. Возьмем, к примеру, производителя напитков. Решение задач по общему планированию производства, планированию объемов каждого вида SKU(типа, формы и размера фасовки конечного продукта), формированию запасов, логистики, планированию маркетинговых мероприятий и рекламных акций - все это базируется на прогнозировании потребительского спроса. Т.е. ответить на вопросы, в каком объеме к летнему сезону необходимо произвести напитки в стеклянной таре, алюминиевых банках или ПЭТ. Сколько необходимо выпустить напитков с банановым вкусом, а сколько без газа? Какой объем запасов необходимо создать к началу сезона пиковых продаж? Насколько необходимо сократить производство в низкий сезон, чтобы избежать избыточного затаривания складов? И многие другие вопросы могут быть решены исключительно на базе прогноза потребительского спроса на данную продукцию.
Данный пример приведен для наглядной иллюстрации типичной ситуации, характерной для FMCG производителей. Однако стоит отметить, что с подобными вопросами сталкиваются не только в сегменте товаров народного потребления, но и в самых различных отраслях: легкой и пищевой промышленности, розничной торговле, секторе HoReCa, сфере услуг (в том числе - почта и курьерские услуги) и многих других.
Очевидно, что точность прогнозирования спроса напрямую влияет на прибыль компании, ошибочный прогноз в той или иной степени приводит к снижению прибыли. Завышенный прогноз - это неоправданное увеличение складских запасов, транспортно-заготовительных расходов и, как следствие, снижение оборачиваемости средств. Заниженный прогноз - это срочные внеплановые закупки, превышение бюджета и, как следствие, снижение выручки компании.
Следует отметить, что абсолютно точный прогноз дать очень сложно ввиду большого количества факторов. Спрос меняется в зависимости от времени года (сезонный фактор), от дня недели, месяца или праздничных дней (календарный фактор), от фазы жизненного цикла товара, от ценовой политики, от рекламных кампаний и промо-акций, как собственных, так и конкурентов, от спроса на другие товары и множества других факторов.
Как уже было сказано выше, развитие информационных технологий дало в руки исследователей и предпринимателей мощные инструменты построение прогнозных моделей, способных учесть эти факторы. Автоматизированные системы прогнозирования спроса существуют давно и активно используются зарубежными компаниями. Среди них решения таких известных разработчиков программного обеспечения как Oracle, SAP, JDA, DemandTec. Мы рассмотрим только решение от компании Oracle.
Практическая значимость работы состоит в том, что полученные теоретические и научно-методические результаты могут быть использованы и внедрены в рабочий процесс любого торгового предприятия. Разработанные рекомендации и методики представляют практический интерес для сотрудников и руководителей, участвующих в процессе продаж.
Таким образом, тема данной работы является актуальной с практической точки зрения.
Целью выпускной квалификационной работы является создание системы прогнозирования оптово-розничных продаж торгового предприятия.
В соответствии с поставленной целью необходимо решить следующие задачи:
· проанализировать теоретическую базу, касаемую интеллектуального анализа данных;
· рассмотрение методов Data Mining и выбор инструментария для разработки системы;
· разработка основных критериев, которым должна соответствовать система;
· разработка системы прогнозирования оптово-розничных продаж;
· анализ полученных результатов.
Объектом исследования является Самарский филиал ООО «Эльдорадо», основной вид деятельности которого - торговля электронной техникой.
Предметом исследования является система прогнозирования оптово-розничных продаж электронной техники.
В этих книгах рассказывается о теоретических принципах и аспектах работы с Data Mining. Рассматриваются различные инструментарии и методы реализации задач прогнозирования на практике. Обсуждается классический подход к проектированию систем прогнозирования, а также рассмотрены основные подходы и направления развития интеллектуальных систем.
1. Теоретические основы работы с Data Mining
1.1 Анализ процесса оптово-розничных продаж
Анализ продаж компании позволяет диагностировать эффективность ее работы в любой момент времени. Продажи в бизнесе важны также как нормальный пульс или давление у человека. Если «пульс продаж» компании слабый, возможно организация заболела неэффективной работой менеджеров, если «давление компании» зашкаливает, то, скорее всего, есть проблемы во взаимодействии подразделений, и вероятно может быть сбой в самом слабом из них.
Своевременный анализ продаж позволяет гибко управлять людьми, подразделениями, бизнес-процессами и информацией, для достижения максимальной прибыли компании, как в краткосрочной, так и в долгосрочной перспективе.
Существует множество способов для того, чтобы анализировать продажи в компании. Зная это, большинство производителей программного обеспечения конкурируют между собой, за возможность «подсадить пользователя на свой софт». Но мало кто из них при этом занимается предварительным аудитом продаж, оценкой уровня персонала, анализом существующих методов работы, и учетом особенностей сложившейся корпоративной культуры. А ведь без этого ни один программный продукт в организации не приживется, каким бы хорошим он ни был.
Анализ продаж должен начинаться с определения ключевых показателей, которые нужны руководству компании, для понимания текущей ситуации, и принятия решений. Понятно, что в первую очередь руководителей интересует объем продаж, как в финансовом плане, так и в количественном выражении. Далее должен быть анализ продаж по ключевым клиентам, анализ продаж по новым клиентам, анализ продаж по филиалам, анализ продаж по видам товаров и услуг. Отдельное место в анализе продаж должна занимать оценка эффективности работы менеджеров по продажам.
Если для анализа продаж компания использует только анализ продажи продукции, то в этом случае у руководителей складывается однобокое восприятие сложившейся ситуации, потому что без анализа продаж по группам клиентов, и анализа ключевых показателей эффективности менеджеров невозможно понять, что повлияло на получение таких результатов, и каких продаж можно ожидать в следующем месяце. Анализ продаж, без системного учета всех показателей, подобен «гаданию на кофейной гуще», или напоминает разглядывание картины пейзажа столетней давности, который уже в следующее мгновение изменился до неузнаваемости.
Часто для анализа продаж продукции упоминают метод ABC - анализа, который широко известен благодаря учебникам по маркетингу, но редко используется серьезными компаниями для повседневной деятельности. Дело в том, что данный анализ, как и принцип Паретто, на котором он основан (правило 20 на 80), представляют собой достаточно поверхностную классификацию товарного ассортимента, и не дают достаточного понимания причин такого распределения. Кстати, если уж Вы решите попробовать использовать ABC анализ продаж, то сделайте его не по товарным группам, а по Вашим клиентам, и тогда Вы действительно столкнетесь с большим количеством интересных выводов о том, с кем из клиентов и как Вам лучше работать. Это и будет Ваша стратегия и тактика продаж. Вы можете заказать подобный анализ продаж в нашей компании.
Факторный анализ продаж -- позволяет определить, какие факторы оказывают основное влияние на продажи, оценить удельный вес каждого фактора, и получить данные, на основе которых можно максимизировать прибыль от продаж компании. Ключевыми факторами для факторного анализа продаж являются факторы внешней среды и внутренние факторы каждой организации. Частным случаем факторного анализа продаж является факторный анализ прибыли от продаж, используемый в бухгалтерском учете.
Анализ рентабельности продаж, т.е. анализ соотношения вложенных средств и полученных средств за отчетный период. Рентабельность показывает, насколько хорошо отработала Ваша компания, вне зависимости от величины ее прибыли. Можно продать много и заработать очень мало, а можно совершить гораздо меньше сделок, но с более высокой маржой, и получить такую рентабельность, которая в разы больше. В целом анализ рентабельности продаж позволяет оценить эффективность использования Вашего капитала, и понять, насколько выгодно вкладывать его в текущее направление. Очень важно научить менеджеров по продажам делать анализ рентабельности своих продаж, поскольку только тогда они начинают понимать, какие условия им стоит предлагать клиентам, а на каких условиях продавать становится бессмысленно.
Анализ розничных продаж - позволяет максимально точно определить эффективность работы магазина, и его сотрудников, а также понять насколько хорошо работает тот или иной отдел. При анализе розничных продаж должны использоваться как конечные показатели (объем продаж в рублях, количество реализованных единиц продукции), так и промежуточные показатели (средний чек, количество товаров в чеке, количество сопутствующих товаров, количество товаров, проданных по акции и т.д.). Без качественного анализа розничных продаж невозможно выстроить эффективную систему мотивации продавцов магазина, т.к. непонятно как учесть индивидуальный вклад каждого продавца. Закажите анализ розничных продаж в нашей компании, и с нашей помощью Вы получите всю необходимую информацию для увеличения Ваших продаж, и принятия правильных управленческих решений.
Анализ эффективности продаж - подразумевает оценку достижения поставленных целей по продажам и методов их достижения. Прибыль в краткосрочном периоде не всегда говорит об эффективности продаж, потому что прибыль любой ценой часто несет больше вреда бизнесу, чем пользы. Вы получили сегодня прибыль от сиюминутной продажи, но клиент остался недоволен, ушел, и рассказал об этом остальным. В результате Вы потеряли больше, чем заработали. Чтобы бизнес рос и развивался, и успешно существовал долгие годы - анализ эффективности продаж должен стать одним из главных инструментов руководителя.
Анализ управления продажами - позволяет добиваться высоких результатов продаж «чужими руками», т.е. использовать навыки и компетенции менеджеров с одной стороны и поддержание их высокой мотивации с другой. Успешное управление по продажам осуществляется на основе декомпозиции плана продаж, до уровня конкретного менеджера, а также управление ключевыми показателями эффективности его деятельности. На основе анализа управления продажами разрабатывается система управления продажами, которая позволяет руководителю в любой момент времени оптимизировать действия подчиненных, для получения максимальной прибыли от продаж.
Анализ плана продаж - очень важный метод, потому что ничто так не демотивирует сотрудников, как отсутствие четкого плана, наличие недостижимого плана, или ориентация на примерный план, который можно как выполнить, так и нет, получив при этом примерно одинаковые деньги. Анализ плана продаж должен производиться не реже, чем раз в квартал, чтобы сверять план продаж со стратегией продаж компании.
Анализ отдела продаж позволяет оценить плюсы и минусы отела продаж, найти возможности для повышения продаж товаров и услуг компании, а также понять, кто из менеджеров по продажам приносит максимальную пользу, а кто возможно уже давно нерентабелен для компании, как сотрудник. Многие компании, работавшие без отдела продаж, удивляются тому, сколько денег они тратили впустую на неэффективную работу своих сотрудников, и какой объем недополученной прибыли прошел мимо них за этот период.
Анализ вторичных продаж, дает возможность руководству проанализировать количество повторных контактов с клиентами, и их потребности в услугах компании. Легко продать один раз - эффективность продаж напрямую зависит от повышения вторичных продаж компании.
Существует еще много вариантов анализа продаж, например, Swot (свот) анализ продаж, анализ воронки продаж, различные методы анализа работы менеджеров по продажам, и способы анализа работы отдела продаж в целом.
Однако основной его проблемой остается получение прогноза на будущее, а так как прогноз это результат процесса прогнозирования, выраженный в словесной, математической, графической или другой форме суждения о возможном состоянии объекта (в частности рынка продаж электронной техники) и его среды в будущий период времени. Для этого, в сложившемся положении, для улучшения получения прогноза о спросе, создаются программы на основе нейронных сетей.
1.2 Анализ основных инструментов прогнозирования Data Mining
Сегодня уже никого не удивишь средствами интеллектуального анализа данных (Data Mining), хотя для очень многих это остается за рамками восприятия.
Для предприятий среднего и малого бизнеса еще каких-нибудь 3-5 лет назад это было недоступным, чем-то неведомым и непонятным. Но со временем все меняется. Сейчас руководству компаний есть серьезный повод задуматься, как можно эффективно использовать доступные по бюджету технологии обработки информации OLAP и Data Mining и обеспечить их качественное внедрение.
Наиболее широкое использование технология Data Mining получила в розничной торговле. Широко известен пример, когда специалисты одного из супермаркетов крупнейшей международной сети Wal-Mart выявили, что по пятницам вечером пиво часто продается вместе с детскими подгузниками. Менеджеры Wal-Mart умело этим воспользовались: поставив на полки рядом с подгузниками одни из самых дорогих марок пива, удалось добиться «геометрического роста» его продаж. Пример определения таких неочевидных связей - это и есть основная задача этой технологии, она позволяет лучше понимать потребности покупателя и его поведение, что, несомненно, нужно использовать для достижения финансовых целей.
Методы Data Mining позволят выделить именно тех потенциальных клиентов, на которых нужно сосредоточить свои усилия, чтобы сделать их активными клиентами, т.е. чтобы перевести их в другое состояние. Это значительно сэкономит усилия, ресурсы, и, как следствие, повысит прибыльность бизнеса. Представляют также большой интерес те клиенты, которые вероятно откажутся от услуг компании. Поэтому предотвратить уход хорошего клиента - одна из важнейших задач любого успешного бизнеса. Data Mining позволяет своевременно определить собирающихся уходить прибыльных клиентов. Это даст возможность провести эффективную кампанию, нацеленную на удержание таких клиентов.
Важным аспектом в работе отделов маркетинга и продаж является составление целостного представления о клиентах, информация об их особенностях, характеристиках, структуре клиентской базы. Как же можно провести сегментацию клиентской базы? Вероятно, основным является старое правило Парето «80/20»: примерно 80% доходов приносят 20% клиентов, поэтому максимальное внимание стоит уделить этим 20%. Увы, как много компаний не выполняет даже эту базовую сегментацию, чтобы выделить наиболее прибыльных клиентов. Методы выявления потребностей покупателей можно условно разделить на два вида: «количественные» - методы на основе анализа данных о совершаемых покупках (например, чеков) и «качественные» - на основе анализа результатов специально проводимых для этого маркетинговых исследований. В обоих случаях большинство российских компаний, даже с самыми сильными аналитическими отделами, для анализа обычно пользуются лишь стандартными статистическими методами. Если Ваша компания относится к их числу, то знайте: поступая так, Вы теряете множество нужной и полезной информации о Ваших покупателях, которую Ваши методы обнаружить не могут - просто потому, что они для этого не предназначены. Статистические методы преимущественно ориентированы лишь на обобщение информации, а не на ее глубокий анализ, который необходим для внимательного и всестороннего изучения Ваших клиентов. Согласитесь, вряд ли кто-то из специалистов, используя стандартные средства отчетности, сможет решать подобного рода задачи. Наличие в компании человека или лиц, выполняющих роль бизнес-аналитиков, обязательно подтолкнут руководство использовать средства Data Mining- это лишь вопрос времени.
Data Mining - это кладезь для продаж, маркетинга и мерчандайзинга.
Основные задачи, решаемые интеллектуальным анализом для предприятий розничной торговли:
1. Прогнозирование с использованием временных рядов. Используется при планировании и позволяет, например, построить модель прогноза продаж на основе анализа тенденций прошедших периодов.
2. Анализ покупательской корзины. Позволяет решать задачи по раскладке товаров и ответить на вопросы «Какие товары покупают вместе?», «Если купили товар A и товар B, то с вероятностью 89% купят товар C».
3. Анализ продаж товаров и формирование ассортимента. Построение подробных профилей различных категорий продаваемых товаров (например, продуктов с высокими объемами продаж или различных товарных групп) позволяет выяснять закономерности, характерные для продуктов-лидеров или продуктов-аутсайдеров, понять, кто покупает определенные продукты, то есть, например, отвечать на вопросы вроде «Кто покупает дорогие вина? Что является наиболее важным для таких покупателей?» или «Какая покупательская аудитория характерна для продукта, который мы недавно вывели на рынок?» и так далее. Это позволяет, в частности, более четко понимать целевую аудиторию различных продуктов и, следовательно, более грамотно их позиционировать и продвигать.
4. Формирование и анализ профиля Вашего клиента и поставщика. Позволяет оптимизировать затраты на маркетинг и эффективно работать с поставщиками. Структурирует клиентскую базу и даёт полное представление всей необходимой информации о клиентах: выполняет сегментирование, обеспечивает анализ прибыльности и лояльности, позволяет оценивать текущее состояние клиента и прогнозировать его перемещение различные состояния жизненного цикла: «возможные клиенты», «респонденты», «активные клиенты», «бывшие клиенты». И как следствие, управлять привлечением клиента, увеличением ценности клиента, удержанием хорошего клиента.
Под профилем клиента/поставщика понимаются некие общие характеристики, присущие определенной группе, например, при помощи технологии Data Mining можно построить профиль высокодоходных клиентов, то есть узнать, их общие характеристики и черты потребительского поведения. Затем эти знания можно использовать для проведения кампаний, ориентированных на высокодоходных клиентов, например, предложить систему скидок на услуги/товары, дополняющие те, что они покупают, или предложить им другие, сопутствующие товары. Особую ценность представляет анализ совокупности характеристик профиля, что в результате может дать те знания, которые из каждой отдельной характеристики получить невозможно.
Ниже рассмотрим примеры (на предприятии питания).
Анализ покупательской корзины с использованием алгоритма интеллектуального анализа Data Mining «Поиск ассоциативных правил»
Использование алгоритма «Поиск ассоциативных правил» в данном примере выполняет поиск неявных взаимосвязей между категориями товаров в чеках, и на основании поиска позволяет обеспечить кросс-продажи, т.е. стимулировать продажи одних товаров за счет их связи с другими. Данные рекомендации наглядно показаны на Рис. 1.1:
Рис. 1.1 - Поиск ассоциативных правил
В данном примере показана однонаправленная связь виски с безалкогольными напитками, т.е. при продаже виски будут продаваться безалкогольные напитки с вероятностью 83,8% (Рис. 1.2). Эти две позиции присутствовали в чеках 835 раз. Система так же позволяет получить подробную информацию по выбранному правилу, используя операцию детализации.
Рис. 1.2 - Ассоциативные правила
Рис. 1.3 - Прогноз с использованием алгоритма интеллектуального анализа Data Mining «Временные ряды»
Алгоритм временных рядов позволяет построить краткосрочные и долгосрочные прогнозы на основании анализа тенденций прошедших периодов. Прогнозирование - одна из самых популярных задач в торговле (Рис. 4). При наличии прогноза продаж на следующие недели/месяцы можно организовать закупку такого количества продукции, которая будет продана до момента следующей закупки. Несмотря на простоту формулировки, задача достаточно сложная, т.к. необходимо учитывать множество разнородных факторов, динамику развития, возможные отклонения.
Сегментация клиентов с использованием алгоритма интеллектуального анализа Data Mining «Кластеризация».
Одной из наиболее важных задач при применении кластерного анализа является анализ поведения потребителя, цель которого разбить клиентов на группы-кластеры и в дальнейшем исследовать их. Кластеры - это совокупности характеристик клиента, которые нельзя получить даже с помощью средств аналитической отчетности, - вот почему они несут особую ценность для маркетолога компании. Источником данных для этого обычно служат результаты опросов и анкетная информация дисконтной системы.
На диаграмме кластеров (Рис. 1.4) наглядно отражена степень взаимосвязи между кластерами клиентов. Для информативности названия кластеров могут тут же в интерфейсе изменены, например «Студенты и школьники, до 400 р.» и т.д. Профили кластера содержат информацию о характеристиках и степени их заполнения в каждом кластере. Сравнение кластеров определяет наиболее важные отличия между кластерами и отображает состояния характеристик, связанных с этими отличиями, в порядке важности. Полоса справа от характеристики показывает, какой кластер предпочтительнее, а размер полосы показывает степень предпочтения кластера.
Рис. 1.4 - Диаграмма кластеров
Рис. 1.5 - Профили кластера
Рис. 1.6 - Сравнение кластеров
Все больше внимания уделяется оптимизации процессов, в-основном, в виде снижения затрат на производство продукции. Снижения затрат можно достигнуть модернизированием оборудования, но данный подход влечет за собой множество затрат на проектирование, покупку, реконструкцию и пр., а также сопровождается недополученной прибылью во время простоя реконструируемого объекта. Но также возможно использовать математический подход для поиска неэффективности в технологическом процессе, об и этом и пойдет речь далее.
Кратко о нейронных сетях.
Нейронная сеть представляют собой систему соединённых и взаимодействующих между собой простых процессоров (нейронов).
Рис. 1.7 - Структурная схема нейронной сети
На схеме зеленый цвет - входной слой нейронов, синий - скрытый (промежуточный) слой нейронов, желтый - выходной слой нейронов).
Нейрон - базовый элемент нейронной сети, единичный простой вычислительный процессор способный воспринимать, преобразовывать и распространять сигналы, в свою очередь объединение большого количества нейронов в одну сеть позволяет решать достаточно сложные задачи.
Рис. 1.8 - Схема нейрона
Нейросетевой подход свободен от модельных ограничений, он одинаково годится для линейных и сложных нелинейных задач, а также задач классификации. Обучение нейронной сети в первую очередь заключается в изменении «силы» связей между нейронами. Нейронные сети масштабируемы, они способны решать задачи как в рамках единичного оборудования, так и в масштабах заводов в-целом.
1.3 Нейронные сети как средство анализа процесса
В течение последнего десятилетия в журналах и газетах, таких как «Management Science» («Наука менеджмента»), «IEEE Transactions on Systems» («Транзакции IEEE в системах»), «Man and Cybernetics» («Человек и кибернетика»), «Decision Sciences» («Наука принятия решений»),«Computers & Operations Research» («Компьютерные и операционные исследования»), «European Journal of Operational Research» («Европейский журнал исследования операций»), «AI Expert («ИИ-эксперт»), «АI Magazine» («ИИ-журнал») и «Business Week» («Неделя бизнеса»); были напечатаны бесчисленные предложения по применению нейронных сетей в бизнесе и исследовании операций. Большинство вариантов применения нейронных сетей в менеджменте касаются задач, попадающих в следующие четыре категории: классификация (распознавание образца), построение эмпирической кривой и анализ временных рядов, кластеризация и оптимизация. Ниже приведены примеры каждой категории.
1. Классификация. Должным образом разработанная нейронная сеть может использоваться как классификатор. После обучения историческим данным нейронная сеть может определять класс принадлежности некоторой характерной черты. Нейронные сети можно использовать при анализе кредитоспособности, чтобы предсказатъ банкротство фирмы. Нейронные сети могут также оценить активы и обязательства. Во многих банках нейронные сети можно использовать для обнаружения подделки кредитной карточки.
2. Построение эмпирической кривой и анализ временных рядов. Процесс обучения во многих типах нейронных сетей может рассматриваться как построение эмпирической кривой. Кроме того, нейронные сети могут использоваться для определения модели колебаний временного ряда. Аналитики сферы маркетинга, используя нейронные методы сети, могут определять рыночные функции отклика, основанные на временных данных. Руководители производства могут предсказывать производительность фирмы, основываясь на кривых, представленных обученными нейронными сетями. Многие финансовые учреждения используют нейронные сети для финансового прогноза и управления инвестициями.
3. Кластеризация. Неконтролируемые обучающиеся нейронные сети обычно используются в кластерном анализе для группировки объектов без априорного знания классов. Идентификация потребительских сегментов и группировка технологических деталей могут служить примером в этой прикладной категории.
4. Оптимизация. Поскольку процесс обучения в нейронных сетях должен минимизировать заранее определенную ошибку или энергию, нейронные сети могут использоваться для решения задач оптимизации. Задачи вроде оптимального планирования работ, оптимального планирования работы магазина и минимизации потерь могут быть решены с использованием нейронных сетей.
Приведём пример, где нейронные сети используются как средство анализа и средство прогноза динамического процесса.
Итак, ученые Стэнфорда недавно придумали очень необычное применение нейронной сети CNN для предсказания бедности. Что они сделали?
На самом деле концепция очень проста. Дело в том, что в Африке уровень бедности зашкаливает за все мыслимые и немыслимые пределы. У них нет даже возможности собирать социальные демографические данные. Поэтому с 2005 года у нас вообще нет никаких данных о том, что там происходит.
Учёные собирали дневные и ночные карты со спутников и скармливали их нейронной сети в течении некоторого времени.
Нейронная сеть была преднастроена на ImageNet'е. То есть первые слои фильтров были настроены так, чтобы она умела распознавать уже какие-то совсем простые вещи, например, крыши домов, для поиска поселения на дневных картах. Затем дневные карты были сопоставлены с картами ночной освещенности того же участка поверхности для того, чтобы сказать, насколько есть деньги у населения, чтобы хотя бы освещать свои дома в течение ночного времени.
Рис. 1.9 - Прогнозирование уровня бедности в Уганде
На рис. 1.9 мы видим результаты прогноза, построенного нейронной сетью. Прогноз был сделан с различным разрешением. И вы видите -- самый последний кадр -- реальные данные, собранные правительством Уганды в 2010 году.
Можно заметить, что нейронная сеть составила достаточно точный прогноз, даже с небольшим сдвигом с 2010 года.
Были конечно и побочные эффекты. Ученые, которые занимаются deep learning, всегда с удивлением обнаруживают разные побочные эффекты. Например, как те, что сеть научилась распознавать воду, леса, крупные строительные объекты, дороги -- все это без учителей, без заранее построенных баз данных. Вообще полностью самостоятельно. Были некие слои, которые реагировали, например, на дороги.
2. Особенности проектирования систем прогнозирования посредством нейронных сетей
2.1 Классификация и основные особенности нейронных сетей.
Т. к. одно из главных преимуществ нейронных сетей состоит в том, что они, по крайней мере теоретически, могут аппроксимировать любую непрерывную функцию, и поэтому исследователю нет необходимости заранее принимать какие-либо гипотезы относительно модели и даже, в ряде случаев, о том, какие переменные действительно важны. Исходя из этого, можно сделать вывод, что именно использование нейронных сетей является оптимальным решением поставленных в ВКР задач.
Нейронная сеть представляет собой совокупность нейроподобных элементов, определенным образом соединенных друг с другом и с внешней средой с помощью связей, определяемых весовыми коэффициентами В зависимости от функций, выполняемых нейронами в сети, можно выделить три их типа:
* входные нейроны, на которые подается вектор, кодирующий входное воздействие или образ внешней среды; в них обычно не осуществляется вычислительных процедур, а информация передается с входа на выход путем изменения их активации;
* выходные нейроны, выходные значения которых представляют выходы нейронной сети;
* промежуточные нейроны, составляющие основу нейронных сетей).
В большинстве нейронных моделей тип нейрона связан с его расположением в сети. Если нейрон имеет только выходные связи, то это входной нейрон, если наоборот - выходной нейрон. Однако возможен случай, когда выход топологически внутреннего нейрона рассматривается как часть выхода сети. В процессе функционирования сети осуществляется преобразование входного вектора в выходной, некоторая переработка информации. Конкретный вид выполняемого сетью преобразования данных обусловливается не только характеристиками нейроподобных элементов, но и особенностями ее архитектуры, а именно топологией межнейронных связей, выбором определенных подмножеств нейроподобных элементов для ввода и вывода информации, способами обучения сети, наличием или отсутствием конкуренции между нейронами, направлением и способами управления и синхронизации передачи информации между нейронами.
С точки зрения топологии можно выделить три основных типа нейронных сетей:
* полносвязные (рис. 2.1, а);
* многослойные или слоистые (рис. 2.1, б);
* слабосвязные (с локальными связями) (рис. 2.1, в).
В полносвязных нейронных сетях каждый нейрон передает свой выходной сигнал остальным нейронам, в том числе и самому себе. Все входные сигналы подаются всем нейронам. Выходными сигналами сети могут быть все или некоторые выходные сигналы нейронов после нескольких тактов функционирования сети.
Рис. 2.1 - Архитектуры нейронных сетей. а - полносвязная сеть, б - многослойная сеть с последовательными связями, в - слабосвязные сети
В многослойных нейронных сетях нейроны объединяются в слои. Слой содержит совокупность нейронов с едиными входными сигналами Число нейронов в слое может быть любым и не зависит от количества нейронов в других слоях. В общем случае сеть состоит из слоев, пронумерованных слева направо. Внешние входные сигналы подаются на входы нейронов входного слоя (его часто нумеруют как нулевой), а выходами сети являются выходные сигналы последнего слоя. Кроме входного и выходного слоев в многослойной нейронной сети есть один или несколько скрытых слоев. Связи от выходов нейронов некоторого слоя к входам нейронов следующего слоя называются последовательными.
В свою очередь, среди многослойных нейронных сетей выделяют следующие типы.
1) Монотонные.
Это частный случай слоистых сетей с дополнительными условиями на связи и нейроны. Каждый слой кроме последнего (выходного) разбит на два блока: возбуждающий и тормозящий. Связи между блоками тоже разделяются на тормозящие и возбуждающие. Если от нейронов блока А к нейронам блока В ведут только возбуждающие связи, то это означает, что любой выходной сигнал блока является монотонной неубывающей функцией любого выходного сигнала блока А. Если же эти связи только тормозящие, то любой выходной сигнал блока В является невозрастающей функцией любого выходного сигнала блока А.
2) Сети без обратных связей. В таких сетях нейроны входного слоя получают входные сигналы, преобразуют их и передают нейронам первого скрытого слоя, и так далее вплоть до выходного, который выдает сигналы для интерпретатора и пользователя. Если не оговорено противное, то каждый выходной сигнал слоя подастся на вход всех нейронов слоя; однако возможен вариант соединения слоя с произвольным слоем.
Рис. 2.2 - Многослойная (двухслойная) сеть прямого распространения
3) Сети с обратными связями В сетях с обратными связями информация с последующих слоев передается на предыдущие. Среди них, в свою очередь, выделяют следующие:
* слоисто-циклические, отличающиеся тем, что слои замкнуты в кольцо, последний слой передает свои выходные сигналы первому; все слои равноправны и могут как получать входные сигналы, так и выдавать выходные;
* слоисто-полносвязанные состоят из слоев, каждый из которых представляет собой полносвязную сеть, а сигналы передаются как от слоя к слою, так и внутри слоя; в каждом слое цикл работы распадается на три части, прием сигналов с предыдущего слоя, обмен сигналами внутри слоя, выработка выходного сигнала и передача к последующему слою,
* полносвязанно-слоистые, по своей структуре аналогичные слоисто-полносвязанным, но функционирующим по-другому: в них не разделяются фазы обмена внутри слоя и передачи следующему, на каждом такте нейроны всех слоев принимают сигналы от нейронов как своего слоя, так и последующих
В качестве примера сетей с обратными связями на рис. 1.6 представлены частично-рекуррентные сети Элмана и Жордана.
Рис. 2.3 - Частично-рекуррентные сети а - Элмана, б - Жордана
В слабосвязных нейронных сетях нейроны располагаются в узлах прямоугольной или гексагональной решетки Каждый нейрон связан с четырьмя (окрестность фон Неймана), шестью (окрестность Голея) или восемью (окрестность Мура) своими ближайшими соседями.
Известные нейронные сети можно разделить по типам структур нейронов на гомогенные (однородные) и гетерогенные. Гомогенные сети состоят из нейронов одного типа с единой функцией активации, а в гетерогенную сеть входят нейроны с различными функциями активации.
Существуют бинарные и аналоговые сети. Первые из них оперируют только двоичными сигналами, и выход каждого нейрона может принимать значение либо логического ноля (заторможенное состояние) либо логической единицы (возбужденное состояние).
Еще одна классификация делит нейронные сети на синхронные и асинхронные. В первом случае в каждый момент времени лишь один нейрон меняет свое состояние, во втором - состояние меняется сразу у целой группы нейронов, как правило, у всего слоя. Алгоритмически ход времени в нейронных сетях задается итерационным выполнением однотипных действий над нейронами Далее будут рассматриваться только синхронные сети
Сети можно классифицировать также по числу слоев. Теоретически число слоев и число нейронов в каждом слое может быть произвольным, однако фактически оно ограничено ресурсами компьютера или специализированных микросхем, на которых обычно реализуется нейронная сеть. Чем сложнее сеть, тем более сложные задачи она может решать.
Выбор структуры нейронной сети осуществляется в соответствии с особенностями и сложностью задачи. Для решения отдельных типов задач уже существуют оптимальные конфигурации, описанные в приложении. Если же задача не может быть сведена ни к одному из известных типов, приходится решать сложную проблему синтеза новой конфигурации. При этом необходимо руководствоваться следующими основными правилами:
* возможности сети возрастают с увеличением числа нейронов сети, плотности связей между ними и числом слоев;
* введение обратных связей наряду с увеличением возможностей сети поднимает вопрос о динамической устойчивости сети;
* сложность алгоритмов функционирования сети, введение нескольких типов синапсов способствует усилению мощности нейронной сети.
Вопрос о необходимых и достаточных свойствах сети для решения задач того или иного рода представляет собой целое направление нейрокомпьютерной науки. Так как проблема синтеза нейронной сети сильно зависит от решаемой задачи, дать общие подробные рекомендации затруднительно В большинстве случаев оптимальный вариант получается на основе интуитивного подбора, хотя в литературе приведены доказательства того, что для любого алгоритма существует нейронная сеть, которая может его реализовать. Остановимся на этом подробнее.
Многие задачи распознавания образов (зрительных, речевых), выполнения функциональных преобразований при обработке сигналов, управления, прогнозирования, идентификации сложных систем, сводятся к следующей математической постановке. Необходимо построить такое отображение чтобы на каждый возможный входной сигнал X формировался правильный выходной сигнал У. Отображение задается конечным набором пар («вход», «известный выход»). Число этих пар (обучающих примеров) существенно меньше общего числа возможных сочетаний значений входных и выходных сигналов. Совокупность всех обучающих примеров носит название обучающей выборки.
В задачах распознавания образов X - некоторое представление образа (изображение, вектор), У - номер класса, к которому принадлежит входной образ.
В задачах управления X - набор контролируемых параметров управляемого объекта, Y - код, определяющий управляющее воздействие, соответствующее текущим значениям контролируемых параметров.
В задачах прогнозирования в качестве входных сигналов используются временные ряды, представляющие значения контролируемых переменных на некотором интервале времени. Выходной сигнал - множество переменных, которое является подмножеством переменных входного сигнала.
При идентификации X и Y представляют входные и выходные сигналы системы соответственно.
Вообще говоря, большая часть прикладных задач может быть сведена к реализации некоторого сложного функционального многомерного преобразования.
В результате отображения необходимо обеспечить формирование правильных выходных сигналов в соответствии:
* со всеми примерами обучающей выборки;
* со всеми возможными входными сигналами, которые не вошли в обучающую выборку.
Второе требование в значительной степени усложняет задачу формирования обучающей выборки В общем виде эта задача в настоящее время еще не решена однако во всех известных случаях может быть найдено частное решение.
2.2 Принципы работы нейронных сетей
Нейрон -- это вычислительная единица, которая получает информацию, производит над ней простые вычисления и передает ее дальше. Они делятся на три основных типа: входной (синий), скрытый (красный) и выходной (зеленый). Также есть нейрон смещения и контекстный нейрон о которых мы поговорим в следующей статье. В том случае, когда нейросеть состоит из большого количества нейронов, вводят термин слоя. Соответственно, есть входной слой, который получает информацию, n скрытых слоев (обычно их не больше 3), которые ее обрабатывают и выходной слой, который выводит результат. У каждого из нейронов есть 2 основных параметра: входные данные (input data) и выходные данные (output data).
В случае входного нейрона: input=output. В остальных, в поле input попадает суммарная информация всех нейронов с предыдущего слоя, после чего, она нормализуется, с помощью функции активации (пока что просто представим ее f(x)) и попадает в поле output.
Рис. 2.4 - Значения входного нейрона
Важно помнить, что нейроны оперируют числами в диапазоне [0,1] или [-1,1]. А как же, вы спросите, тогда обрабатывать числа, которые выходят из данного диапазона? На данном этапе, самый простой ответ -- это разделить 1 на это число. Этот процесс называется нормализацией, и он очень часто используется в нейронных сетях. Подробнее об этом чуть позже.
Синапс это связь между двумя нейронами. У синапсов есть 1 параметр -- вес. Благодаря ему, входная информация изменяется, когда передается от одного нейрона к другому. Допустим, есть 3 нейрона, которые передают информацию следующему. Тогда у нас есть 3 веса, соответствующие каждому из этих нейронов. У того нейрона, у которого вес будет больше, та информация и будет доминирующей в следующем нейроне (пример -- смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов -- это своеобразный мозг всей системы. Именно благодаря этим весам, входная информация обрабатывается и превращается в результат.
Рис. 2.5 - Синапс
Ниже на рис. 2.6 изображена часть нейронной сети, где буквами I обозначены входные нейроны, буквой H -- скрытый нейрон, а буквой w -- веса.
(1)
Из формул видно, что входная информация -- это сумма всех входных данных, умноженных на соответствующие им веса. Тогда дадим на вход 1 и 0. Пусть w1=0.4 и w2 = 0.7 Входные данные нейрона Н1 будут следующими: 1*0.4+0*0.7=0.4. Теперь когда у нас есть входные данные, мы можем получить выходные данные, подставив входное значение в функцию активации (подробнее о ней далее). Теперь, когда у нас есть выходные данные, мы передаем их дальше. И так, мы повторяем для всех слоев, пока не дойдем до выходного нейрона. Запустив такую сеть в первый раз мы увидим, что ответ далек от правильно, потому что сеть не натренирована. Чтобы улучшить результаты мы будем ее тренировать. Но прежде чем узнать как это делать, давайте введем несколько терминов и свойств нейронной сети.
Рис. 2.6 - Схема нейронной сети
Функция активации -- это способ нормализации входных данных (мы уже говорили об этом ранее). То есть, если на входе у вас будет большое число, пропустив его через функцию активации, вы получите выход в нужном вам диапазоне. Функций активации достаточно много поэтому мы рассмотрим самые основные: Линейная, Сигмоид (Логистическая) и Гиперболический тангенс. Главные их отличия -- это диапазон значений.
Линейная функция почти никогда не используется, за исключением случаев, когда нужно протестировать нейронную сеть или передать значение без преобразований.
Рис. 2.7 - Сигмоид
Сигмоид (рис. 2.7) - самая распространенная функция активации, ее диапазон значений [0,1]. Именно на ней показано большинство примеров в сети, также ее иногда называют логистической функцией. Соответственно, если в вашем случае присутствуют отрицательные значения (например, акции могут идти не только вверх, но и вниз), то вам понадобиться функция которая захватывает и отрицательные значения.
Рис. 2.8 - Гиперболический тангенс
Имеет смысл использовать гиперболический тангенс, только тогда, когда ваши значения могут быть и отрицательными, и положительными, так как диапазон функции [-1,1]. Использовать эту функцию только с положительными значениями нецелесообразно так как это значительно ухудшит результаты вашей нейросети.
2.3 Обучение нейронных сетей
Перед тем как начать нашу основную тему, мы должны ввести понятие еще одного вида нейронов -- нейрон смещения. Нейрон смещения или bias нейрон -- это третий вид нейронов, используемый в большинстве нейросетей. Особенность этого типа нейронов заключается в том, что его вход и выход всегда равняются 1 и они никогда не имеют входных синапсов. Нейроны смещения могут, либо присутствовать в нейронной сети по одному на слое, либо полностью отсутствовать, 50/50 быть не может (красным на схеме обозначены веса и нейроны которые размещать нельзя). Соединения у нейронов смещения такие же, как у обычных нейронов -- со всеми нейронами следующего уровня, за исключением того, что синапсов между двумя bias нейронами быть не может. Следовательно, их можно размещать на входном слое и всех скрытых слоях, но никак не на выходном слое, так как им попросту не с чем будет формировать связь.
Рис. 2.9 - Гиперболический тангенс
Нейрон смещения нужен для того, чтобы иметь возможность получать выходной результат, путем сдвига графика функции активации вправо или влево. Если это звучит запутанно, давайте рассмотрим простой пример, где есть один входной нейрон и один выходной нейрон. Тогда можно установить, что выход O2 будет равен входу H1, умноженному на его вес, и пропущенному через функцию активации (формула на фото слева). В нашем конкретном случае, будем использовать сигмоид.
Из школьного курса математики, мы знаем, что если взять функцию y = ax+b и менять у нее значения “а”, то будет изменяться наклон функции (цвета линий на графике слева), а если менять “b”, то мы будем смещать функцию вправо или влево (цвета линий на графике справа). Так вот “а” -- это вес H1, а “b” -- это вес нейрона смещения B1. Это грубый пример, но примерно так все и работает (если вы посмотрите на функцию активации справа на изображении, то заметите очень сильное сходство между формулами). То есть, когда в ходе обучения, мы регулируем веса скрытых и выходных нейронов, мы меняем наклон функции активации. Однако, регулирование веса нейронов смещения может дать нам возможность сдвинуть функцию активации по оси X и захватить новые участки. Иными словами, если точка, отвечающая за ваше решение, будет находиться, как показано на графике слева, то ваша НС никогда не сможет решить задачу без использования нейронов смещения. Поэтому, вы редко встретите нейронные сети без нейронов смещения.
Также нейроны смещения помогают в том случае, когда все входные нейроны получают на вход 0 и независимо от того какие у них веса, они все передадут на следующий слой 0, но не в случае присутствия нейрона смещения. Наличие или отсутствие нейронов смещения -- это гиперпараметр (об этом чуть позже). Одним словом, вы сами должны решить, нужно ли вам использовать нейроны смещения или нет, прогнав НС с нейронами смешения и без них и сравнив результаты.
Как сделать чтобы НС давала правильные ответы?
Ответ прост -- нужно ее обучать. Однако, насколько бы прост не был ответ, его реализация в плане простоты, оставляет желать лучшего. Существует несколько методов обучения НС и я выделю 3, на мой взгляд, самых интересных:
· Метод обратного распространения (Backpropagation)
· Метод упругого распространения (Resilient propagation или Rprop)
· Генетический Алгоритм (Genetic Algorithm)
Об Rprop и ГА речь пойдет в других статьях, а сейчас мы с вами посмотрим на основу основ -- метод обратного распространения, который использует алгоритм градиентного спуска.
Градиентный спуск - это способ нахождения локального минимума или максимума функции с помощью движения вдоль градиента. Если вы поймете суть градиентного спуска, то у вас не должно возникнуть никаких вопросов во время использования метода обратного распространения. Для начала, давайте разберемся, что такое градиент и где он присутствует в нашей НС. Давайте построим график, где по оси х будут значения веса нейрона(w) а по оси у -- ошибка соответствующая этому весу(e).
Рис. 2.10 - Градиентный спуск
Посмотрев на этот график, мы поймем, что график функция f(w) является зависимостью ошибки от выбранного веса. На этом графике нас интересует глобальный минимум -- точка (w2,e2) или, иными словами, то место где график подходит ближе всего к оси х. Эта точка будет означать, что выбрав вес w2 мы получим самую маленькую ошибку -- e2 и как следствие, самый лучший результат из всех возможных. Найти же эту точку нам поможет метод градиентного спуска (желтым на графике обозначен градиент). Соответственно у каждого веса в нейросети будет свой график и градиент и у каждого надо найти глобальный минимум.
Градиент -- это вектор который определяет крутизну склона и указывает его направление относительно какой либо из точек на поверхности или графике. Чтобы найти градиент нужно взять производную от графика по данной точке (как это и показано на графике). Двигаясь по направлению этого градиента мы будем плавно скатываться в низину. Теперь представим что ошибка -- это лыжник, а график функции -- гора. Соответственно, если ошибка равна 100%, то лыжник находиться на самой вершине горы и если ошибка 0% то в низине. Как все лыжники, ошибка стремится как можно быстрее спуститься вниз и уменьшить свое значение. В конечном случае у нас должен получиться результат, показанный на рисунке 2.11.
Рис. 2.11 - Градиентный спуск (50 итераций)
Нейросеть можно обучать с учителем и без (supervised, unsupervised learning).
Обучение с учителем -- это тип тренировок присущий таким проблемам как регрессия и классификация (им мы и воспользовались в примере приведенном выше). Иными словами здесь вы выступаете в роли учителя а НС в роли ученика. Вы предоставляете входные данные и желаемый результат, то есть ученик посмотрев на входные данные поймет, что нужно стремиться к тому результату который вы ему предоставили.
Обучение без учителя -- этот тип обучения встречается не так часто. Здесь нет учителя, поэтому сеть не получает желаемый результат или же их количество очень мало. В основном такой вид тренировок присущ НС у которых задача состоит в группировке данных по определенным параметрам. Допустим вы подаете на вход 10000 статей на хабре и после анализа всех этих статей НС сможет распределить их по категориям основываясь, например, на часто встречающихся словах. Статьи в которых упоминаются языки программирования, к программированию, а где такие слова как Photoshop, к дизайну.
Существует еще такой интересный метод, как обучение с подкреплением (reinforcement learning). Этот метод заслуживает отдельной статьи, но я попытаюсь вкратце описать его суть. Такой способ применим тогда, когда мы можем основываясь на результатах полученных от НС, дать ей оценку. Например мы хотим научить НС играть в PAC-MAN, тогда каждый раз когда НС будет набирать много очков мы будем ее поощрять. Иными словами мы предоставляем НС право найти любой способ достижения цели, до тех пор пока он будет давать хороший результат. Таким способом, сеть начнет понимать чего от нее хотят добиться и пытается найти наилучший способ достижения этой цели без постоянного предоставления данных “учителем”.
Также обучение можно производить тремя методами: стохастический метод (stochastic), пакетный метод (batch) и мини-пакетный метод (mini-batch). Существует очень много статей и исследований на тему того, какой из методов лучше и никто не может прийти к общему ответу. Я же сторонник стохастического метода, однако я не отрицаю тот факт, что каждый метод имеет свои плюсы и минусы.
Стохастический (его еще иногда называют онлайн) метод работает по следующему принципу -- нашел Дw, сразу обнови соответствующий вес.
Пакетный метод же работает по другому. Мы суммируем Дw всех весов на текущей итерации и только потом обновляем все веса используя эту сумму. Один из самых важных плюсов такого подхода -- это значительная экономия времени на вычисление, точность же в таком случае может сильно пострадать.
...Подобные документы
Принципы организации и функционирования биологических нейронных сетей. Система соединенных и взаимодействующих между собой простых процессоров. Нейронные сети Маккалока и Питтса. Оценка качества кластеризации. Обучение многослойного персептрона.
курсовая работа [1,1 M], добавлен 06.12.2010Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011Искусственная нейронная сеть - математическая модель, представляющая собой систему соединённых, взаимодействующих между собой нейронов. Методы детектирования движения в видеопотоке. Обзор инструментальных средств для разработки программного продукта.
дипломная работа [2,0 M], добавлен 06.06.2017Интернет-магазин – программное обеспечение для удобства покупок и продаж с веб-сайта. Характеристика существующих средств проектирования и разработки информационных систем. Описание особенностей интерфейса разрабатываемого программного приложения.
курсовая работа [703,3 K], добавлен 07.05.2019Анализ и пути совершенствования коммерческой деятельности предприятий розничной торговли. Обзор программных средств, используемых в торговле, их основные возможности. Проектирование и реализация приложения "Электронный помощник" для магазина "Ваш дом".
дипломная работа [634,1 K], добавлен 12.07.2013Описание разрабатываемого программного обеспечения, его структура и предъявляемые требования, аналитический обзор. Система приоритетов при разработке, проектирование интерфейса, алгоритмов и иерархии классов. Особенности реализации и внедрения системы.
дипломная работа [878,4 K], добавлен 18.11.2017Эффективность применения объектного подхода для программных систем. Детальное проектирование и реализация системы, реализующей процессы создания и взаимодействия объектов. Распознавание компьютером печатных букв с помощью многослойной нейронной сети.
курсовая работа [38,0 K], добавлен 09.03.2009Проектирование вариантов использования приложения. Анализ существующей версии приложения. Обоснование выбора инструментальных программных средств. Проектирование интерфейса пользователя. Адаптация под мобильные устройства. Описание программного продукта.
курсовая работа [2,8 M], добавлен 25.06.2017Разработка программного комплекса автоматизации складского учета, предназначенного для розничных предприятий ЗАО "Белгородский бройлер": логическое, физическое проектирование, создание интерфейса пользователя на языке Delphi, расчет экономических затрат.
дипломная работа [3,2 M], добавлен 02.03.2010Автоматизация оценки востребованности территорий города в объектах розничной торговли для определения оптимального местоположения для осуществления выбранного вида розничной торговли. Проектирование модели анализа данных. Разработка программного средства.
дипломная работа [1,7 M], добавлен 14.07.2016Бизнес-процессы деятельности склада фирмы розничной торговли. Диаграмма прецедентов (приемки товара), активности и последовательности. Список классификационных справочников. Объектно-ориентированная модель программного продукта, основные диаграммы.
контрольная работа [414,7 K], добавлен 17.06.2012Технологии автоматизации отношений с покупателями и налаживания непосредственно торговой деятельности, во всех ее проявлениях. Информационная система для автоматизации процессов деятельности сотрудников оптово-розничной базы в компании "Александрит".
дипломная работа [530,5 K], добавлен 14.02.2015Требования к программе или программному изделию, к информационной и программной совместимости. Проектирование программного продукта. Процедура установки и удаления. Описание интерфейса, главное окно приложения. Основные возможности пользователя.
курсовая работа [678,1 K], добавлен 15.02.2016Обзор цифровых процессоров для видеонаблюдения. Конструктивное исполнение процессоров. Программное и аппаратное обеспечение. Система команд цифрового процессора. Содержание программного кода. Пояснения к программному коду. Иллюстрация работы эмулятора.
курсовая работа [1,2 M], добавлен 13.02.2017Разработка программного приложения WindowsForms для работы с базой данных на языке высокого уровня C# в автономном режиме с использованием ADO.NET. Проектирование реляционной модели базы данных, интерфейса приложения, основных функций и возможностей.
курсовая работа [4,3 M], добавлен 30.06.2015Общее описание разрабатываемого программного обеспечения, требования к его функциональности и сферы практического применения. Выбор инструментальных средств разработки. Проектирование структур баз данных и алгоритмов, пользовательского интерфейса.
дипломная работа [3,1 M], добавлен 19.01.2017Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.
курсовая работа [2,4 M], добавлен 11.02.2013Прогнозирование на фондовом рынке с помощью нейронных сетей. Описание типа нейронной сети. Определение входных данных и их обработка. Архитектура нейронной сети. Точность результата. Моделирование торговли. Нейронная сеть прямого распространения сигнала.
дипломная работа [2,7 M], добавлен 18.02.2017Применение системы автоматизации розничной торговли в работе современного магазина самообслуживания или супермаркета. Описание информационного и технологического обеспечений информационной системы. Программное обеспечение и экономическая эффективность.
курсовая работа [810,7 K], добавлен 28.12.2010Формирование входных и выходных данных, SQL–скрипт генерации таблиц базы данных. Создание интерфейса программного приложения и проектирование форм базы данных. Требования к аппаратно–программному обеспечению. Инструкции по установке и эксплуатации.
курсовая работа [1,6 M], добавлен 08.02.2013