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

 
Maxim Dmitrievsky:

Это не гордыня, нормальное желание поделиться впечатлениями, здесь нет завистников, не тот уровень сознания уже :) Так что пишите исчо

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

Первый запуск. Днем еще не запускал.

 
Yuriy Asaulenko:

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

Первый запуск. Днем еще не запускал.

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

Это для нейронок - романтика и соответственно профит.

Дождемся движухи, оценим результат торговли и скорее всего только тогда можно поставить точку с выводом - получилось или нет.

 
Renat Akhtyamov:

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

Это для нейронок - романтика и соответственно профит.

Дождемся движухи, оценим результат торговли и скорее всего только тогда можно поставить точку с выводом - получилось или нет.

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

Вопрос к знатокам  R.

Как матрицу с абсолютными значениями преобразовать в матрицу классов по софтмакс?

Т.е. из

0.1136889 0.7622813 0.1190166
0.1131552 0.7641207 0.1194619
0.1142053 0.7635344 0.1197848

получить

0 1 0
0 1 0
0 1 0

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

Вот такую функцию наваял, если ошибся - поправьте


get_softmax <- function(m){
    r <- nrow(m);
    c <- ncol(m);
    rc <- r*c;
    mc <- max.col(m, "first"); #номера столбцов с макс. значением
    m[(1:rc)] <- 0; # обнулить матрицу
    m[(1:r) + r*(mc[1:r]-1)] <- 1; # 1 в столбец с макс. значением
    return(m);
}

 
elibrarius:

Вопрос к знатокам  R.

Как матрицу с абсолютными значениями преобразовать в матрицу классов по софтмакс?

Т.е. из

0.1136889 0.7622813 0.1190166
0.1131552 0.7641207 0.1194619
0.1142053 0.7635344 0.1197848

получить

0 1 0
0 1 0
0 1 0

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

Вот такую функцию наваял, если ошибся - поправьте


get_softmax <- function(m){
    r <- nrow(m);
    c <- ncol(m);
    rc <- r*c;
    mc <- max.col(m, "first"); #номера столбцов с макс. значением
    m[(1:rc)] <- 0; # обнулить матрицу
    m[(1:r) + r*(mc[1:r]-1)] <- 1; # 1 в столбец с макс. значением
    return(m);
}


Вроде бы так:

b <- ifelse(a< 0.5, 0, 1) 

где "а" - это матрица любой размерности.

Вообще, Ваш код с циклами не для векторных (матричных) языков, коим является R

 
СанСаныч Фоменко:

Вроде бы так:

где "а" - это матрица любой размерности.

Вообще, Ваш код с циклами не для векторных (матричных) языков, коим является R

Для нескольких классов пойдет?
Вариантс 3 классами

0.3 0.4 0.3

он не правильно рассчитает.
Если по софтмаксу то средний столбец должен быть 1, по вашей формуле все столбцы = 0

 
elibrarius:

Для нескольких классов пойдет?
Вариантс 3 классами

0.3 0.4 0.3

он не правильно рассчитает.
Если по софтмаксу то средний столбец должен быть 1, по вашей формуле все столбцы = 0

ifelse как видно из синтаксиса дает два класса. На большее число классов я делил несколькими ifelse
 
СанСаныч Фоменко:
ifelse как видно из синтаксиса дает два класса. На большее число классов я делил несколькими ifelse

это ж для 3 классов свою ф-ю надо, для 4 - другую, для 10 - третью.
Хорошо бы универсальный инструмент иметь.
Так же надо бы сравнивать не с какой то величиной (0.5 у вас) а друг с другом в поиске максимального. При 10 классах максимальное значение может быть всего лишь  0.11. С другой стороны при 10 классах может быть несколько столбцов  >0.11. Какой из них будет максимальным, - такая формула не скажет.  Надо между собой сравнивать.

 

Допустим, у нас есть более-менее стационарный ВР и есть его частотная декомпозиция. Вопрос: что лучше для модели - 1 признак или 5, и почему?


 
elibrarius:

это ж для 3 классов свою ф-ю надо, для 4 - другую, для 10 - третью.
Хорошо бы универсальный инструмент иметь.
Так же надо бы сравнивать не с какой то величиной (0.5 у вас) а друг с другом в поиске максимального. При 10 классах максимальное значение может быть всего лишь  0.11. С другой стороны при 10 классах может быть несколько столбцов  >0.11. Какой из них будет максимальным, - такая формула не скажет.  Надо между собой сравнивать.

0.5 - это у меня заранее известная граница классов. 

Если не известны ни границы классов, ни их количество, то имеются другие алгоритмы - обучение без учителя. Очень известен - группировка по ближайшим соседям.

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