Список форумов neuroproject.ru neuroproject.ru
Форум сайта компании НейроПроект
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Организация нейросетей под реальные задачи

 
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов neuroproject.ru -> Нейронные сети
Предыдущая тема :: Следующая тема  
Автор Сообщение
Spin
Гость





СообщениеДобавлено: Чт Июн 23, 2005 1:16 am    Заголовок сообщения: Организация нейросетей под реальные задачи Ответить с цитатой

Практически все доступные материалы, связанные с нейросетями описывают либо общую теорию, либо достаточно простые (в плане проекции теории на практику) способы применения. В том числе ваш учебник при описании применения нейросетей для предсказания результатов финансовых показателей рассматривает в качестве данных одномерный исторический массив. Реально могут учитываться несколько разнородных параметров - что угодно, хоть фазы луны. При этом совершенно неочевидно как нейронные сети работают с группами данных. Здравый смысл подсказывает, что признак группы должен существенно способствовать повышению эффективности работы с сетью, но как это реализуется практически? Аналогичная ситуация с итоговыми данными: если нужен в результате массив, то каким образом задается последовательность элементов?
Наверняка ваш опыт решения реальных задач позволяет осветить данный круг вопросов. Я (уверен и многие другие) буду весьма признателен за возможность познакомиться с такой информацией.
Если данная тема в действительности где-то уже освещена - буду признателен за ссылки.
Заранее спасибо Smile
Вернуться к началу
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Чт Июн 23, 2005 3:14 pm    Заголовок сообщения: Организация нейросетей под реальные задачи Ответить с цитатой

Цитата:
Практически все доступные материалы, связанные с нейросетями описывают либо общую теорию, либо достаточно простые (в плане проекции теории на практику) способы применения

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

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

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

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

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

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

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

Цитата:
Аналогичная ситуация с итоговыми данными: если нужен в результате массив, то каким образом задается последовательность элементов?

Не уверен, что правильно понял вопрос. Sad Что вы имеете в виду?

Цитата:
Если данная тема в действительности где-то уже освещена - буду признателен за ссылки.

А что именно интересует? Если сам механизм учета разных параметров при нейросетевом анализе, то можно взять практически любую статью, или книгу по нейронным сетям. Да того же Ежова-Шумского "Нейрокомпьютинг ..." у наc на сайте, там таких примеров предостаточно.
Если конкретные применения на финансовых рынках, то можно в google набрать "neural networks financial markets". Вот интересная ссылка оттуда.
Можно еще здесь посмотреть (Portal on
forecasting with artificial neural networks).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Гость






СообщениеДобавлено: Пт Июн 24, 2005 2:42 am    Заголовок сообщения: Re: Организация нейросетей под реальные задачи Ответить с цитатой

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


Меня как раз, прежде всего, интересовал данный технический аспект (формализация бизнес-задачи и создание примеров - отдельный интересный вопрос, но лучше не смешивать темы). В чем я вижу проблему: как правило, для обучения сети нам нужны ряды данных, например времянные. Причем, я так понимаю, на каждый вход постоянно (при предъявлении каждого примера или теста) подается значение, соответсвующее определенному (одному и тому же для каждого примера) номеру элемента в ряду. Т.е. на 1-й вход - значение первого дня в рассматриваемом ряду, на 2-й - второго дня и т.д. Если же мы имеем хотя бы 2 входных параметра и используем последовательности значений 3-х дней первого параметра и, например, значения 5-ти дней второго, то очевидно, нейронной сети придется обучиться в том числе тому, что с 4-го входного элемента начинается другая последовательность. Наверняка такой подход работает, но здравый смысл подсказывает, что при этом потребуется более сложная сеть и большее количество примеров для обучения по сравнению с ситуацией, где можно было бы предопределить принадлежность первых трех значений одной группе, а 5-ти следующих - другой (или я ошибаюсь в этом предположении?). Но мне неясно, как это можно сделать на плоском массиве входов нейронной сети.

Цитата:
Аналогичная ситуация с итоговыми данными: если нужен в результате массив, то каким образом задается последовательность элементов?
Не уверен, что правильно понял вопрос. Sad Что вы имеете в виду?


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

Цитата:
Если данная тема в действительности где-то уже освещена - буду признателен за ссылки.
А что именно интересует?


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

Спасибо за приведенные ссылки, буду изучать, но, если это соответсвует политике форума был бы признателен за возможность ставить отдельные вопросы в форуме - даже если информация есть в публикациях, часто она либо разрозненна, либо сформулирована недружелюбно читателю, либо требует длительного поиска... да и зачастую просто приятнее у живого человека совет спросить Smile
Вернуться к началу
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Пт Июн 24, 2005 2:46 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Если же мы имеем хотя бы 2 входных параметра и используем последовательности значений 3-х дней первого параметра и, например, значения 5-ти дней второго, то очевидно, нейронной сети придется обучиться в том числе тому, что с 4-го входного элемента начинается другая последовательность. Наверняка такой подход работает, но здравый смысл подсказывает, что при этом потребуется более сложная сеть и большее количество примеров для обучения по сравнению с ситуацией, где можно было бы предопределить принадлежность первых трех значений одной группе, а 5-ти следующих - другой (или я ошибаюсь в этом предположении?). Но мне неясно, как это можно сделать на плоском массиве входов нейронной сети.

Это обычно делается следующим образом. Пусть у нас есть две разные входные переменные (два разных временных ряда)
X(t)=x1, x2, x3, ..., xn
Y(t)=y1, y2, y3, ..., yn
Выходной ряд обозначим за Z(t)=z1, z2, z3, ...zn
Пусть для прогнозирования Z надо использовать три последних значения X и пять последних Y. Тогда паттерны для обучения и применения задаются так (паттерны идут в строках):

При этом на первые три входа всегда подаются значения переменных одной группы (X), а на входы 4,5,6,7,8 - значения переменных группы Y.
Это совершенно естесственный подход - сеть оперирует числами и ей все равно какую природу они имееют.

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

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

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

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

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

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

Есть еще вариант иерархической нейроклассификации

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

Цитата:
Очень интересуют применения в области работы с текстами.

Интересует распознавание текста, или семантический анализ?
Цитата:
если это соответсвует политике форума был бы признателен за возможность ставить отдельные вопросы в форуме - даже если информация есть в публикациях, часто она либо разрозненна, либо сформулирована недружелюбно читателю, либо требует длительного поиска

Конечно задавайте. Для этого форум и нужен Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Spin
Новый посетитель
Новый посетитель


Зарегистрирован: 24 Июн 2005
Сообщения: 15

СообщениеДобавлено: Сб Июн 25, 2005 1:02 am    Заголовок сообщения: Ответить с цитатой

Большое спасибо за объяснение - именно эти аспекты меня и интересовали.
Также спасибо за отличную подборку ссылок с аннотациями.

Oleg Agapkin писал(а):

Цитата:
Очень интересуют применения в области работы с текстами.

Интересует распознавание текста, или семантический анализ?


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


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Пн Июн 27, 2005 2:51 pm    Заголовок сообщения: семантический анализ Ответить с цитатой

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


Зарегистрирован: 24 Июн 2005
Сообщения: 15

СообщениеДобавлено: Ср Июн 29, 2005 11:24 pm    Заголовок сообщения: Re: семантический анализ Ответить с цитатой

Oleg Agapkin писал(а):
К сожалению, такими применениями нейронных сетей мы никогда не занимались. Даже не могу сразу сказать, где можно посмотреть информацию.
Лучше обратиться за помощью к профессионалам. На российском рынке я бы назвал НейрОК, они как раз текстовыми применениями занимаются, в том числе и семантическим анализом.


Можно отметить, что продукты Нейрок в целом существенно дороже, чем Neuroproject. Это связано с большей сложностью лингвистических задач или обусловленно другими факторами?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Чт Июн 30, 2005 3:09 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Можно отметить, что продукты Нейрок в целом существенно дороже, чем Neuroproject. Это связано с большей сложностью лингвистических задач или обусловленно другими факторами?

У нас продуктов, специально ориентированных на семантический анализ текстов нет вообще Smile
А на вопрос чем обусловлена стоимость продуктов НейрОК я ответить не могу Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Максим
Новый посетитель
Новый посетитель


Зарегистрирован: 25 Июл 2005
Сообщения: 2

СообщениеДобавлено: Пн Июл 25, 2005 6:38 pm    Заголовок сообщения: Ответить с цитатой

To Spin: http://www.raai.org/library/library.shtml?link - здесь есть (внизу страницы) несколько ссылок на статьи по обработке текстов.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Spin
Новый посетитель
Новый посетитель


Зарегистрирован: 24 Июн 2005
Сообщения: 15

СообщениеДобавлено: Пн Июл 25, 2005 6:50 pm    Заголовок сообщения: Ответить с цитатой

Спасибо, интересная подборка
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Андрей
Новый посетитель
Новый посетитель


Зарегистрирован: 09 Авг 2005
Сообщения: 4

СообщениеДобавлено: Вт Авг 09, 2005 6:49 am    Заголовок сообщения: Ответить с цитатой

>Есть еще вариант иерархической нейроклассификации

Не подскажите кто первым предложил такой подход. Или это фольклер.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Вс Авг 14, 2005 10:06 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
>Есть еще вариант иерархической нейроклассификации

Не подскажите кто первым предложил такой подход. Или это фольклер.

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


Зарегистрирован: 09 Авг 2005
Сообщения: 4

СообщениеДобавлено: Пн Авг 15, 2005 6:18 am    Заголовок сообщения: Ответить с цитатой

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


А есть текст диссертации в электронном виде. Хотелось бы ознакомиться. Получены расчеты доказывающие, что при иерархической обработке сокращаются общие вычислительные затраты на обучение. Этот факт не очевиден, так как вместо одной сети приходится обучать несколько сетей.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Пн Авг 15, 2005 9:49 am    Заголовок сообщения: Ответить с цитатой

Цитата:
Получены расчеты доказывающие, что при иерархической обработке сокращаются общие вычислительные затраты на обучение.

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

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

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


Зарегистрирован: 17 Авг 2005
Сообщения: 1

СообщениеДобавлено: Чт Авг 18, 2005 10:59 am    Заголовок сообщения: Ответить с цитатой

Добрый день!
Вы говорите, что метод погружения временного ряда на реальных задачах прогноза не эффективен, тогда какой является наиболее предпочтительным на Ваш взгляд? Не могли бы прояснить ситуацию – нейросеть хорошо отрабатывает тестовые примеры и оценочное множество, но потом не работает. Почему так происходит?
С уважением,
Игорь
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Oleg Agapkin
Администратор
Администратор


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Чт Авг 18, 2005 2:56 pm    Заголовок сообщения: Ответить с цитатой

Цитата:
Вы говорите, что метод погружения временного ряда на реальных задачах прогноза не эффективен, тогда какой является наиболее предпочтительным на Ваш взгляд?

Методом "погружения" мы вводим в сеть информацию о значениях прогнозируемого временного ряда в предыдущие моменты времени. Если для решения задачи этого достаточно, то этим можно ограничиться. Кстати, даже в таком случае нейросеть чаще всего работает лучше чем ARIMA (один из лучших статистических методов).

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

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

Цитата:
Не могли бы прояснить ситуацию – нейросеть хорошо отрабатывает тестовые примеры и оценочное множество, но потом не работает. Почему так происходит?

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


Зарегистрирован: 19 Окт 2005
Сообщения: 1

СообщениеДобавлено: Ср Окт 19, 2005 11:25 am    Заголовок сообщения: Ответить с цитатой

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

Не очень понял этот момент Rolling Eyes , ведь сеть тренируется так, чтобы воспроизводить входные данные на выходе.
Что имеется в виду под "мусором"?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
siteadmin
НейроПроект
НейроПроект


Зарегистрирован: 10 Июн 2005
Сообщения: 80
Откуда: Москва

СообщениеДобавлено: Ср Окт 19, 2005 2:23 pm    Заголовок сообщения: Ответить с цитатой

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


Зарегистрирован: 10 Июн 2005
Сообщения: 114
Откуда: Москва

СообщениеДобавлено: Вт Дек 06, 2005 5:02 pm    Заголовок сообщения: Ответить с цитатой

Вопросы участников форума Slash и Aleksey вынесены в отдельные темы. Эта тема закрывается.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов neuroproject.ru -> Нейронные сети Часовой пояс: GMT + 4
Страница 1 из 1

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


Rambler's Top100 Rambler's Top100