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

 
그리고리 쇼닌 :

뉴런의 활성화 기능에 대해 읽어보세요. 원하는 값을 출력할 수 있지만 잘못된 활성화 함수는 음수 값을 생성합니다. 일반적으로 이것은 쌍곡선 탄젠트입니다. softmax 손실 기능은 제대로 작동하지 않습니다. 많은 것이 라이브러리와 손실 함수의 구현에 의존하지만. 예를 들어, Tensorflow에서 softmax 손실 함수의 출력 뉴런에는 활성화 함수가 없어야 합니다. 그리고 훈련된 네트워크를 올바르게 사용하려면 softmax 활성화를 추가해야 합니다. 나는 ALGLIB와 함께 일하지 않았습니다. 아마도 그들이 뭔가 잘못했을 것입니다. 어떤 경우든 훈련된 softmax 네트워크는 음수 값을 생성하지 않아야 합니다.

Softmax는 손실 함수가 아닙니다. 당신은 뭔가를 혼동하고 있습니다. Softmach - 분류 문제에 대한 출력 계층의 활성화 함수. 사람을 혼동하지 마십시오. 그는 혼란스러워 할 것입니다.

Alglib을 사용하는 데 따른 위험은 본인이 감수해야 합니다. Rstudio에서 모든 작업을 수행하십시오.

행운을 빕니다

 
박사 상인 :

이것은 훈련 예제에서 해당 클래스 중 하나가 다른 클래스에 비해 수적으로 크게 우세한 경우에 발생합니다. 예를 들어, 2000개의 교육 예제가 매수이고 1000개가 매도입니다. Neuronka는 항상 "매수"를 발행할 수 있으며 66%의 경우에 맞을 것입니다. 각 클래스의 학습 예제의 수는 동일하게 하는 것이 좋습니다.

클래스 NA - 빈번한 거래의 경우 50%에서 희귀의 경우 99%까지 우선합니다. 그런데 저는 3급인데 국회가 1급으로 바뀌었습니다.

기사에서 수행할 필요가 없는 순간에 대한 교육 예제가 사용되지 않는 이유가 궁금합니다. 결국 적절한 순간에 아무것도 하지 않는 것도 중요합니다. 일반적으로 이러한 순간은 거래가 손실로 이어질 때 발생합니다.
일시 중지하는 방법을 배우지 않고 국회는 거래를 시작하고 보증금을 배출할 수 있습니다.

 
블라디미르 페레르벤코 :

Softmax는 손실 함수가 아닙니다. 당신은 뭔가를 혼동하고 있습니다. Softmach - 분류 문제에 대한 출력 계층의 활성화 함수. 사람을 혼동하지 마십시오. 그는 혼란스러워 할 것입니다.

Alglib을 사용하는 데 따른 위험은 사용자가 감수해야 합니다. Rstudio에서 모든 작업을 수행하십시오.

행운을 빕니다


정확히는 손실 함수를 softmax crossentropy라고 합니다. 네, 제 자신을 명확하게 표현하지 않았습니다.

 
블라디미르 페레르벤코 :

Softmax는 손실 함수가 아닙니다. 당신은 뭔가를 혼동하고 있습니다. Softmach - 분류 문제에 대한 출력 계층의 활성화 함수. 사람을 혼동하지 마십시오. 그는 혼란스러워 할 것입니다.

Alglib을 사용하는 것은 귀하의 책임입니다. Rstudio에서 모든 작업을 수행하십시오.

행운을 빕니다

아마도 다음 기사(터미널과의 연결이 있는 곳) 후에 유추하여 R과의 연결을 나 자신에게 첨부할 것입니다.
 

그건 그렇고, 흥미로운 것은 위의 예에서

구매 판매 NA
0.10302356, 0.01091621, 0.88606040
0.09705416, 0.01083526, 0.89211080
0.08283979, 0.12548789, 0.79167247
1.02522414 ,-0.00119697,-0.02403573
0.09498582, 0.01529507, 0.88971917
1.01878489 ,-0.00111341,-0.01767998
0.07906346, 0.05960769, 0.86132762
0.00201949, 0.00497863, 0.99300189

각 줄의 합은 1입니다. (상위 4개 확인됨). 저것들. 합(즉, 확률)도 = 1일 때 softmax와의 일부 유추. 그러나 이것은 선형 출력을 사용한 회귀 - NN에 의해 수행되었습니다.

 
도서관 :

클래스 NA - 빈번한 거래의 경우 50%에서 희귀의 경우 99%까지 우선합니다.

교사 수업을 생성 하기 위한 일종의 지표를 취한 다음 일부 값을 NA로 바꾸는 등 무작위로 교사에게 수업을 분배하는 것은 매우 위험합니다.

훈련을 위한 좋은 예측 변수와 좋은 클래스가 있고 모델이 새 데이터에 대해 좋은 결과를 유지하더라도 클래스 값을 조정하려는 모든 시도는 모델을 완전히 깨뜨릴 수 있습니다. 예측 변수에 대한 지표와 새로운 데이터에서 모델의 수익성을 유지하는 클래스에 대한 지표를 찾는 것은 큰 성공입니다.

다음 막대의 색상(예: 매수/매도)의 두 가지 간단한 클래스로 시작하는 것이 좋습니다. 최소 10,000개의 훈련 예제(히스토리 막대)를 사용하여 모델을 훈련하고 히스토리의 다음 10,000개 막대(훈련 중에 모델에 알려지지 않은)에 대한 결과를 평가합니다. 모델의 정확도가 이전 데이터와 새 데이터 모두에서 거의 동일하게 유지되는 예측 변수를 선택할 수 있는 경우 교사 클래스에 대한 일종의 지표를 선택할 수 있습니다. 그리고 사용 가능한 첫 번째 지표를 취하는 것만으로는 모델이 더 이상 새 데이터에 대한 정확도를 유지하지 않는다는 것이 밝혀졌습니다. 일부 지표는 교사에게 도움이 될 수 있고 일부는 그렇지 않은 이유는 무엇입니까? 이것은 일종의 행운과 신비주의입니다.

 
도서관 :

SOFTMAX 버전의 NS가 있는 ALGLIB에 문제가 있습니다. 모든 답변은 첫 번째 출구로 치우쳤습니다(구매했습니다).
동일한 데이터에서 NN - 3개의 출력이 있는 회귀 (선형 활성화 포함)는 더 안정적인 결과를 제공합니다.

구매 판매 NA
0.10302356, 0.01091621, 0.88606040
0.09705416, 0.01083526, 0.89211080
0.08283979, 0.12548789, 0.79167247
1.02522414 ,-0.00119697,-0.02403573
0.09498582, 0.01529507, 0.88971917
1.01878489 ,-0.00111341,-0.01767998
0.07906346, 0.05960769, 0.86132762
0.00201949, 0.00497863, 0.99300189

>0.5 이후는 그럴듯한 답변을 제공합니다.

그런데 숲도 1번 출구로 치우쳐 있습니다.


2 출력의 합을 1로 설정했습니까? 모르겠습니다. 모든 것이 왜곡 없이 원활하게 작동했습니다. 나는 소프트맥스를 좋아했다.

그리고 예, 제가 기억하는 한 softmax의 경우 0에서 1 범위의 입력을 정규화했습니다.

일반적으로 포리스트는 회귀 및 분류에 항상 적합합니다. 매수 또는 매도만을 위해 포기하는 상황이 있지만 교육 샘플을 찾아보니 예, 예시에 압도적인 편향이 있었기 때문에 당연한 일입니다. 샘플에 포함될 내용을 미리 알고 있습니다.) 숲은 외삽할 수 없다는 것을 잊지 마십시오. 미래에 알려진 모든 값을 가르쳐야 합니다.

 

그건 그렇고, 정규화가 필요하지 않은 것 같습니다.

데이터 전처리

수렴 속도와 얻은 솔루션의 품질을 향상시키기 위해 ALGLIB는 데이터 전처리(훈련 세트의 표준화)를 구현합니다. 전처리는 사용자에 대해 암시적으로 수행됩니다. 데이터가 신경망 으로 전송되기 전에 자동으로 전처리되고 네트워크의 결과는 역변환됩니다.

 

여기 구구단에 NS 체크가 있습니다

나는 스캐폴딩 을 위해 똑같이 했다, 모든 것이 잘 작동한다

Библиотеки: ALGLIB - библиотека численного анализа
Библиотеки: ALGLIB - библиотека численного анализа
  • 2012.10.12
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: ALGLIB - библиотека численного анализа
 
막심 드미트리예프스키 :

2 출력의 합을 1로 설정했습니까? 모르겠습니다. 모든 것이 왜곡 없이 원활하게 작동했습니다. 나는 소프트맥스를 좋아했다.

그리고 예, 제가 기억하는 한 softmax의 경우 0에서 1 범위의 입력을 정규화했습니다.

일반적으로 포리스트는 항상 회귀 및 분류에 적합합니다. 매수 또는 매도만을 위해 포기하는 상황이 있지만 교육 샘플을 찾아보니 예, 예시에 압도적인 편향이 있었기 때문에 당연한 일입니다. 샘플에 포함될 내용을 미리 알고 있습니다.) 숲은 외삽할 수 없다는 것을 잊지 마십시오. 앞으로 알려진 모든 값을 가르쳐야 합니다.

나는 3개의 출력의 합이 1이거나 합이 아니라 출력 중 1개만 = 1이고 나머지는 0입니다.
나는 입력을 정규화하지 않았으며 아래에서 이것이 필요하지 않다는 것을 확인했습니다. 구구단을 확인했습니다(그러나 이것은 softmax가 아닙니다).
softmax가 당신을 위해 일했다면, 나는 그것을 다시 비틀려고 노력할 것입니다. 아마도 작동할 것입니다(비록 완전히 동일한 데이터에서 lin. 출력을 사용한 회귀는 제대로 작동합니다).
사유: