Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 74
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
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.
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.
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++'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.
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.
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:
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:
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ı;
}