Практика нейронных сетей. Урок 23. Исследования данных. Биржевые котировки. |
![]() |
![]() |
Автор megabax | |||||
05.07.2025 г. | |||||
Практика нейронных сетей. Урок 23. Исследования данных. Биржевые котировки. Чтобы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья и исходники находятся здесь. На прошлом уроке я рассказал о лабораторной работе по нейросетям. Нейросеть, описанная там, обучается методом генетического алгоритма. В цикле уроков Генетический алгоритм будут продолжаться некоторые уроки, связанные с улучшение самого генетического алгоритма. А в данном цикле (Практика нейронных сетей) я буду рассказывать о некоторых экспериментах с нейростеями. И начну пожалуй, с задачи проведения исследования над данными. Для начала мы выберем тему исследования. Выбирать будет исходя из того, чтобы это исследование было интересным, полезным, и мы легко могли получить достаточное количество исходных данных. Затем мы соберем данные, подготовим их, обработаем, получим обучающую выборку. Выборка должна быть репрезентативной и непротиворечивой. Мы сделаем соответствующую проверку. Затем разделим выборку на две части, на одной части обучим нейросеть, на другой части будем тестировать ее. По результатам тестирования либо внесем в алгоритм корректировки и повторим данные шаги, либо перейдем к апробации нашей нейронной сети. Вот какие есть идеи:
В общем, можно попробовать все задачи, выполняя их в указанном порядке. Поэтому начнем с того, что напишем программу, которая соберет скачанные из Интернета биржевые котировки, пронормирует их и создаст обучающую выборку. Собственно, для работы с котировками у нас уже есть библиотека StockLibrary, ничего писать не надо, осталось только закодировать собор данных, их нормирование и создание выборки. Для начала создадим простейший шаблон будущей программы, класс Core: ... ... Как видим, данная функция вычисляет максимальное и минимальное изменение за указанное количество свечей. А потом, используя этот диапазон нормируемое значение преобразует к интервалу 0..1. Нам надо интервал от -1..1. Не страшно, умножим потом на 2 и вычтем 1. поехали дальше, вносим изменения в класс Core, добавим к нему поля selection и form, а также иные вспомогательные поля:
Изменяем конструктор:
Ну, а теперь, собственно, метод для создания выборки: ... ... Осталось доработать конструктор формы, так как теперь конструктор Core у нс имеет параметр, а в конструкторе формы мы его вылизываем. но это не трудно:
Ну и добавляем новый пункт меню "Сформировать выборку", вот его обработчик:
Проверяем: Что будем делать дальше? А дальше проверим выборку на непротиворечивость. Одинаковые (или очень близкие) входные вектора не должны давать разные (сильно отличающиеся выходы). Как это проверить? Напишем специальную программу, которая проанализирует обучающую выборку. но этим мы займемся на следующем уроке. Используемая литература 1. Шуравин А. П. Исследование обучаемости нейронной сети на примере предсказания числовых рядов // Научные достижения и открытия 2017: сборник статей III Международного научно-практического конкурса. Пенза: Наука и Просвещение, 2017. С. 31-36. (https://elibrary.ru/item.asp?id=30050179) |
|||||
Последнее обновление ( 05.07.2025 г. ) |
« След. | Пред. » |
---|