Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Лаборатория BaseGroup - Знакомьтесь - нейросети

Оформил: DeeCo

Автор: Сергей Миронов

Вместо введения.

Когда мы знакомим широкую публику с результатами наших работ, то зачастую сталкиваемся с обидным для нас вопросом: «А вы везде пытаетесь нейросети применять?». Это мнение складывается, как правило, после беглого ознакомления с материалами нашего сайта и представленными на нем технологиями. Поэтому мы не устаем повторять: каждая задача анализа или, по крайней мере, определенный класс задач требует специального подхода и, как следствие, - специального инструментария. Все случаи применения нами нейронных сетей - результат нелегких поисков оптимального решения для этой конкретной задачи.

Другой часто возникающий вопрос, - почему мы вообще этим занимаемся. Как говорил классик: «Вопрос, конечно, интересный». Дело в том, что, по нашему глубокому убеждению, мы являемся свидетелями неотвратимого перевода России на рельсы цивилизованного капитализма, когда каждый бизнесмен будет не только полагаться на Бога, но и сам перестанет «плошать». А это значит просчитывать каждый свой шаг и экономить каждую копейку. Без современных аналитических инструментов сделать это довольно сложно или попросту невозможно.

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

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

Глава 1. Нейросетевой волшебник.

Здесь речь пойдет о давнишней и хорошо показавшей себя на практике разработке Лаборатории - программе Neural Network Wizard. На момент написания статьи последней версией этого продукта является релиз под номером 1.7. Wizard - это вполне функциональный эмулятор нейронной сети. Эмулятором он называется потому, что "по паспорту" нейронная сеть должна работать на компьютере с параллельной архитектурой, но, поскольку за последние годы производительность "обычных" компьютеров резко идет в гору, появилась возможность эмулировать работу нейросетей, состоящих из десятков и сотен нейронов, с вполне приличной скоростью. Именно этот факт, между прочим, был не последним из тех, что повлияли на стремительное развитие нейрокомпьютинга в последние годы.

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

Проиллюстрировать все вышесказанное мне поможет пример реального применения Neural Network Wizard на практике. В феврале 2000 года в центре Госсанэпиднадзора Рязанской области нами была введена в эксплуатацию программа нейросетевого прогнозирования объемов заболеваемости опасными вирусными инфекциями. Вся работа была проведена на добровольных началах, поэтому мы очень волновались за точность такого прогноза. Ведь подготавливать входную информацию, которой в данном случае являлись медицинские карты больных, нам помогали врачи, трудное положение которых в наше время общеизвестно. В общем, на голом энтузиазме им удалось собрать и подготовить чуть больше сотни карт. При прогнозировании было решено использовать «консилиум» из пяти отдельно обученных нейросетей. Вот тут-то в полной мере и проявилась замечательная особенность нейросетей обучаться на скудной выборке и при этом выдавать весьма точные прогнозы. Стоит ли говорить о том, что для получения приемлемого результата стандартными статистическими методами эта выборка должна превышать нашу в несколько десятков раз. В результате была получена система, которая позволяет с высокой степенью точности прогнозировать объем заболеваний и моделировать эпидемиологическую ситуацию с заболеваниями в Рязанской области. Особый ее плюс, который отметили врачи, заключается в возможности следить за влиянием различных факторов на конечный результат.

Глава 2. Самоорганизующиеся карты Кохонена.

Следующая разработка, о которой я хочу рассказать, поставляется в виде библиотеки компонентов для Delphi 4, реализующей алгоритм SOM (Self Organizing Maps). Самоорганизующиеся карты - одна из разновидностей нейросетевых алгоритмов. Нейронные сети данного типа часто применяются для решения самых различных задач, от восстановления пропусков в данных до анализа информации и все того же поиска закономерностей.

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

В качестве примера, который поможет все это осознать, я приведу анализ эффективности вложений в рекламу, проведенный с помощью самоорганизующихся карт. Это, возможно, одна из самых запутанных задач, потому как приходится учитывать большое количество параметров. Исходными данными для анализа послужили результаты исследования, проведенного рязанским маркетинговым агентством среди 348 читателей. Конечно, этого количества респондентов явно недостаточно для того, чтобы говорить о репрезентативности, но так как лучших данных у нас не было, пришлось довольствоваться этими. Даже такой грубый анализ показал, что кроме нас, положение на рынке СМИ в Рязани никому не интересно. А как же еще объяснить тот факт, что подавляющее большинство СМИ ходят в аутсайдерах - около 70%. Можно еще сделать вывод о том, что рынок явно перегружен печатными СМИ, т.к. около 70% газет и журналов - аутсайдеры. Среди радио и телевидения соотношение намного лучше - аутсайдеров около 30%. На рынке, в целом, уже определились лидеры. Это НТВ, «Русское радио», «Европа+» и в меньшей степени «Вечерняя Рязань» и «Мещерская сторона». Как ни странно, ОРТ в лидерах нет. Все вышеперечисленные факты хорошо иллюстрирует следующий рисунок.

Пояснение к картинке: синий цвет - минимум, зеленый - среднее значение, красный - максимум.

Довольно странно, что мнения рекламодателей и респондентов кардинально отличаются друг от друга. На лидеров рынка рекламодатели особого внимания не обращают, в результате чего НТВ, «Мещерская сторона» и «Европа+» явно недооценены. Рекламодатели высоко ценят газеты, бесплатно распространяемые по офисам и квартирам («Ва-банкъ», «Экстра-офис»), а респонденты - нет. Таким образом, налицо парадоксальная ситуация, когда рекламодатели переводят деньги на издания, которым давно уже стоило перейти на печать на мягкой бумаге в рулонах. Скорее всего, здесь срабатывает стадный инстинкт: «Раз все дают туда рекламу, значит выгодно». Рекламные же издания вовсю пользуются сложившейся ситуацией.

На этом рисунке хорошо видны различия в высказываниях рекламодателей и людей, для которых эта реклама предназначена.

Глава 3. SOMap Analyzer.

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

К безусловным достоинствам новой системы можно отнести следующие:
  • получение исходной выборки из любого источника;
  • получение карты по любому из полей;
  • фильтрация исходных данных;
  • сохранение и считывание обученной карты;
  • конструирование отчетов при помощи встроенного редактора;
  • получение статистических данных по каждому кластеру и ячейке;
  • возможность пропустить через построенную карту любую таблицу.
Мы будем очень обязаны, если жители Королевства, которые представляются мне людьми опытными по этой части, помогут нам с бета-тестированием системы, направляя свои пожелания и сообщения о недоработках по адресу, указанному в программе.
Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.