Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 399

 
Michael Marchukajtes :


İşte burada tartışmaya hazırım. Bu uygulamadan. Optimize edicinin kullanımı sırasında gözlemlediklerim.


Ancak sitesindeki demoda 5 sütun ve çok sayıda satır var
 
Michael Marchukajtes :


İşte burada tartışmaya hazırım. Bu uygulamadan. Optimize edicinin kullanımı sırasında gözlemlediklerim.

Satırlardan daha az sütun varsa, giriş sayısı ağ polinomunun koşullu boyutundan daha az olur.

Sütun ve satır sayısı eşitse, giriş sayısı ve polinomun boyutu yaklaşık olarak aynıdır.

Satırlardan daha fazla sütun varsa, polinomun boyutu giriş sayısından daha azdır.

Başka bir deyişle, sütun ve satır sayısının yaklaşık olarak aynı olması gerekir. Daha sonra, yeterli sayıda girdiyle ve yaklaşık olarak aynı sayıda girdi için boyutuyla polinom elde edilir.

Başka bir deyişle ve başka bir deyişle. Dosya ne kadar büyükse, model o kadar çok değişkenli hale gelir. Girdi sayısı ve polinomun boyutu artar, bu da modelin daha akıllı hale geldiğini gösterir. Bunun gibi bir şey.

Ve aynı dosyanın birden çok çalışmasında bile, girdi parametreleri seti her zaman farklıdır. Bunun nedeni, bölme sırasında numunenin rastgele bölünmesidir. Ancak aynı dosyayı çalıştırır ve tamamen farklı modeller alırsak, o zaman yine de yaklaşık olarak aynı şekilde çalışacaklardır, en azından çalışmalıdırlar. Bu dosyada ne tür balıklar kesilir sorusunun cevabı budur. Veriler çalıştırmadan çalıştırmaya farklılık gösteriyorsa, bu, verilerin çıktıyla hiçbir ilgisi olmadığı anlamına gelir. Bunun gibi bir şey...

Polinom, yalnızca her şeyi dışarı atmak ve bir ağ için 3, diğeri için 3 bırakmak için inşa edilmiştir.
 
elibrarius :
Polinom, yalnızca her şeyi dışarı atmak ve bir ağ için 3, diğeri için 3 bırakmak için inşa edilmiştir.

Koda dikkatlice bakın. 1, 0 ve -1 olmak üzere üç durum vardır. Yani bu, sinyalleri ticarete iletmek için iki şebekenin çalışmasının sonucudur....
 
Michael Marchukajtes :


Evet, bağlantı katsayıları nedir, neden bahsediyorsunuz. Burada kullanılan girdilerin bir listesi ve her polinomdan önce orada gördüğünüz normalleştirmedir ve 8 girdi vardır, burada açıklanmıştır, dosyanın en altına bakın.

// Değişken x0: Del

// Değişken x1: Del1

// Değişken x2: V Del

// Değişken x3: Vdel1

// Değişken x4: Vdel6

// Değişken x5: ST5

// Değişken x6: VAD11

//Değişken x7: VVolum4

Üç giriş nerede????? sekiz olduğunda
x0 .. x7 = p0 ... p7 var - yukarıdaki formülden (sadece farklı adlandırılmış), formül Reshetov'un nöronunu anlatan makalesinden alınmıştır. Ve giriş formülüne göre sadece 3 - A, B ve C var
 
Maksim Dmitrievski :

Ancak sitesindeki demoda 5 sütun ve çok sayıda satır var

Gerçek şu ki onun demo dosyasını buldum ..... Orada, hile şu ki, yinelenen veriler var, 5 sütun olduğunu ve üç değerden sadece birinin 1-1il0 yazılabileceğini hayal edin. her satırında. Bu senaryo ile, yinelenen satırların olacağı ve şimdi veri setimi ikiye katlayacağı ortaya çıktı. Satırları aptalca kopyalayın ve genelleme seviyesi önemli ölçüde artacaktır, %90'a kadar AMA ne yazık ki YENİDEN EĞİTİM olacaktır. Biliyorum... Birden fazla kez kontrol ettim, yani...
 
elibrarius :
x0 .. x7 = p0 ... p7 var - yukarıdaki formülden (sadece farklı adlandırılmış), formül Reshetov'un nöronunu anlatan makalesinden alınmıştır. Ve giriş formülüne göre sadece 3 - A, B ve C var

Evet, RNN ile ilgili o yazının bu optimizer ile alakası yok, bunlar tamamen farklı işler, sizin anlamadığınız gibi. Optimize edici içinde bir şey kullanılmış olsa da, bu makaleden olabilir, ancak bunlar tamamen farklı işler varsa .....
 
Michael Marchukajtes :

Gerçek şu ki onun demo dosyasını buldum ..... Orada, hile şu ki, yinelenen veriler var, 5 sütun olduğunu ve üç değerden sadece birinin 1-1il0 yazılabileceğini hayal edin. her satırında. Bu senaryo ile tekrar eden satırların olacağı ve şimdi veri setimi ikiye katlayacağı ortaya çıktı. Satırları aptalca kopyalayın ve genelleme seviyesi önemli ölçüde artacaktır, %90'a kadar AMA ne yazık ki YENİDEN EĞİTİM olacaktır. Biliyorum... Birden fazla kez kontrol ettim, yani...

50 ila 50 numune bölünür mü? Şimdi diğer modellerle karşılaştırıyorum
 
Eh, nereden güç alabilirim .... evet, daha güçlü :-)
 
Maksim Dmitrievski :

50 ila 50 numune bölünür mü? Şimdi diğer modellerle karşılaştırıyorum


Aslında eğitim setini iki örneğe ayırmak çok zor... Geçmişten geleceğe zaman kavramı yok. bu sınıflandırma için gerekli değildir, yaklaşıklık için gereklidir.

Ancak bölünme çok zor bir şekilde gerçekleşir. Sana bir ipucu vereceğim. Çıktı değişkenindeki sıfır ve birlerin sayısının eşit olması önemlidir. Sonra bölme anlaşılır olduğu gibi gider, sayı eşit değilse, o zaman bir toplama vardır. Genel olarak, orada bölmenin zor bir yolu, eğer bir şey varsa ...

 
Michael Marchukajtes :

Koda dikkatlice bakın. 1, 0 ve -1 olmak üzere üç durum vardır. Yani bu, sinyalleri ticarete iletmek için iki şebekenin çalışmasının sonucudur....

Her ağın işleyişini ayrı ayrı öğreniyorum. Ve çıktılarından ne elde edileceği bir zevk meselesidir)

Bu arada, dosyanızdaki koda bakıyorum - makaledeki gibi olmayan farklı bir formül var, yani. olumsuzluk

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);
  }

a

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;
}

Görünüşe göre yazar formülü değiştirmiş

Yani belki 3 girdi değil (orijinal formüle göre), ama yine de 8 ... ta ki yeni formülün özünü anlayana kadar.