交易中的机器学习:理论、模型、实践和算法交易 - 页 399

 
Mihail Marchukajtes:


这就是我愿意打赌的地方。这是从实践中来的。这就是我在使用优化器时观察到的情况。


但在他网站的演示中,有5列和大量的行。
 
Mihail Marchukajtes:


这里是我愿意打赌的地方。这是从实践中来的。这就是我在使用优化器时观察到的情况。

如果列比行少,输入的数量就会变得比网络多项式的条件大小小。

如果列和行的数量相等,那么输入的数量和多项式的大小就大致相同。

如果列数多于行数,多项式的大小就会小于输入数。

换句话说,有必要使列和行的数量大致相等。然后用足够数量的输入得到多项式,其大小大约等于输入的数量。

换句话说。文件越大,模型的多参数性就越强。输入的数量和多项式的大小都在增加,这表明模型变得更加智能。如此下去。

另外,当多次运行同一个文件时,输入参数的集合总是不同的。这是由于在分割过程中对样本进行了随机分割。但是,如果我们运行一个相同的文件,得到绝对不同的模型,它们仍然会有相同的工作,至少它们应该如此。这是对给定文件中哪条鱼的答案。如果它在不同的运行中有所不同,这意味着数据与输出没有关系。像这样....

多项式的建立只是为了把所有的东西都拿出来,为一个网络留下3,为另一个网络留下3。
 
elibrarius:
Polynom的建立只是为了把所有东西都拿出来,为一个网络留下3个,为另一个留下3个。

仔细看一下代码。有三种状态是1、0和-1。因此,这是两个网格的结果,以发送信号 给贸易....。
 
Mihail Marchukajtes:


你说的是什么耦合系数。这是一个使用的输入列表,但你看到的是在每个多项式之前有一个归一化,有8个输入描述,看下面的文件底部。

//变量x0: Del

//变量 x1: Del1

//变量 x2: VDel

//变量 x3: VDel1

//变量 x4: VDel6

//变量x5: ST5

//变量x6: VAD11

//变量x7: VVolum4

三大投入在哪里?????当他们有八个人的时候。
你有x0...x7=p0...p7--来自上面的公式(只是名称不同),该公式取自雷舍托夫描述他的神经元的文章。而根据公式,只有3个输入--A、B和C。
 
马克西姆-德米特里耶夫斯基

但他网站上的演示有5列和大量的行

问题是,我已经弄清了他的演示文件 .....有一种东西是重复数据,想象一下,有5列,它们的每一行只能记录三个值中的一个1-1il0。在这种情况下,会有重复的行,现在我的数据集就会加倍。简单地复制行,概括水平将大大增加,高达90%,但不幸的是,这将是一个重新建立的过程。我知道......我已经测试了不止一次,所以.....
 
elibrarius
你有x0...x7=p0...p7--来自上面的公式(只是命名不同),该公式取自雷舍托夫描述他的神经元的文章。而根据公式,只有3个输入--A、B和C。

是的,那篇关于RNN的文章,它与这个优化器没有关系,是完全不同的工作,你不明白吗?虽然在优化器内可以使用本文的一些内容,但它们是完全不同的作品,如果有什么.....。
 
Mihail Marchukajtes:

问题是,我已经弄清楚了他的演示文件.....事情是这样的,有一些重复的数据,想象一下,有5列,每一行只能包含1-1il0三个值中的一个。在这种情况下,会有重复的行,现在我的数据集就会加倍。简单地复制行,概括水平将大大增加,高达90%,但不幸的是,这将是一个重新建立的过程。我知道......我已经测试了不止一次,所以.....

这是一个50/50的分割样本,不是吗? 我现在把它与其他模型进行比较。
 
呃,在哪里可以买到电源....更多动力 :-)
 
马克西姆-德米特里耶夫斯基

是50/50的比例吗? 我现在正在与其他模型进行比较


实际上,将一个训练集分成两个样本是非常棘手的...没有时间的概念,从过去到未来。它不是分类的必要条件,是近似的必要条件。

但分裂也是以一种非常棘手的方式发生的。这里有一个提示。重要的是,输出变量中的零和一的数量应该相等。然后以明确的方式进行除法,如果数字不相等,则有加法。在一般情况下,一个巧妙的方式来划分有如果在什么...

 
Mihail Marchukajtes:

仔细看一下代码。有三种状态1、0和-1。因此,它是两个网格的结果,将信号传输到贸易.....。

我正在弄清楚每个网是如何单独工作的。而从他们的产出中得到什么是一个品味问题)

顺便说一下,看一下你的文件中的代码--有一个不同的公式,与文章中的不同,也就是说,不是

double RNN(double p1,double p2,double p3)
  {
//--- вероятности для правил из базы знаний экспертной системы
   double y0 = x0; // Вероятность правила №0 в процентах
   double y1 = x1; // Вероятность правила №1 в процентах
   double y2 = x2; // Вероятность правила №2 в процентах
   double y3 = x3; // Вероятность правила №3 в процентах
   double y4 = x4; // Вероятность правила №4 в процентах
   double y5 = x5; // Вероятность правила №5 в процентах
   double y6 = x6; // Вероятность правила №6 в процентах
   double y7 = x7; // Вероятность правила №7 в процентах

//--- база знаний, состоящая из набора взаимоисключающих правил
   double probability=
                      (1.0 - p1) * (1.0 - p2) * (1.0 - p3) * y0 + // Правило №0
                      (1.0 - p1) * (1.0 - p2) * p3 * y1 +         // Правило №1
                      (1.0 - p1) * p2 * (1.0 - p3) * y2 +         // Правило №2
                      (1.0 - p1) * p2 * p3 * y3 +                 // Правило №3
                      p1 * (1.0 - p2) * (1.0 - p3) * y4 +         // Правило №4
                      p1 * (1.0 - p2) * p3 * y5 +                 // Правило №5
                      p1 * p2 * (1.0 - p3) * y6 +                 // Правило №6
                      p1 * p2 * p3 * y7;                          // Правило №7

//--- конвертируем проценты в вероятности
   probability=probability/100.0;

//--- возвращаем результат в виде вероятности
   return(probability);
  }

а

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7) {
   double x0 = 2.0 * (v0 + 1189.0) / 2047.0 - 1.0;
   double x1 = 2.0 * (v1 + 810.0) / 2247.0 - 1.0;
   double x2 = 2.0 * (v2 + 1636.0) / 2155.0 - 1.0;
   double x3 = 2.0 * (v3 + 558.0) / 1252.0 - 1.0;
   double x4 = 2.0 * (v4 + 139.0) / 494.0 - 1.0;
   double x5 = 2.0 * (v5 + 74.97643) / 144.15451 - 1.0;
   double x6 = 2.0 * (v6 + 1026.56016) / 1938.48639 - 1.0;
   double x7 = 2.0 * (v7 + 4167.0) / 7074.0 - 1.0;
   double decision = 3.162907268170426 * sigmoid(x0)
  -1.0554004772410066 * sigmoid(x1 + x2 + x3)
  + 3.8921930574940347 * sigmoid(x0 + x1 + x4)
  -1.3775531643479957 * sigmoid(x1 + x2 + x3 + x4)
  -0.44704575810784447 * sigmoid(x0 + x5)
  -0.012703915477316044 * sigmoid(x0 + x1 + x5)
  -7.231026668467576 * sigmoid(x2 + x5)
  -0.059339966683175004 * sigmoid(x2 + x4 + x5)
  -2.786314588867378 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 2.1339726561913768 * sigmoid(x0 + x1 + x6)
  -0.49562529077183975 * sigmoid(x0 + x4 + x6)
  + 5.2147434454399475 * sigmoid(x0 + x3 + x4 + x6)
  -2.890797352663095 * sigmoid(x5 + x6)
  + 0.10933021175693726 * sigmoid(x0 + x5 + x6)
  -1.6844056248405446 * sigmoid(x1 + x2 + x5 + x6)
  -0.18093137034202272 * sigmoid(x1 + x3 + x5 + x6)
  + 0.6607987033451893 * sigmoid(x1 + x7)
  -1.8854921735476415 * sigmoid(x0 + x1 + x3 + x7)
  -1.1169615655906233 * sigmoid(x2 + x5 + x7)
  -0.6844731589452674 * sigmoid(x4 + x6 + x7)
  -0.4231236774571158 * sigmoid(x1 + x2 + x3 + x4 + x6 + x7)
  + 5.763615625891075 * sigmoid(1.0 + x1 + x2 + x3 + x5)
  -0.3138985187519697 * sigmoid(1.0 + x0 + x1 + x4 + x5)
  -1.8910224663455044 * sigmoid(1.0 + x1 + x3 + x4 + x5)
  + 2.1204658352467995 * sigmoid(1.0 + x2 + x3 + x4 + x5)
  + 6.219005597826903 * sigmoid(1.0 + x2 + x3 + x4 + x6)
  -3.740916662914772 * sigmoid(1.0 + x0 + x1 + x3 + x4 + x5 + x6);
   return decision;
}

显然,作者修改了这个公式

因此,也许不是3个输入(如原公式),但仍然是8个...我还没有理解新公式的本质。