Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Искусственный интеллект arrow Практика нейронных сетей (платный раздел) arrow Практика нейронных сетей. Урок 26. Тестируем нейросеть. Биржевые котировки
20.09.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Практика нейронных сетей. Урок 26. Тестируем нейросеть. Биржевые котировки Печать E-mail
Автор megabax   
06.09.2018 г.
unit AIObj

Практика нейронных сетей. Урок 26. Тестируем нейросеть. Биржевые котировки

Исходники к уроку можно скачать здесь.

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

...

...Все содержимое обработчика этой кнопки мы переносим в метод test_nn класса Core с некоторыми доработками. Сам обработчик теперь будет выглядеть вот так:

        private void btnTestNN_Click(object sender, EventArgs e)

        {

            int index = lbSpesies.SelectedIndex;

            if (index == -1) return;

            NeuralNet net = core.ga.population[index];

            core.test_nn(net);

        }

А метод test_nn  вот так: ...

....

... сюда мы как раз добавили добавление в диаграмму, простите за тавтологию.

Наконец, новый пункт меню:

Практика нейронных сетей. Урок 26. Тестируем нейросеть. Биржевые котировки

Вот его обработчик:

        private void tsmiVolatilityDiagramm_Click(object sender, EventArgs e)

        {

            DiagrammForm form=new DiagrammForm();

            VolatilityDiagramm vd=core.volatility_diagramm;

            vd.build(100);

            double total=0;

            for (int i = 0; i < vd.diagramm.Length; i++)

            {

                total+=vd.diagramm[i];

            }

            for (int i = 0; i < vd.diagramm.Length; i++)

            {

                int item = vd.diagramm[i];

                double r = Convert.ToDouble(i) / Convert.ToDouble(vd.diagramm.Length - 1);

                double x = r * (vd.max - vd.min) + vd.min;

                double y = Convert.ToDouble(item)/total*100.0;

                form.chart.Series[0].Points.AddXY(x, y);

            }

            form.Show();

        }

Ну и смотрим саму диаграмму:

Практика нейронных сетей. Урок 26. Тестируем нейросеть. Биржевые котировки

Как видим, в основам волатильность не превышает 2%. Так что ошибка 0.8% от цены довольно большая. Мы можем предположить, что если будет торговать на основе данной нейронной сети, то потерпит убыток. Эту гипотезу мы проверим на следующем уроке.

 

Используемая литература

1.       Шуравин А. П. Исследование обучаемости нейронной сети на примере предсказания числовых рядов // Научные достижения и открытия 2017: сборник статей III Международного научно-практического конкурса. ПензаНаука и Просвещение, 2017. С. 31-36. (https://elibrary.ru/item.asp?id=30050179)


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 06.09.2018 г. )
 
Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше