Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 2453

 
Andrey Dik #:

на тесте?... тест - то же самое что производная от функции, может быть одной и той же кривой, касательной в одной и той же точке но к двум разным функциям.


Вы сами то поняли чего сказали?? Набор слов бессмысленный.

 
Vladimir Perervenko #:

О !! Здравствуйте Владимир, что то вас не слышно долго было, очень соскучился по вашым статьям, не писали ничего нового? может на других ресурсах? 

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

mco vs GPareto (Multi-objective optimization)
mco vs GPareto (Multi-objective optimization)
  • 2021.08.23
  • mr.T
  • stackoverflow.com
I am not an expert in this field, I just wanted to compare two search algorithms. ness function is simple, find two minima in vector I almost always get a bad solution from the GPareto algorithm. I understand that these are different algorithms, but Question is Is this normal? it should be?, or am I doing something wrong? I am...
 
Vladimir Perervenko #:

Вы сами то поняли чего сказали?? Набор слов бессмысленный.

не знаете, что такое "производная"? сочувствую....

 
Andrey Dik #:не знаете, что такое "производная"? сочувствую....

лучше себе посочувствуй, с такими то дедуктывными способностями...

 
mytarmailS #:

О !! Здравствуйте Владимир, что то вас не слышно долго было, очень соскучился по вашим статьям, не писали ничего нового? может на других ресурсах? 

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

Приветствую. Статьи с использованием R на сайте табу. Поэтому не будет.

По Вашему вопросу Вы здесь хотите ответ получить или на Стоке? Там много ошибок и одна из них принципиальная.

 
Vladimir Perervenko #:

1) Приветствую. Статьи с использованием R на сайте табу. Поэтому не будет.

2) По Вашему вопросу Вы здесь хотите ответ получить или на Стоке? Там много ошибок и одна из них принципиальная.

1) Очень жаль

2) Где вам удобней, интересно узнать обо всех моих ошибках, и принципиальных и не очень..

P.S. То что я применил непрерывную опримизацю к задаче для дискретной оптимизации я знаю.


=====

Появился относительно новый покет по связке с мт5   , не пробовали?

https://github.com/Kinzel/mt5R

GitHub - Kinzel/mt5R: Easy integration between R and MT5 using socket connection, tailored to fit Machine Learning users and traders needs
GitHub - Kinzel/mt5R: Easy integration between R and MT5 using socket connection, tailored to fit Machine Learning users and traders needs
  • github.com
Easy integration between R and MT5 using socket connection, tailored to fit Machine Learning users and traders needs - GitHub - Kinzel/mt5R: Easy integration between R and MT5 using socket connecti...
 
mytarmailS #:

1) Очень жаль

2) Где вам удобней, интересно узнать обо всех моих ошибках, и принципиальных и не очень..

P.S. То что я применил непрерывную опримизацю к задаче для дискретной оптимизации я знаю.


=====

Появился относительно новый покет по связке с мт5   , не пробовали?

https://github.com/Kinzel/mt5R

1. Для пятерки это не актуально. Все работает с штатной библиотекой MetaTrader5(Py). А вот для МТ4 - может быть.

2. Принципиальная ошибка. Оба пакета (mco и Gpareto) предназначены для мультиобъективной и мультикритериальной оптимизации функций. т.е найти оптимальные параметры нескольких функций которые дают им минимальный результат. Делают они это разными методами. 

Вы же пытаетесь используя одну функцию получить Парето фронт. Вот переписанный Ваш пример(кстати не лучший выбор функций с использованием вероятностей)

set.seed(4023)
mins <- function(x, n = 1L) cumsum(rnorm(n, 0, x))
mins1 <- function(x, n = 1L)cumsum(rnorm(n,0, x*0.5))

up <-  rep(5,2)
dw <- rep(1,2)

Две функции с разными параметрами sd и верхняя и нижняя граница. Объективная функция ниже

#--------------------------------------------
fit <- function(x){
    y1 <- mins(x[1])# cumsum(rnorm(1, 0, x[1]))
    y2 <- mins1(x[2])  #   cumsum(rnorm(1,0, x[2]*0.5))
    #y <- cbind(y1, y2)
    return( c(y1, y2) )}

Fn <- fit(c(4,4))
> Fn
[1] 0.4244075 3.5528975

Ну и собственно оптимизация

library(mco)

OPT1 <- nsga2(fn = fit,idim = 2,odim = 2,
                   lower.bounds = dw,
                   upper.bounds = up,
                   popsize = 100)
res_OPT1 <- c(floor(tail(OPT1$par,1)))
> res_OPT1
[1] 4 4

Оптимальные параметры для этих функций с(4, 4). Визуализация ParetoFront + ParetoSet

plot(OPT1)

Pareto_front_Set_mco

Синие точки - это ParetoFront, т.е множество объективных значений функции. А красные точки - ParetoSet, т.е. значение параметров дающие минимальное значение функций. Можно посмотреть эти значения

> paretoFront(OPT1)
            [,1]      [,2]
 [1,] -18.768766 -0.919960
 [2,] -16.563714 -4.075318
 [3,] -11.689811 -4.511709
 [4,]  -2.924055 -6.256807
 [5,]  -1.801073 -9.175708
 [6,]  -5.438790 -5.876476
 [7,]  -9.924184 -5.006235
 [8,]  -9.150563 -5.749592
 [9,]  -2.565944 -8.321299
[10,]  -5.653256 -5.808398

> paretoSet(OPT1)
          [,1]     [,2]
 [1,] 4.651688 4.830462
 [2,] 4.812924 4.374282
 [3,] 4.692132 4.589676
 [4,] 4.998786 4.715230
 [5,] 4.960933 4.696511
 [6,] 4.973955 4.245543
 [7,] 4.708673 4.946008
 [8,] 4.630083 4.242298
 [9,] 3.913589 4.553322
[10,] 4.655140 4.648080

После округления получаем оптимально значение с(4,4). Вариант с Gpareto в следующем посте

 
Vladimir Perervenko #:

1. Для пятерки это не актуально. Все работает с штатной библиотекой MetaTrader5(Py). А вот для МТ4 - может быть.

Он как раз для пятерки, это новый пакет , само название mt5R

Vladimir Perervenko #:

2. Принципиальная ошибка. Оба пакета (mco и Gpareto) предназначены для мультиобъективной 

Да, я понимаю, мне как раз и нужна была мультиобективная оптимизация 

Vladimir Perervenko #:

Вы же пытаетесь используя одну функцию получить Парето фронт. Вот переписанный Ваш пример(кстати не лучший выбор функций с использованием вероятностей)

Моя простая фитнес функция просто ищет в векторе индекс точки которая являеться минимумом с точки зрения алгоритма.

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

Я думал что нету разницы искать два минимума в одном векторе или по одному минимуму в двух векрах

Моя простая фитнес - это не модель какой то моей проблемы, я просто хотел сделать максимально простое и наглядное сравнение работы алгоритмов для себя

Vladimir Perervenko #:

Оптимальные параметры для этих функций с(4, 4). Визуализация ParetoFront + ParetoSet

А что делает ваша фитнес функция??  код вроди понятный , все знаю но что то понять не могу сути)

 
mytarmailS #:

Он как раз для пятерки, это новый пакет , само название mt5R

Да, я понимаю, мне как раз и нужна была мультиобективная оптимизация 

Моя простая фитнес функция просто ищет в векторе индекс точки которая являеться минимумом с точки зрения алгоритма.

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

Я думал что нету разницы искать два минимума в одном векторе или по одному минимуму в двух векрах

Моя простая фитнес - это не модель какой то моей проблемы, я просто хотел сделать максимально простое и наглядное сравнение работы алгоритмов для себя

А что делает ваша фитнес функция??  код вроди понятный , все знаю но что то понять не могу сути)

Это Ваш пример и Ваша фитнес функция. Для поиска экстремумов в векторах существуют море других методов. Вы сформулируйте понятно для себя задачу. Тогда и решение придет. 

Я просто показал, что этими пакетами Ваша задача не решается.

Удачи

 
Vladimir Perervenko #:

Это Ваш пример и Ваша фитнес функция. Для поиска экстремумов в векторах существуют море других методов. Вы сформулируйте понятно для себя задачу. Тогда и решение придет. 

Я просто показал, что этими пакетами Ваша задача не решается.

Удачи

Задача сравнить два вида многокритериальной оптимизации , быстро, просто и наглядно...

Понятно что можно найти екстремум другими способами, например вызвать функцию min() для вектора, но разговор же не об этом

Я подумал что найти екстремум функции  (найти минимум в векторе) это само то, если честно до сих пор думаю что мы где то не допоняли друг доуга..

============

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

set.seed(123)
x <- cumsum(rnorm(100))

fit <- function(i)  x[ floor(i) ] /-1  # (/-1) потому что GA максимизирует
library(GA)
GA <- ga(type = "real-valued", 
         fitness =  fit,
         lower = 1, upper = length(x) , 
         popSize = 50, maxiter = 100)
id <- c(floor(tail(GA@solution,1)))

plot(x,t="l")
points(id,x[id],col=2,lwd=5)


==============================

Что мешает сделать то же самое для многокритериальной оптимизации, просто ищем не одну точку, а несколько

К тому же "mco" (генетика) не плохо с этим справлялась, а вот "GPareto" (гаусовская оптим.)  что то вообще "не алло", хотя по идее она вроди как самая интелектульная что ли..

Причина обращения: