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

 
Michael Marchukajtes :
Yuri, kutsalların kutsalında sallanmaya ve kâseyi yudumlamaya karar verdi, ancak tahmin edilen değerlerin 10'dan fazla olamayacağına dair bir yazıt yayınladı. Bu, algoritmanın bilinçli bir sınırlaması mı yoksa sınırı mı ??? ? 10'dan fazla olduğundan, bu son derece alakalı, o zaman ....

10'dan sonra, int türünde bir taşma meydana gelebilir ve yalnızca 32 biti vardır, yani. taşma öncesinde 2^32=2147483648 değerini aşmayan sayılar yerleştirilir. İki milyarın biraz üzerinde. Elbette, daha büyük bit derinliğine sahip sayaçları dosyalayabilirsiniz, ancak hesaplama hızı önemli ölçüde düşecektir.

Bu nedenle, Dr.Trader, R'de yeniden yazılmış tam teşekküllü bir libVMR çalıştıramadı - çok fazla hesaplama ve çok fazla bellek var.

 
Yuri Reshetov :

10'dan sonra, int türünde bir taşma meydana gelebilir ve yalnızca 32 biti vardır, yani. 2^32=2147483648'i aşmayan taşma olmayan sayılar içerir. İki milyardan biraz fazla. Elbette, daha büyük bit derinliğine sahip sayaçları dosyalayabilirsiniz, ancak hesaplama hızı önemli ölçüde düşecektir.

Hmm... Hızı düşürmemek daha iyi... Önceki versiyonlarda çok can sıkıcıydı. tamam 10 yani 10, şimdi girdilerin kalitesini arttır ve çalışabileceğini düşünüyorum....
 
Yuri Reshetov :

10'dan sonra, int türünde bir taşma meydana gelebilir ve yalnızca 32 biti vardır, yani. taşma öncesinde 2^32=2147483648 değerini aşmayan sayılar yerleştirilir. İki milyardan biraz fazla. Elbette, daha büyük bit derinliğine sahip sayaçları dosyalayabilirsiniz, ancak hesaplama hızı önemli ölçüde düşecektir.

Bu nedenle, Dr.Trader, R'de yeniden yazılmış tam teşekküllü bir libVMR çalıştıramadı - çok fazla hesaplama ve çok fazla bellek var.

Size bir hikaye anlatacağım, size hesaplamaların paralelliğini sorduğumu hatırlıyorum. Pekala, böylece bir matematiksel yardımcı işlemcide daha fazla sayıda girdi sayılabilir. Cevap yoktu ve diğer tarafa gittim. Bir pislik ortaya çıktı, ona başka bir şey diyemezsiniz, LibVMRx'i C++ ile yeniden yazan ve bir nevi paralelleştiren, güçlü bir bilgisayarı ve söylediği gibi 40 dakika boyunca 8 sütunu vardı. Ama sonunda ortadan kayboldu ve ne programdan ne de başka bir şeyden vazgeçmedi, eski bahaneleri ve bahaneleri oydu. Ona tüm verileri vermeme rağmen, sistemi ve modeli oluşturma konusundaki düşüncelerimi paylaşmaya çoktan hazırdım. Ama çok üşüdü. İşte aynı. Oraya üfle ve oradan uy ....
 
Michael Marchukajtes :
Size bir hikaye anlatacağım, size hesaplamaların paralelliğini sorduğumu hatırlıyorum. Pekala, böylece bir matematiksel yardımcı işlemcide daha fazla sayıda girdi sayılabilir. Cevap yoktu ve diğer tarafa gittim. Bir pislik ortaya çıktı, ona başka bir şey diyemezsiniz, LibVMRx'i C++'da yeniden yazan ve onu bir nevi paralelleştiren, güçlü bir bilgisayarı ve 40 dakika boyunca 8 sütunu olduğunu söylediği gibi. Ama sonunda ortadan kayboldu ve ne programdan ne de başka bir şeyden vazgeçmedi, eski bahaneleri ve bahaneleri oydu. Ona tüm verileri vermeme rağmen, sistemi ve modeli oluşturma konusundaki düşüncelerimi paylaşmaya çoktan hazırdım. Ama çok üşüdü. İşte aynı. Oraya üfle ve oradan uy ....

En son sürüm 6.01'de paralelleştirilen her şeyi paralelleştirdim. Başka hiçbir şey çalışmıyor. Bir fırsat olsaydı, onu daha çok paralel hale getirirdim. Bunu kendisi için yaptı, yani. Kendimi hızlı bir şekilde tüm bu hesaplandı gerekir.


Şimdi zayıf tahmin edicilerin nasıl hesaplanacağına dair bir algoritma buldum, böylece ortadan kaldırılabilirler. Saymak uzun zaman alacak, ancak oyun muma değer, çünkü zayıf bir tahminci yerine daha güçlü olanları değiştirebilirsiniz. Veya hem hesaplama hızını hem de genelleme yeteneğini artırarak zayıf olanlardan kurtulun. Çünkü ticaret için, piyasa değişmeye başlar başlamaz sürekli olarak modellerin yeniden hesaplanmasını çalıştırmanız gerekir. Ve piyasa böyle, diğer işlemler birleşir birleşmez stratejilerini değiştirirler ve onlara tekrar uyum sağlamanız gerekir.

 
Yuri Reshetov :

En son sürüm 6.01'de paralelleştirilen her şeyi paralelleştirdim. Başka hiçbir şey çalışmıyor. Mümkün olsaydı, daha fazla paralelleştirirdim. Bunu kendisi için yaptı, yani. Kendimi hızlı bir şekilde tüm bu hesaplandı gerekir.

Şimdi zayıf tahmin edicilerin nasıl hesaplanacağına dair bir algoritma buldum, böylece ortadan kaldırılabilirler. Saymak uzun zaman alacak, ancak oyun muma değer, çünkü zayıf bir tahminci yerine daha güçlü olanları değiştirebilirsiniz. Veya hem hesaplama hızını hem de genelleme yeteneğini artırarak zayıf olanlardan kurtulun. Çünkü ticaret için, piyasa değişmeye başlar başlamaz sürekli olarak modellerin yeniden hesaplanmasını çalıştırmanız gerekir. Ve piyasa böyle, diğer işlemler birleşir birleşmez stratejilerini değiştirirler ve onlara tekrar uyum sağlamanız gerekir.

İşte mesele bu. Değişiklikleri dört gözle bekliyorum. Sen ve ben barikatların aynı tarafındayız, ayrıca piyasanın sürekli değiştiğine ve her olay olduğunda veya haber çıktığında buna uyum sağlamanız gerektiğine inanıyorum. Ve bazılarının burada yaptığı gibi, 5 yıl içinde kâseyi aramamak . Bu bir ütopya ama açıklamaktan yoruldum...
 
Hmm... Bekçi artık modeli eğitmiş, her iki model de aynı genelleme düzeyi değerlerini almış yani pazar segmenti her iki model tarafından da aynı şekilde kesilmiştir. Doğru modeli seçmenin anahtarının bu olduğunu düşünüyorum. Eğitime devam ediyorum, isca girdileri vb.
 
Bu arada, optimizasyon sürecinde bir çekirdeği serbest bırakıyorum, aksi takdirde bilgisayarda çalışmak imkansız hale geliyor ....
 
Michael Marchukajtes :
İşte mesele bu. Değişiklikleri dört gözle bekliyorum.

Tahmin edicileri tek tek manuel olarak sıralayabilirsiniz, ancak bu aynı zamanda doğru yön olmasına rağmen uzun ve acı vericidir. Uzun bir süre için bile, ancak makinede ve kabul edilebilir bir süre için ve çok acı verici olmaması gerekir.

Michael Marchukajtes :


Sen ve ben barikatların aynı tarafındayız, ayrıca piyasanın sürekli değiştiğine ve her olay olduğunda veya haber çıktığında buna uyum sağlamanız gerektiğine inanıyorum. Ve bazılarının burada yaptığı gibi, 5 yıl içinde kâseyi aramamak. Bu bir ütopya ama açıklamaktan yoruldum...

Zayıf uzun ömürlü kaseler bulunabilir. Bende bunlardan birkaç tane vardı. Ama orada kâr faulün eşiğinde, normal bir depoda bile kâr ucuz.

Güçlü bir uzun süre oynayan kase bulmak teorik olarak mümkündür, ancak büyük olasılıkla böyle bir sıfır noktası onda biri olasılığı?

En doğru yol:

  1. En güçlü tahmin edicilerin doğru seçimi
  2. Pazar değiştikçe sistematik bir ayarlama ile kısa mesafeli modeller oluşturmak. Ancak tüm bu tarımı tam bir makinede yapmak veya en azından manuel müdahaleyi minimuma indirmek daha iyidir.
 
Michael Marchukajtes :
Hmm... Bekçi artık modeli eğitmiş, her iki model de aynı genelleme seviyesi değerlerini almış yani pazar segmenti her iki model tarafından da aynı şekilde kesilmiştir. Doğru modeli seçmenin anahtarının bu olduğunu düşünüyorum. Eğitime devam ediyorum, isca girdileri vb.

Java'ya bakın. "Değişken indirgeme altına alındı" satırları varsa, bunlar zayıf tahmin edicileri gösterir. Bu tür öngörücüler model kodundan hariç tutulur - ikili sınıflandırıcı kodunda hiçbir yerde hesaplanmazlar.

Doğru, tüm tahminciler yaklaşık olarak aynıysa, bu tür çizgiler görünmez.

İşte bir örnek (kalın harflerle vurgulanmıştır). Altıncı tahminci v5 (sıfırdan sayılır) - CSV'deki yedinci sütun, başka, daha güçlü bir sütunla değiştirilebilir:

 double getBinaryClassificator1( double v0, double v1, double v2, double v3, double v4, double v5) {
   double x0 = 2.0 * (v0 + 1.0 ) / 2.0 - 1.0 ;
   double x1 = 2.0 * (v1 + 1.0 ) / 2.0 - 1.0 ;
   double x2 = 2.0 * (v2 + 1.0 ) / 2.0 - 1.0 ;
   double x3 = 2.0 * (v3 + 1.0 ) / 2.0 - 1.0 ;
   double x4 = 2.0 * (v4 + 1.0 ) / 2.0 - 1.0 ;
//Variable v5 got under reduction
   double decision = - 0.23641879194630872 - 0.10890380313199105 * x2
 - 0.14546040268456376 * x0 * x2
 + 0.07270693512304251 * x1 * x2
 - 0.07182997762863534 * x3
 - 0.07383982102908278 * x0 * x1 * x2 * x3
 - 0.4362541387024608 * x4
   ;
   return decision;

}
 
Yuri Reshetov :

Java'ya bakın. "Değişken indirgeme altına alındı" satırları varsa, bunlar zayıf tahmin edicileri gösterir. Bu tür öngörücüler model kodundan hariç tutulur - ikili sınıflandırıcı kodunda hiçbir yerde hesaplanmazlar.

Doğru, tüm tahminciler yaklaşık olarak aynıysa, bu tür çizgiler görünmez.

İşte bir örnek (kalın harflerle vurgulanmıştır). Altıncı tahminci v5 (sıfırdan sayılır) - CSV'deki yedinci sütun, başka, daha güçlü bir sütunla değiştirilebilir:

double getBinaryClassificator1(double v0, çift v1, çift v2, çift v3, çift v4, çift v5) {
çift x0 = 2.0 * (v0 + 1.0) / 2.0 - 1.0;
çift x1 = 2.0 * (v1 + 1.0) / 2.0 - 1.0;
çift x2 = 2.0 * (v2 + 1.0) / 2.0 - 1.0;
çift x3 = 2.0 * (v3 + 1.0) / 2.0 - 1.0;
çift x4 = 2.0 * (v4 + 1.0) / 2.0 - 1.0;
//V5 değişkeni indirgeme altına alındı
çifte karar = -0.23641879194630872 -0.10890380313199105 * x2
-0.14546040268456376*x0*x2
+ 0.07270693512304251 * x1 * x2
-0.07182997762863534 * x3
-0.07383982102908278*x0*x1*x2*x3
-0.4362541387024608*x4
;
iade kararı;

}

Bunu biliyorum, kitaplığınızı bir yıldır kullanıyorum. Bu tür şeyler benim için net..... Bende öyle çizgiler yok, tüm tahminler işin içine giriyor.....
Neden: