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

 
도서관 :
보았다. 이것은 아니다. 여기서 3x3 행렬은 변수로 다시 작성됩니다. 그러나 새로운 성분 벡터는 계산되지 않습니다.
결과적으로 각 구성 요소에 대해 6개의 행을 가져와야 합니다(이 예에 따라).

진짜 잃어버렸는데 기억이 안나네.. pca에 봇이 있던데 찾으면 버릴게

 
막심 드미트리예프스키 :

진짜 잃어버렸는데 기억이 안나네.. pca에 봇이 있던데 찾으면 버릴게

전체 디스크에서 PCABuildBasis라는 단어를 검색하면 도움이 될 수 있습니다.) 파일이 삭제되지 않은 경우.
 
도서관 :
전체 드라이브에서 PCABuildBasis라는 단어를 검색하면 도움이 될 수 있습니다.) 파일이 삭제되지 않은 경우.

아카이브의 클라우드 모든 것이 낡았습니다.

다음은 pca 또는 lda의 코드입니다(두 번째 코드는 주석 처리됨).

 //+------------------------------------------------------------------+
//|Use LDA for inputs transforming                                   |
//+------------------------------------------------------------------+
CRLAgent::PCApermutation( void ) {                                         
 int inf;    
 double s2s[];            
 //CLDA::FisherLDAN(RDFPM,RDFPM.Size(),features,2,inf,LDAmatrix); 
 CPCAnalysis::PCABuildBasis(RDFPM,RDFPM.Size(),features,inf,s2s,LDAmatrix);  
 RDFPMPCA.Resize(RDFPM.Size(), this .features+ 2 );  
 ArrayResize (PCAarr,features*features);
   
 int ldaind= 0 ;
 for ( int f= 0 ;f< this .features;f++)
   for ( int i= 0 ;i< this .features;i++) {
   PCAarr[ldaind] = LDAmatrix[i][f];
   ldaind++; }
   
 for ( int s= 0 ; s< this .features; s++) {
   for ( int i= 0 ;i<RDFPMPCA.Size();i++) {
   double feach = 0 ;
   for ( int f= 0 ;f< this .features;f++)
    feach+=RDFPM[i][f]*LDAmatrix[f][s];   
    RDFPMPCA[i].Set(s,feach);
    RDFPMPCA[i].Set( this .features,RDFPM[i][ this .features]);
    RDFPMPCA[i].Set( this .features+ 1 ,RDFPM[i][ this .features+ 1 ]); } }                      
  CDForest::DFBuildRandomDecisionForest(RDFPMPCA,RDFPMPCA.Size(), this .features, 2 ,trees,r,RDFinfo,RDF,RDF_report);
  RDF_report.m_oobrelclserror = CDForest::DFRelClsError(RDF,RDFPMPCA,RDFPMPCA.Size());
 
 ArrayResize (permutated, this .features);
 double buypass[]; ArrayResize (buypass,RDFPMPCA.Size());
 for ( int s= 0 ; s< this .features; s++) {
   for ( int i= 0 ;i<RDFPMPCA.Size();i++) {  
   buypass[i] = RDFPMPCA[i][s];
   RDFPMPCA[i].Set(s, rand ()/ 32767.0 ); } 
  permutated[s][ 1 ] = s; double err = CDForest::DFRelClsError(RDF,RDFPMPCA,RDFPMPCA.Size()); if (err == 0.0 ) err = 0.001 ;
  permutated[s][ 0 ] = RDF_report.m_oobrelclserror / err; 
   for ( int i= 0 ;i<RDFPMPCA.Size();i++) RDFPMPCA[i].Set(s,buypass[i]); }
   
 ArraySort (permutated); ArrayResize (permutated, this .bf_n); 
 RDFPM.Resize(RDFPMPCA.Size(), this .bf_n+ 2 );
  
 for ( int s= 0 ; s< this .bf_n; s++) {
   for ( int i= 0 ;i<RDFPMPCA.Size();i++) {   
   RDFPM[i].Set(s,RDFPMPCA[i][( int )permutated[s][ 1 ]]);
   RDFPM[i].Set(bf_n,RDFPMPCA[i][ this .features]);
   RDFPM[i].Set(bf_n+ 1 ,RDFPMPCA[i][ this .features+ 1 ]); } } 
 CDForest::DFBuildRandomDecisionForest(RDFPM,RDFPM.Size(), this .bf_n, 2 ,trees,r,RDFinfo,RDF,RDF_report); }
 

여기 또 하나

 //+------------------------------------------------------------------+
//|Use LDA for inputs transforming                                   |
//+------------------------------------------------------------------+
CRLAgent::LDA( void ) {                                        
   CDecisionForest   mRDF;                                                  
   CDFReport         mRep;   
   int inf;    
   double s2s[];            
   //CLDA::FisherLDAN(RDFpolicyMatrix,RDFpolicyMatrix.Size(),features,2,inf,LDAmatrix); 
   CPCAnalysis::PCABuildBasis(RDFpolicyMatrix,RDFpolicyMatrix.Size(),features,inf,s2s,LDAmatrix);
   
   
   RDFpolicyMatrix2.Resize(RDFpolicyMatrix.Size(),bestfeatures_num+ 2 );
   
   ArrayResize (LDAarr,features*features);
   
   int ldaind= 0 ;
   for ( int f= 0 ;f< this .features;f++)
     for ( int i= 0 ;i< this .features;i++){
       LDAarr[ldaind] = LDAmatrix[i][f];
       ldaind++;
      }
   
   for ( int s= 0 ; s< this .bestfeatures_num; s++) {
     for ( int i= 0 ;i<RDFpolicyMatrix.Size();i++) {
       double feach = 0 ;
       for ( int f= 0 ;f< this .features;f++)
         {
          feach+=RDFpolicyMatrix[i][f]*LDAmatrix[f][s];
         }
        RDFpolicyMatrix2[i].Set(s,feach);
        RDFpolicyMatrix2[i].Set(bestfeatures_num,RDFpolicyMatrix[i][ this .features]);
        RDFpolicyMatrix2[i].Set(bestfeatures_num+ 1 ,RDFpolicyMatrix[i][ this .features+ 1 ]);
       }
    }
                        
  CDForest::DFBuildRandomDecisionForest(RDFpolicyMatrix2,RDFpolicyMatrix2.Size(),bestfeatures_num, 2 ,trees,r,RDFinfo,RDF,RDF_report);
 }
 

고마워, 나는 그것을 조사할 것이다

 
도서관 :

고마워, 나는 그것을 조사할 것이다

여기처럼. 특징은 벡터 계수로 곱해집니다.

그런 다음 숲은 구성 요소에 대해 훈련됩니다.

 for ( int s= 0 ; s< this .bestfeatures_num; s++) {
     for ( int i= 0 ;i<RDFpolicyMatrix.Size();i++) {
       double feach = 0 ;
       for ( int f= 0 ;f< this .features;f++)
         {
          feach+=RDFpolicyMatrix[i][f]*LDAmatrix[f][s];
         }
        RDFpolicyMatrix2[i].Set(s,feach);
        RDFpolicyMatrix2[i].Set(bestfeatures_num,RDFpolicyMatrix[i][ this .features]);
        RDFpolicyMatrix2[i].Set(bestfeatures_num+ 1 ,RDFpolicyMatrix[i][ this .features+ 1 ]);
       }
    }
 
Ludwig에는 코드를 작성하지 않고도 딥 러닝 모델이 있으며 모델을 훈련하는 데 프로그래밍 기술이 필요하지 않습니다. https://ludwig-ai.github.io/ludwig-docs/
Ludwig - code-free deep learning toolbox
Ludwig - code-free deep learning toolbox
  • ludwig-ai.github.io
Ludwig is a toolbox for training and testing deep learning models without writing code
 
막심 드미트리예프스키 :

여기처럼. 특징은 벡터 계수로 곱해집니다.

 for ( int s= 0 ; s< this .bestfeatures_num; s++) {
     for ( int i= 0 ;i<RDFpolicyMatrix.Size();i++) {
       double feach = 0 ;
       for ( int f= 0 ;f< this .features;f++)
         {
          feach+=RDFpolicyMatrix[i][f]*LDAmatrix[f][s];
         }
        RDFpolicyMatrix2[i].Set(s,feach);
        RDFpolicyMatrix2[i].Set(bestfeatures_num,RDFpolicyMatrix[i][ this .features]);
        RDFpolicyMatrix2[i].Set(bestfeatures_num+ 1 ,RDFpolicyMatrix[i][ this .features+ 1 ]);
       }
    }

그런 다음 숲은 구성 요소에 대해 훈련됩니다.

1) 의미가 완전히 명확하지 않습니다. 초기 데이터 100개 열 대신 주성분 100개 열을 제출했는데 이 중 정보의 일부가 손실되었습니다.
초기 100개 대신 10-20개의 주요 컴포넌트를 제출해야 하며, 학습률로 정보 손실을 보상합니다.


2) 1000행당 100열 중 원장 1000행당 10열을 만드는 방법을 전혀 알아내지 못했습니다.
처음 10개의 구성 요소에서 1000개의 라인을 생성해야 합니다. 구성 요소가 있는 매트릭스는 100x100입니다.

Индикаторы: Portfolio Optimizer
Индикаторы: Portfolio Optimizer
  • 2018.12.01
  • www.mql5.com
Portfolio Optimizer: Автор: transcendreamer...
 
도서관 :

1) 의미가 완전히 명확하지 않습니다. 초기 데이터 100개 열 대신 주성분 100개 열을 제출했는데 이 중 정보의 일부가 손실되었습니다.
초기 100개 대신 10-20개의 주요 컴포넌트를 제출해야 하며, 학습률로 정보 손실을 보상합니다.

))))

100개의 기능으로 100개의 구성 요소를 만들면 정보 손실 비율은 0.0%입니다.

나는 이론이나 무언가를 배울 것입니다))

 
mytarmailS :

))))

100개의 기능으로 100개의 구성 요소를 만들면 정보 손실 비율은 0.0%입니다.

나는 이론이나 무언가를 배울 것입니다))

이론상 그럴 수도 있습니다.
그러나 여전히 행동의 의미는 무엇입니까? 속도가 향상되지 않고 오히려 감속이 발생하면 추가 작업이 필요합니다.
100점 만점에 10점을 받아야 합니다. 해결책이 있습니까?
사유: