Поиск произвольного паттерна с помощью нейросети - страница 3

 
Dmitry Fedoseev:

А как вы думает, есть ли разница между "человек описывает" и "нейросеть считает"?

Нейросеть обучают на примерах, не вдаваясь в подробности зависимостей. 

Вот именно. Сначала надо подготовить для нее 100500 примеров различных "голова-плечи" и на этих примерах ее учить.

А вообще, ценовые паттерны вполне себе математикой описываются, НС для этого не нужна. А вот попытка найти признаки ложного паттерна как раз и есть задача для НС.

 
Dmitry Fedoseev:

А как вы думает, есть ли разница между "человек описывает" и "нейросеть считает"?

Нейросеть обучают на примерах, не вдаваясь в подробности зависимостей. 

Дмитрий, объясните пожалуйста подробней ваш ответ, да не вдаются в подробность зависимостей, но именно математика лежит в основе, считаю(имхо) что и в основе человеческих действий также лежит математика, сама он более сложна но тоже 1+1=2

 
Aleksey Vakhrushev:

он более сложна но тоже 1+1=2

для НС 1+1 = 2 , но с заданной точностью

для некоторых типов НС не каждый результат обучения будет один в один сходиться с предыдущим обучением, но они (результаты) будут равны с точностью равной ошибке обучения

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

 
Aleksey Vakhrushev:

Дмитрий, объясните пожалуйста подробней ваш ответ, да не вдаются в подробность зависимостей, но именно математика лежит в основе, считаю(имхо) что и в основе человеческих действий также лежит математика, сама он более сложна но тоже 1+1=2

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

 
Dmitry Fedoseev:

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

Это Вы сейчас описали обучение с учителем. Когда есть возможность собрать исторические данные и попросить сеть найти тот самый математический закон (модель) которая бы максимально точно его описывала. Но бывает так что исторических данных нет как таковых, а есть куча патернов которые нужно разложить по полочкам, рассортировать так сказать. Всё это делается естественно разными сетями. То есть проектируется многоуровневая система ИИ в которой одна сеть раскладывает по полочкам патерны, другая определяет их истинность. Вопрос: Зачем нам первая НС, если мы математически БЕЗ НС можем раскидать их по полочкам? Куда интерессней ответ на другой вопрос об истинности сформированного патерна.

Хотите дам ключевой совет!!!!!!?????? По глазам вижу что хотите:-) Ладно приведу его на примере.

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

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

1. Пишем базовый индикатор который определяет патерны формируя сигналы на проведения анализа.

2. Определяем набор входных данных

3. Определяемся с внутренней структурой НС, методы обучения, методы анализа ошибки и т.д.

4. В базовом индикаторе делаем буфер выходной переменной. Помним что результат самого свежего патерна нам не известен. Буфер нужно сделать так чтобы к патернам были приписаны их будущие значения. При сохранении обучающего файла мы будем знать результаты ВСЕХ патернов кроме последнего.

5. Вырабатываем методику проверки полученных моделей на наличие обобщающей способности.

Делов то......

 

И еще один интересный момент пришёл на ум глядя на название ветки.

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

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

При данном подходе мы не будем знать что это за патерн и какие его параметры. Обратите внимание что я ограничился 5 барами на входе, если это число плавающее, когда при обучении идёт ещё и подстройка входного окна,тогда количество результатов оптимизации возрастает в разы и количество патернов становится количеством сохранённых данных, когда каждая запись настолько уникальна что из 1000 записей мы имеем 1000 кластеров. ИМХО!

Считаю что подход имеет место быть, хоть и сопряжён с определёнными ограничениями. Во всяком случае он не нарушает никаких  критических правил, такие как подглядывание и т.д.

 
Хоть с учителем, хоть без учителя - вид разных сторон на одно и тоже. Должна быть известна ситуация и ее исход, если такого нет, то ничего ничему не научишь. И божий дар с яичницей не надо - то есть обучение и классификацию.  
 
Dmitry Fedoseev:
Хоть с учителем, хоть без учителя - вид разных сторон на одно и тоже. Должна быть известна ситуация и ее исход, если такого нет, то ничего ничему не научишь. И божий дар с яичницей не надо - то есть обучение и классификацию.  

При обучении без учителя как правило результат не известен, как же в этом случае?

 

Mihail Marchukajtes:

Михаил, нейросеть чуток иначе работает. Не умеет так, как Вам хочется. 

 
Mihail Marchukajtes:

При обучении без учителя как правило результат не известен, как же в этом случае?

Только классификация. Сеть научается различать ситуации (образы), но что в каком случае делать она не может знать или как назвать какой образ.