トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 485

 
ミッキー・ムース
機械に絵柄を認識させることは可能か?

???

googleはないんですか?

 
mytarmailS:

???

googleを持ってないんですか?

では、あなたはそれができないのですか?
 
ミッキー・ムース
では、できていないのでしょうか?

私は...

それはどこから来たのですか?ところで、あなたの質問は別のことでしたね。

 

専門家に質問です。バッファはプリンタに出力されるのに、線が描画さ れようとせず、他のインジケータからも呼び出されないのはなぜでしょうか?

 
mytarmailS:

私は...

それはどこから来たのですか?ところで、あなたの質問は別のことでしたね。


ご回答から。

μlで書かれたパターン認識モジュールをロボットに組み込みたいのですが、何を入れて、どのような構成にすればいいのか考えています。

とか、googleに送ってくれれば、(あなたのバージョンでは)不可能という結論になるのですが。

 
ミッキー・ムース


どのような分類器であっても,画像は行列として表現される

何が問題なのか?それとも、コードを書いてあげようか?

 
mytarmailS:
どのような分類器であっても,画像は行列として表現される

何が問題なのか?それとも、コードを書いてあげようか?

何を基準に認識パラメータを設定すればいいのか、その名称を理解したい。まさにツールの説明
 
ミッキー・ムース
何を基準に認識パラメータを設定するのか、その名称を理解したい。まさにツールの説明
ここに 行けば、何が何だかわかるかもしれません。

リーズナブル。
 

https://www.youtube.com/channel/UCPk8m_r6fkUSYmvgCBwq-sw/videos

画像認識のためのニューロニクス講座、大学での講義の映像です。非常に良いが、英語である。

 

質問:RF出力は通常、以下の領域でAVGerrとRMSerrを与えます。

0.0000921245

0.0000920833

0.0000926474

0.0000930916

AVGerrです。

なぜゼロが多いのか、誤差は通常0.1、0.9などと論文で見たことがある。

このように計算されています。

static double CDForest::DFAvgError(CDecisionForest &df,CMatrixDouble &xy,
                                   const int npoints)
  {
//--- create variables
   double result=0;
   int    i=0;
   int    j=0;
   int    k=0;
   int    i_=0;
//--- creating arrays
   double x[];
   double y[];
//--- allocation
   ArrayResizeAL(x,df.m_nvars);
   ArrayResizeAL(y,df.m_nclasses);
//--- initialization
   result=0;
   for(i=0;i<=npoints-1;i++)
     {
      //--- copy
      for(i_=0;i_<=df.m_nvars-1;i_++)
         x[i_]=xy[i][i_];
      //--- function call
      DFProcess(df,x,y);
      //--- check
      if(df.m_nclasses>1)
        {
         //--- classification-specific code
         k=(int)MathRound(xy[i][df.m_nvars]);
         for(j=0;j<=df.m_nclasses-1;j++)
           {
            //--- check
            if(j==k)
               result=result+MathAbs(y[j]-1);
            else
               result=result+MathAbs(y[j]);
           }
        }
      else
        {
         //--- regression-specific code
         result=result+MathAbs(y[0]-xy[i][df.m_nvars]);
        }
     }
//--- return result
   return(result/(npoints*df.m_nclasses));
  }

そして、乗算表(ティーチングRF表)の計算をするテストスクリプトです。

#include <Math\Alglib\dataanalysis.mqh>
//+------------------------------------------------------------------+
#define _rand(min,max) ((rand()/(double)SHORT_MAX)*((max)-(min))+min)
//+------------------------------------------------------------------+
void OnStart()
{
   CDecisionForest      Trf;
   CDecisionForestShell RFshell;
   CMatrixDouble        PatternsMatrix;
   CDFReport            RF_report;
   int RFinfo;
   double vector[2], out[1];
   
   // подготовка данных
   PatternsMatrix.Resize(100,3);
   int m=0;     // first pattern
   for(int i=1; i<=10; i++)
      for(int j=1; j<=10; j++)
      {
         PatternsMatrix[m].Set(0,i/10.0);       // input 1
         PatternsMatrix[m].Set(1,j/10.0);       // input 2
         PatternsMatrix[m].Set(2,(i*j)/100.0);  // target
         m++; //next pattern
      }
   // создание RF
   CDForest::DFBuildRandomDecisionForest(PatternsMatrix,100,2,1,500,1,RFinfo,Trf,RF_report);
   Print("Info=",RFinfo,"  Error=",DoubleToString(CDForest::DFAvgError(Trf,PatternsMatrix,100),50));  
   // проверка сети на целочисленных данных
   string s="Тест 1 >> ";
   for(int i=1; i<=10; i++)
   {
      int d1=(int)_rand(1,10), d2=(int)_rand(1,10);
      vector[0]=d1/10.0;
      vector[1]=d2/10.0;
      CDForest::DFProcess(Trf,vector,out);
      s+=(string)d1+"*"+(string)d2+"="+DoubleToString(out[0]*100,0)+" // ";
   }
   Print(s);
   // проверка сети на дробныx данных
   s="Тест 2 >> ";
   for(int i=1; i<=5; i++)
   {
      double d1=NormalizeDouble(_rand(1,10),1), d2=NormalizeDouble(_rand(1,10),1);
      vector[0]=d1/10.0;
      vector[1]=d2/10.0;
       CDForest::DFProcess(Trf,vector,out);
      s+=DoubleToString(d1,1)+"*"+DoubleToString(d2,1)+"="+DoubleToString(out[0]*100,2)+
         "("+DoubleToString(d1*d2,2)+") // ";
   }
   Print(s);
}

走らせて確認すると、乗算表もしっかり計算してくれます。

また、非常に小さな誤差があります: 2017.09.27 16:26:12.267 RF sample (EURUSD,H1) Info=1 Error=0.00000000000020


理由: