트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 531

 
도서관 :

R 전문가를 위한 질문입니다.

절대값 이 있는 행렬을 softmax로 클래스 행렬로 변환하는 방법은 무엇입니까?

apply(matr, 1 , function (rowvec) { result <- rep( 0 , length(rowvec)); result[which.max(rowvec)] <- 1 ; result } )

행렬의 차원에 따라 필요에 따라 전치합니다.

 
막심 드미트리예프스키 :

아, 글쎄요, 아직 라이브러리가 없습니다 .. 직접 작성하지 않는다면)


나는 그들에게 편지를 쓰고, 신경망에 대출을 요청하고, 작동한다면 %로 돌려줄 것이라고 생각합니다. :)

글쎄, 그건 그렇고, 그들은 이미 원본에 조금 더 가깝습니다. 최소한 중재자가 추가되었지만 여전히 AI는 아닙니다. 내가 이해하는 한 새로운 시냅스는 자체적으로 형성되지 않고 재건되지 않습니다.

 
막심 드미트리예프스키 :

나는 그들에게 편지를 쓰고, 신경망에 대출을 요청하고, 작동한다면 %로 돌려줄 것이라고 생각합니다. :)

간단한 MLP를 사용하여 솔루션에 변화가 없다면 복잡한 NN에서도 변화가 없을 것이라고 생각합니다. 또한 MLP를 좀 더 복잡한 NN으로 대체하더라도 결과가 어떻게든 좋아질지 확신할 수 없습니다. 다른 도구에는 다른 치료, 문제의 다른 공식이 필요하기 때문입니다.

당분간은 단순 MLP와 고대, BP, 학습 알고리즘에 충실할 것이며 실제 필요가 발생하면 보게 될 것입니다.

 
익명 :

행렬의 차원에 따라 필요에 따라 전치합니다.

우와! 훨씬 짧다! 고맙습니다!

나는 그것을 약간 수정하고 열과 행의 이름이 남도록 이전 행렬에서 복사하여 새 행렬을 만듭니다. 따라서 더 많이 사용해야 하는 경우에 대비하여 더 보편적일 것입니다. 그리고 즉시 행렬을 뒤집습니다. 내가 이해하는 한 apply(x,1,f) 는 항상입니다! 매트릭스를 뒤집기 때문에 행 단위로 데이터를 처리하고 열로 결합합니다.

get_softmax <- function(m){
    t(apply(m, 1, function (row) {r <- row;  r [1:length(row)] <-0 ; r[which.max(row)] <- 1;  r } ))
}

 
유리 아사울렌코 :

간단한 MLP를 사용하여 솔루션에 변화가 없다면 복잡한 NN에서도 변화가 없을 것이라고 생각합니다. 또한 MLP를 좀 더 복잡한 NN으로 대체하더라도 결과가 어떻게든 좋아질지 확신할 수 없습니다. 다른 도구에는 다른 치료, 문제의 다른 공식이 필요하기 때문입니다.

당분간은 단순 MLP와 고대, BP, 학습 알고리즘에 충실할 것이며 실제 필요가 발생하면 보게 될 것입니다.


그래, 내가 스스로 숲을 뒤틀고 돌리는 동안 나는 모든 것이 빨리 계산될 때 그것을 좋아합니다. 당신은 많은 전략을 통과 할 수 있습니다

더 생산적인 아날로그가 있다면 나는 그것을 바꿀 것입니다 .. 예, 90 %는 데이터 마이닝 10 % 모델 선택

 
막심 드미트리예프스키 :

그래, 내가 스스로 숲을 뒤틀고 돌리는 동안 나는 모든 것이 빨리 계산되는 것을 좋아합니다. 당신은 많은 전략을 통과 할 수 있습니다

더 생산적인 아날로그가 있다면 나는 그것을 바꿀 것입니다 .. 예, 90 %는 데이터 마이닝 10 % 모델 선택

성능과 관련하여 훈련된 6계층 MLP(~60개 뉴런)의 반응 시간은 0.005초입니다. 거의 모든 것에 충분합니다.

훈련 시간에 관해서는, 이것은 오랜 시간이기 때문에 전혀 귀찮지 않습니다. 다음 실험마다 생각하는 데 훨씬 더 많은 시간이 소요됩니다. 일주일 또는 그 이상입니다.

글쎄, 그리고 몇 달에 한 번씩 재교육을 한다고 가정해 봅시다. 우리는 며칠을 보낼 것입니다. 문제가 되지 않는다고 생각합니다. 논리에 대한 시스템 재작업은 훨씬 더 오래 걸립니다. 예, 표준 훈련만으로는 효과가 없습니다. 시대 사이에 탬버린과 함께 긴 춤이 필요합니다. 그리고 표준 훈련(댄스 없이))은 우수한 결과를 제공하지만 훈련 세트에서만 가능합니다.)

 

R의 또 다른 문제.

한 컴퓨터에서는 모든 것이 정상이고 다른 컴퓨터에서는 코드의 정확성에 대한 요구 사항이 증가했습니다.

예를 들어

darch.unitFunction = linearUnit - Rterm.exe가 충돌하도록 했습니다.

로 변경

darch.unitFunction = " 선형 단위"

이 지점은 다음 오류까지 전달되기 시작했습니다.

또한 라이브러리(darch)를 require(darch)로 변경해야 했습니다.

이제 훈련 자체가 엉망입니다.

R_NN <- 다크(
darch=NULL,
x = MatrixLearnX ,
y = MatrixLearnY ,
paramsList = 매개변수
)

많은 옵션을 시도했지만 Rterm.exe는 항상 충돌합니다 .

R에 일종의 오류율 제어 기능이 있습니까? 두 번째 PC에서 각 경고에서 중지가 발생할 때 개발을 위한 오류 수준이 있었습니까?

두 컴퓨터 모두에서 R을 기본 설정으로 설정하고 모든 패키지를 설치했습니다.
어떻게 고치는 지?

 

darch 라이브러리가 설치되어 있지 않으면 library(darch)가 오류를 일으키고 코드 실행이 중지되고 require(darch)가 단순히 경고를 일으키고 코드가 계속 작동하지만 라이브러리가 설치되지 않았기 때문에 다음 해당 기능을 호출할 수 없습니다.

할 필요가있다
install.packages("darch", dependencies=TRUE) 라이브러리를 자동으로 설치합니다.

 
유리 아사울렌코 :

성능과 관련하여 훈련된 6계층 MLP(~60개 뉴런)의 반응 시간은 0.005초입니다. 거의 모든 것에 충분합니다.

훈련 시간에 관해서는, 이것은 오랜 시간이기 때문에 전혀 귀찮지 않습니다. 다음 실험마다 생각하는 데 훨씬 더 많은 시간이 소요됩니다. 일주일 또는 그 이상입니다.

글쎄, 그리고 몇 달에 한 번씩 재교육을 한다고 가정해 봅시다. 우리가 며칠을 보낸다고 가정해 봅시다. 문제가 되지 않는다고 생각합니다. 논리에 대한 시스템 재작업은 훨씬 더 오래 걸립니다. 예, 표준 훈련만으로는 효과가 없습니다. 시대 사이에 탬버린과 함께 긴 춤이 필요합니다. 그리고 표준 훈련(댄스 없이))은 우수한 결과를 제공하지만 훈련 세트에서만 가능합니다.)


나는 약간 잘못하고 있습니다. 나는 전략을 검색하기 위해 옵티마이저를 적극적으로 사용합니다. 즉, 기능, TS 블록의 조합, 다른 것이 정렬됩니다. 때로는 약간의 사소한 일이 고려되지 않은 경우도 있기 때문입니다. , 그러나 시스템에서는 충분하지 않았습니다. 그리고 적어도 100개의 옵션을 통과하려면 병약한 학습률이 필요합니다(100개의 옵션은 매우 작음) .. 글쎄, 여기에는 모든 사람이 자신의 접근 방식이 있습니다. 제 것이 더 낫다는 말은 아닙니다. NN 자체가 옵티마이저라고 확실히 말할 수 있지만 여전히 초기 단계에서 선택할 수 있는 하이퍼파라미터가 많이 있습니다.

 
막심 드미트리예프스키 :

나는 약간 잘못하고 있습니다. 나는 전략을 검색하기 위해 옵티마이저를 적극적으로 사용합니다. 즉, 기능, TS 블록의 조합, 다른 것이 정렬됩니다. 때로는 약간의 사소한 일이 고려되지 않은 경우도 있기 때문입니다. , 그러나 시스템에서는 충분하지 않았습니다. 그리고 최소 100가지 옵션을 분류하려면 학습률이 좋지 않아야 합니다(100가지 옵션은 매우 작습니다).. 글쎄, 모든 사람은 자신의 접근 방식을 가지고 있습니다. 제 것이 더 낫다고 말하는 것은 아닙니다. NN 자체가 옵티마이저라고 확실히 말할 수 있지만 여전히 초기 단계에서 선택할 수 있는 하이퍼파라미터가 많이 있습니다.

따라서 곧 광산 전략을 위해 광산 농장을 시작해야 합니다.

사유: