Поиск набора индикаторов для подачи на входы в нейросеть. Дискуссия. Инструмент оценки результатов. - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Почему ж не видны. Различия видны. Нет ни какого перенасыщения нейронов при верном выборе диапазона поиска. "Вы просто не умеете их готовить."(c) :)
Для разных по сложности задач будут разные по оптимальности инструменты, как Вы правильно заметили (отвертки).
На счёт выбора диапазона очень спорный вопрос. ГА очень долгий, намного дольше чем ОРО - ещё один недостаток.
Интересно узнать у Вас технику подбора диапазона весов, ну или чем Вы руководствуетесь
Для разных по сложности задач будут разные по оптимальности инструменты, как Вы правильно заметили (отвертки).
ГА не для НС-й. Для НС-й есть свои методы обучения(оптимзации). Хотя бы просто потому что не получиться как с ОРО использовать CV.
Правильно, генетический алгоритм не использует ф-цию ошибки для подстройки весов.
На сколько я понимаю, вы могли разметить м5 по максимальному профиту, который может быть на истории и эту разметку используете как фитнес-функцию.
Вот как раз интересует как выглядит функция, по которой вы оцениваете особь.
так :)
Речь идет об ошибке тестовой выборки. Т.е. вы берете следующий месяц после обучающей выборки. Размечаете ее, в соответствии с вашим алгоритмом. Подаете выходы на обученную сеть. Сравниваете результат. Вот как раз график этих ошибок и интересует.
График ошибок обучающей выборки можно получить также и при этом оценивать как учиться ваша сеть (или идет развитие поколений в ген. алгоритме)
При обучении я учу пока увеличивается целевая функция или пока не надоест( по времени). о переобучении забочусь косвенно - обучающая выборка много больше чем весов в нейросети. дальше, выгружаю в .mq4 ( здесь, возможно, есть ошибка... тестирую . протестировал. все правильно работает.) и смотрю тестером стратегий МТ4 что получилось.
"Сравниваете результат" - вот эту часть вашей мысли я не понимаю... специально переобучать сеть и сравнивать ее результат с результатом сети, обученной на предыдущих периодах? не вижу смысла.
Покажите результат когда сравните все наборы которые вы подаете на входы :) Думаю, что все будут сильно коррелированными. Все приведенные индикаторы используют для расчета одни и те же исходные данные.
не сравню я все наборы.... перебирать даже 200 наборов входов, на самом деле их больше, долго и мало смысла т.к. можно что-то упустить.
При обучении я учу пока увеличивается целевая функция или пока не надоест( по времени). о переобучении забочусь косвенно - обучающая выборка много больше чем весов в нейросети. дальше, выгружаю в .mq4 ( здесь, возможно, есть ошибка... тестирую ) и смотрю тестером стратегий МТ4 что получилось.
"Сравниваете результат" - вот эту часть вашей мысли я не понимаю... специально переобучать сеть и сравнивать ее результат с результатом сети, обученной на предыдущих периодах? не вижу смысла.
Почему переобучать?! Есть выборка, на которой вы учите сеть. Теперь смоделируйте ее работу, подайте сети выборку с которой она не знакома и сравните результат полученный от работы сети с тем, который ожидался для тестовой выборки.
Почему переобучать?! Есть выборка, на которой вы учите сеть. Теперь смоделируйте ее работу, подайте сети выборку с которой она не знакома и сравните результат полученный от работы сети с тем, который ожидался для тестовой выборки.
для Forex, результат того что вы предлагаете, будет определять прогнозирующие способности обученной сети, а не качество обучения...а прогнозирующие способности сети зависят не только от качества обучения, но еще и от структуры сети, способе интерпретации того что выдает сеть и от информации, которая подается в сеть. как раз, что бы лучше понять что подавать в сеть, я и поднял тему данной ветки форума.
для Forex, результат того что вы предлагаете, будет определять прогнозирующие способности обученной сети, а не качество обучения...а прогнозирующие способности сети зависят не только от качества обучения, но еще и от структуры сети, способе интерпретации того что выдает сеть и от информации, которая подается в сеть. как раз, что бы лучше понять что подавать в сеть, я и поднял тему данной ветки форума.
Кгм ... причем тут прогнозирующие способности? У вас есть сеть, есть ваша сеть с предполагаемой интерпретацией ее ответов.
Исходя из вашего кода, класс Trade() имитирует в том или ином виде процесс торгов. Открытие позиции, удержание, закрытие.
Исходя из этого вы принимаете решение на сколько подходит вам данная особь. Т.е. вы изначально заложили какое-то правило
интерпретации выходов.
не сравню я все наборы.... перебирать даже 200 наборов входов, на самом деле их больше, долго и мало смысла т.к. можно что-то упустить.
Хм ... идея формирования обучающей выборки: (Next price predictor using Neural Network )
ntr - of training sets
lb - lastBar
// Fill in the input arrays with data; in this example nout=1
for(i=ntr-1;i>=0;i--)
{
outTarget[i]=(Open[lb+ntr-1-i]/Open[lb+ntr-i]-1.0);
int fd2=0;
int fd1=1;
for(j=nin-1;j>=0;j--)
{
int fd=fd1+fd2; // use Fibonacci delays: 1,2,3,5,8,13,21,34,55,89,144...
fd2=fd1;
fd1=fd;
inpTrain[i*nin+j]=Open[lb+ntr-i]/Open[lb+ntr-i+fd]-1.0;
}
}
Хм ... идея формирования обучающей выборки: (Next price predictor using Neural Network )
ntr - of training sets
lb - lastBar
// Fill in the input arrays with data; in this example nout=1
for(i=ntr-1;i>=0;i--)
{
outTarget[i]=(Open[lb+ntr-1-i]/Open[lb+ntr-i]-1.0);
int fd2=0;
int fd1=1;
for(j=nin-1;j>=0;j--)
{
int fd=fd1+fd2; // use Fibonacci delays: 1,2,3,5,8,13,21,34,55,89,144...
fd2=fd1;
fd1=fd;
inpTrain[i*nin+j]=Open[lb+ntr-i]/Open[lb+ntr-i+fd]-1.0;
}
}
Спасибо. Посмотрю.
IlyaA писал(а) >>
Общественности требуется увидеть графическую зависимость ошибки обучения от времени (количества эпох).
->
iliarr писал(а) >>
мы, наверное, о разном говорим... я не обучаю с учителем ( в этом способе обучения есть ошибка обучения)... я обучаю на максимум целевой функции и я не знаю какое максимально-возможное значение у целевой функции.
->
rip писал(а) >>
Речь идет об ошибке тестовой выборки. Т.е. вы берете следующий месяц после обучающей выборки. Размечаете ее, в соответствии с вашим алгоритмом. Подаете выходы на обученную сеть. Сравниваете результат. Вот как раз график этих ошибок и интересует.
График ошибок обучающей выборки можно получить также и при этом оценивать как учиться ваша сеть (или идет развитие поколений в ген. алгоритме)
Похоже, rip и IlyaA никак не поймут, что iliarr использует метод обучения без учителя. Про какую ошибку обучения может идти речь, если целевая функция - прибыль? Или Вы оба думаете, что обучив сеть на истории, прогнать на тестовой истории и сравнить полученную прибыль? Прибыль будет другая, меньше или больше, но другая. Тестовая же история другая. Не путайте с аппроксимацией пожалуйста, где критерием качества аппроксимации является среднеквадратичное отклонение исходной функции и полученной.
StatBars писал(а) >>
ОРО при перенасыщении нейрона практически перестаёт его "обучать", в то время как ГА легко может перенасытить нейрон и продолжать дальше увеличивать веса нейрона.
->
StatBars писал(а) >>
На счёт выбора диапазона очень спорный вопрос. ГА очень долгий, намного дольше чем ОРО - ещё один недостаток.
->
StatBars писал(а) >>
ГА не для НС-й. Для НС-й есть свои методы обучения(оптимзации). Хотя бы просто потому что не получиться как с ОРО использовать CV.
Не пойму, почему такая безапелляционность?
Вот несколько ссылок, попавшиеся по поиску, где говорится об обратном:
http://alglib.sources.ru/dataanalysis/neuralnetworks.php
http://network-journal.mpei.ac.ru/cgi-bin/main.pl?l=ru&n=13&pa=10&ar=3
http://masters.donntu.edu.ua/2004/fvti/solomka/library/article2.htm
http://www.neuropro.ru/memo314.shtml
Я не утверждал и не утверждаю, что GA единственно правильное решение оптимизации для всех задач. Оно просто более универсально, чем любое другое решение, а зачастую и быстрее, легко приспособить для решения практически любой задачи. Другой вопрос, правомерный, возникает, какое необходимое минимальное количество запусков фитнес функции для нахождения оптимального решения. Об этом и нужно говорить, а не о скорости работы непосредственно самих алгоритмов оптимизации. И здесь GA даст фору большинству других алгоритмов.
Могу завести отдельную ветку, если интересно кому, в которой можно будет выкладывать занятные тестовые функции для алгоритмов оптимизации, и выкладывать результаты разных алгоритмов. Думаю, будет весьма полезно не только тем, кто занимается NN, но и любому, кто желает получить оптимальный по многим признакам результат своих трудов.
StatBars писал(а) >>
Интересно узнать у Вас технику подбора диапазона весов, ну или чем Вы руководствуетесь
В Maple или Mathca'е смотрю диапазон весов, в котором работает функция активации. Если область определения какой нибудь функции [-1;1], то какой смысл "рыскать" например в таком диапазоне (-100;100) переменных?