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

 
세르게이 찰리셰프 :


네트워크는 rng 값에 이렇게 반응하므로 휴지통에 버리십시오. 정상적인 네트워크는 0을 포함하여 모든 초기 값에 대해 작동하고 학습합니다.


우둔.
 

  • 최적의 DNN 하이퍼파라미터 결정

일반적으로 신경망의 하이퍼파라미터에는 은닉층의 수, 각 은닉층의 뉴런 수, 사용된 활성화, 초기화 및 정규화 함수, 훈련 수준이 포함됩니다. 아래 그림의 하이퍼파라미터 최적화 구조.

최적화 HP

그림 1. 신경망 하이퍼파라미터의 구조 및 최적화 방법

하이퍼파라미터를 최적화하는 세 가지 방법이 있습니다.

  1. 그리드 검색
  2. 유전자 최적화
  3. 베이지안 최적화

첫 번째 경우에는 각 하이퍼파라미터에 대해 여러 고정 값이 있는 벡터가 지정됩니다. 그런 다음, caret::train() 함수 또는 사용자 정의 스크립트를 사용하여 모델은 하이퍼파라미터 값의 모든 조합에 대해 학습됩니다. 그 후, 최고의 분류 품질 지표를 가진 모델이 선택되고 해당 매개변수가 최적으로 받아들여집니다. 이 방법의 단점은 값 그리드를 설정하면 최적값을 놓칠 가능성이 매우 높다는 것입니다.

두 번째 경우에는 유전 알고리즘을 사용하여 최상의 매개변수에 대한 확률적 검색 가능성이 사용됩니다. 이 기사 의 앞부분에서 몇 가지 유전자 최적화 알고리즘을 자세히 살펴보았습니다. 따라서 우리는 반복하지 않을 것입니다.

세 번째 경우에는 베이지안 접근 방식(가우시안 프로세스 및 MSMS)이 사용되며 이 기사에서 테스트할 것입니다. 우리는 rBayesianOptimization 패키지(버전 1.1.0)를 사용할 것입니다. 적용된 방법론에 대해서는 Jasper Snoek, Hugo Larochelle, Ryan P. Adams(2012) Practical Bayesian Optimization of Machine Learning Algorithms를 참조하십시오.

일반적으로 신경망 하이퍼파라미터는 글로벌 및 로컬(노드)의 두 그룹으로 나눌 수 있습니다. 전역적인 것은 은닉층의 수, 각 층의 뉴런 수, 훈련 수준 및 모멘트, 뉴런 가중치의 초기화를 포함한다. 로컬에 - 레이어 유형, 활성화 기능, dropout/dropconect 및 기타 정규화 매개변수.

 

일반적으로 동일한 데이터에 대해 여러 번 훈련하는 것이 좋습니다.

여기에서 몇 가지 수동 자습서를 수행했는데 약간 혼란스럽습니다. 오차의 감소가 꾸준히 갈 거라 생각했는데 펄쩍 뛰었다.

동일한 네트워크 구조에 대한 반복적인 교육조차도 3-5%의 차이로 결과를 제공할 수 있으며, 이는 올바른 구조 선택을 방해할 수도 있습니다.

 

훈련할 수 있는 다른 거래자를 제안할 수 있습니까? 친구가 ( Polikarp Brekhunov에서 - Artyom Trishkin 수정 ) 공부하라고 조언했습니다. 훈련 과정을 수행하는 상인이 여전히 있을지 누가 알겠습니까?

 
도서관 :

일반적으로 동일한 데이터에 대해 여러 번 훈련하는 것이 좋습니다.

여기에서 몇 가지 수동 자습서를 수행했는데 약간 혼란스럽습니다. 오차의 감소가 꾸준히 갈 거라 생각했는데 펄쩍 뛰었다.

동일한 네트워크 구조에 대한 반복적인 교육조차도 3-5%의 차이로 결과를 제공할 수 있으며, 이는 올바른 구조 선택을 방해할 수도 있습니다.

그래야만 합니다. 가중치의 초기 초기화는 작은 값의 난수로 수행됩니다(초기 초기화 유형에 따라 다름). 재현 가능한 결과를 얻으려면 각 훈련을 시작하기 전에 RNG를 동일한 상태로 설정해야 합니다. 이것이 set.seed()의 용도입니다.

행운을 빕니다

 
블라디미르 페레르벤코 :

그래야만 합니다. 가중치의 초기 초기화는 작은 값의 난수로 수행됩니다(초기 초기화 유형에 따라 다름). 재현 가능한 결과를 얻으려면 각 훈련을 시작하기 전에 RNG를 동일한 상태로 설정해야 합니다. 이것이 set.seed()의 용도입니다.

행운을 빕니다

그리고, 저는 LearnRate = 0.3으로 2개의 epoch에서 Darch RBM에서 사전 훈련을 했습니다.

 
블라디미르 페레르벤코 :

  • 최적의 DNN 하이퍼파라미터 결정

두 번째 경우에는 유전 알고리즘을 사용하여 최상의 매개변수에 대한 확률적 검색 가능성이 사용됩니다.

거래의 경우 모델 최적화(TS) 아이디어는 매우 모호해 보입니다. 모든 최적화는 최고점/저점을 찾고 있고 우리는 그것들이 필요하지 않기 때문입니다. 우리는 이상적으로는 가능한 한 큰 평평한 고원을 원합니다. 이러한 고원에는 한 가지 주목할 만한 속성이 있어야 합니다. 모델의 매개변수를 변경해도 고원을 벗어나서는 안 됩니다.

최적화에 관한 것입니다.

사실, 여기에 모델 매개변수의 안정성 문제도 추가해야 합니다. 모델 매개변수는 변경될 경우 다소 좁은(5%) 신뢰 구간 내에 있습니다. 모델 매개변수의 안정성은 성능이 특정 고원에 있다는 사실로 이어지는 것 같습니다. 모델을 테스트할 때 갑자기 매우 좋은 결과를 얻은 경우 이는 우리가 최소값 지점으로 점프했음을 의미합니다. 우리는 실제로 다시는 만나지 않을 불안정한 상태를 얻었습니다. 게다가 이 최적 지점 주변에 스톱아웃이 위치할 것입니다.

추신.

그건 그렇고, 테스터에서 개발자는 색상으로 고원을 검색 할 수있는 기회를 제공했습니다. 개인적으로 나는 테스터를 마무리 도구로 사용하고 같은 색상의 사각형 주위에 사각형을 참조하는 매개 변수를 사용합니다. 이것은 나의 "고원" 개념을 시각적으로 표현한 것입니다.

 
도서관 :

그리고, 저는 LearnRate = 0.3으로 2개의 epoch에서 Darch RBM에서 사전 훈련을 했습니다.

darch() 함수 내부에는 기본적으로 seed = NULL 매개변수가 있습니다. 어떤 상태로 설정하십시오(예: seed = 12345).

이것은 작은 learnRate 값입니다. RBM 및 NN에 대해 learnRate = 0.7, numEpochs = 10으로 시작합니다. 그러나 이것은 천장 데이터입니다. 특정 데이터 세트에 대해 최적화해야 합니다.

행운을 빕니다

 
블라디미르 페레르벤코 :
darch() 함수 내부에는 기본적으로 seed = NULL 매개변수가 있습니다. 어떤 상태로 설정하십시오(예: seed = 12345).

이것은 작은 learnRate 값입니다. RBM 및 NN에 대해 learnRate = 0.7, numEpochs = 10으로 시작합니다. 그러나 이것은 천장 데이터입니다. 특정 데이터 세트에 대해 최적화해야 합니다.

행운을 빕니다

고맙습니다! 노력하겠습니다.
 
산산이치 포멘코 :

거래의 경우 모델 최적화(TS) 아이디어는 매우 모호해 보입니다. 모든 최적화는 최고점/저점을 찾고 있고 우리는 그것들이 필요하지 않기 때문입니다. 우리는 이상적으로는 가능한 한 큰 평평한 고원을 원합니다. 이러한 고원에는 한 가지 주목할 만한 속성이 있어야 합니다. 모델의 매개변수를 변경해도 고원을 벗어나서는 안 됩니다.

최적화에 관한 것입니다.

사실, 여기에 모델 매개변수의 안정성 문제도 추가해야 합니다. 이 문제는 변경될 경우 다소 좁은(5%) 신뢰 구간 내입니다. 모델 매개변수의 안정성은 성능이 특정 고원에 있다는 사실로 이어지는 것 같습니다. 모델을 테스트할 때 갑자기 매우 좋은 결과를 얻은 경우 이는 우리가 최소값 지점으로 점프했음을 의미합니다. 우리는 실제로 다시는 만나지 않을 불안정한 상태를 얻었습니다. 게다가 이 최적 지점 주변에 스톱아웃이 위치할 것입니다.

추신.

그건 그렇고, 테스터에서 개발자는 색상으로 고원을 검색 할 수있는 기회를 제공했습니다. 개인적으로 나는 테스터를 마무리 도구로 사용하고 같은 색상의 사각형 주위에 사각형을 참조하는 매개 변수를 사용합니다. 이것은 나의 "고원" 개념을 시각적으로 표현한 것입니다.

1. 최적화가 무엇을 말하는 건가요? 무슨 고원? 어떤 모델에 대해? 신경망에 대해 이야기하는 경우 사용하기 전에 DNN을 훈련(매개변수 최적화)하지 않는 것이 이상할 것입니다.

2. 모델(?)의 어떤 매개변수가 안정적이어야 합니까?

나는 당신의 생각을 이해하지 못했습니다.

테스터가 아닌 반드시 수행해야 하는 DNN 하이퍼파라미터의 최적화에 대해 이야기했습니다.

사유: