Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 412
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Çözümlerim başlangıçta OpenNN'ye (C++) dayanıyordu.
Şimdi, konileri doldurarak harika Keras (Python) projesine geçtim.
Genelde sınıflandırma problemlerini tahmin etmek için derin öğrenme yapıyorum.
Bu yüzden MO'nun bir alanıyla ilgileniyoruz. Keras, özellikle R'ye taşındığından beri iyi bir pakettir.
Yalnız ben soruyu anlamadım ne?
İyi şanlar
Bu yüzden MO'nun bir alanıyla ilgileniyoruz. Keras, özellikle R'ye taşındığından beri iyi bir pakettir.
Yalnız ben soruyu anlamadım ne?
İyi şanlar
şimdi bu zaten ilginç .. bu yüzden ek testler yapmak gerekli olacak, belki daha önce düşünüldüğü gibi bu RNN'de bir anlamı yok
Tek artı, optimize edicideki ağırlıkların diğer sistem parametreleriyle aynı anda seçilmesidir.
Şimdi bilinen veri aralığında ne kadar iyi olduğunu anlamaya çalışıyorum. Örneğin çarpım tablosu.
Güncelleme.
Danışmanı değiştirdikten sonraki ek deneyler, normal MLP 3-5-1 ile karşılaştırıldığında aşağıdaki sonuçları gösterdi.
Kontroller için farklı formüller kullanıldı:
//double func(double d1,double d2,double d3 ){return d1*d2;} //%0-2 hata, çünkü çarpma formüllere gömülüdür. %2 elde edilir çünkü genetik optimize edici her zaman ideal çözümden daha azında durmaz. Ancak hata = 0 olan kesinlikle kesin bir çözüm de var.
Sonuç olarak, normal MLP'nin Reshetov'un RNN'sinden 2-3 kat daha az hataya sahip olduğu sonucuna varabiliriz. Belki de bu hatanın bir kısmı, MT5 terminalinin genetik optimize edicisinin ideal bir çözümde durmamasından kaynaklanmaktadır.//double func(double d1,double d2,double d3 ){dönüş d1*d2*d3;}// hata %0-2 çarpma formüllere dahil edilmiştir, MLP'de %1
//double func(double d1,double d2,double d3 ){return MathSin (d1);}// hata %2-6, MLP'de %0,1
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3);}// MLP'de hata %2, %1
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}// MLP'de hata %3-4, %1
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.33)*MathSqrt(d3);}// MLP'de %8-4 hata
//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,.33)*MathSqrt(d3);}// MLP'de %8-4 hata
Şimdi bilinen veri aralığında ne kadar iyi olduğunu anlamaya çalışıyorum. Örneğin çarpım tablosu.
Güncelleme.
Danışmanı değiştirdikten sonraki ek deneyler, normal MLP 3-5-1 ile karşılaştırıldığında aşağıdaki sonuçları gösterdi.
Kontroller için farklı formüller kullanıldı:
//double func(double d1,double d2,double d3 ){return d1*d2;} //%0-2 hata, çünkü çarpma formüllere gömülüdür. %2 elde edilir çünkü genetik optimize edici her zaman ideal çözümden daha azında durmaz. Ancak hata = 0 olan kesinlikle kesin bir çözüm de var.
Sonuç olarak, normal MLP'nin Reshetov'un RNN'sinden 2-3 kat daha az hataya sahip olduğu sonucuna varabiliriz. Belki de bu hatanın bir kısmı, MT5 terminalinin genetik optimize edicisinin ideal bir çözümde durmamasından kaynaklanmaktadır.//double func(double d1,double d2,double d3 ){dönüş d1*d2*d3;}// hata %0-2 çarpma formüllere dahil edilmiştir, MLP'de %1
//double func(double d1,double d2,double d3 ){return MathSin(d1);}// hata %2-6, MLP'de %0,1
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSin(d3);}// MLP'de hata %2, %1
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathSin(d2)*MathSqrt(d3);}// MLP'de hata %3-4, %1
//double func(double d1,double d2,double d3 ){return MathSin(d1)*MathPow(d2,.33)*MathSqrt(d3);}// MLP'de %8-4 hata
//double func(double d1,double d2,double d3 ){return MathPow(d1,2)*MathPow(d2,.33)*MathSqrt(d3);}// MLP'de %8-4 hata
Evet, ilginç sonuçlar, belki kapsamlı arama daha kesin olabilir
Evet, ilginç sonuçlar, belki kapsamlı arama daha kesin olabilir
öyle olurdu, ancak birkaç hafta veya ay içinde ...% 1'lik bir adımla 8 seçilen katsayı 100 8 = 10000000000000000 yineleme ve terminalin kendisi böyle bir sayı ile genetiğe geçer.
Söyleyin bana, MLP'yi alglib'den sınıflandırmak, anladığım kadarıyla en az 2 çıktı gerektiriyor, bununla nasıl çalışılır? yardım yok, hiçbir yerde açıklama yok .. teneke)
Söyleyin bana, MLP'yi alglib'den sınıflandırmak, anladığım kadarıyla en az 2 çıktı gerektiriyor, bununla nasıl çalışılır? yardım yok, hiçbir yerde açıklama yok .. teneke)
Evet 2, yardımdan http://alglib.sources.ru/dataanalysis/neuralnetworks.php
Özel bir durum, doğrusal bir çıktı katmanına ve SOFTMAX çıktı normalleştirmesine sahip sinir ağlarıdır. Ağ çıktılarının negatif olmaması ve toplamlarının kesinlikle bire eşit olması gereken sınıflandırma problemleri için kullanılırlar, bu da girdi vektörünü sınıflardan birine atama olasılıkları olarak kullanılmalarına izin verir (sınırlı durumda) , eğitilmiş ağın çıktıları bu olasılıklara yakınsar). Böyle bir ağın çıktı sayısı her zaman en az ikidir (temel mantık tarafından belirlenen bir sınırlama).
Evet, yardımdan http://alglib.sources.ru/dataanalysis/neuralnetworks.php
Özel bir durum, doğrusal bir çıktı katmanına ve SOFTMAX çıktı normalleştirmesine sahip sinir ağlarıdır. Ağ çıktılarının negatif olmaması ve toplamlarının kesinlikle bire eşit olması gereken sınıflandırma problemleri için kullanılırlar, bu da girdi vektörünü sınıflardan birine atama olasılıkları olarak kullanılmalarına izin verir (sınırlı durumda) , eğitilmiş ağın çıktıları bu olasılıklara yakınsar). Böyle bir ağın çıktı sayısı her zaman en az ikidir (temel mantık tarafından belirlenen bir sınırlama).
Ah, peki, yani, belirli bir sonucun olasılığını sunuyoruz, örneğin, 0,9 satın alma ve ardından 0,1 satma olasılığı, bir dizi satın alma, diğeri satma, bunları doldurma olasılıkları için bir tampon görevi görecektir. bu değerler ve öğrendikten sonra alım satım olasılıklarını ayrı ayrı atmak olacak, doğru anlamış mıyım?
Ah, peki, yani, belirli bir sonucun olasılığını sunuyoruz, örneğin, 0,9 satın alma olasılığı, ardından 0,1 satma olasılığı, bir dizi satın alma, diğeri satış ve daha sonra olasılıklar için bir tampon görevi görecektir. onları eğitmek, olasılıkları ayrı ayrı fırlatacak, doğru anladın mı?
Ve okuduklarım - aynı fikirdeydim.
Avantajının ne olduğunu bilmesem de.. 1 çıkışa sahip olmak, ayrıca 0 (veya -1) Alış ve 1 Satış gibi olasılıklar da alacağız. (Ya da tam tersi, nasıl öğrettiğinize bağlı olarak).
3 veya daha fazla çıkış olması faydalı olabilir mi? Sonuçta 3 veya 4 görev için 1 çıktı .... kullanmak zor olacaktır (Sınıf al, bekle, sat olarak 0, 0,5 ve 1'i de kullanabilseniz de)
Ve okuduklarım - aynı fikirdeyim.
Avantajının ne olduğunu bilmesem de.. 1 çıkışa sahip olmak, ayrıca 0 (veya -1) Alış ve 1 Satış gibi olasılıklar da alacağız. (Ya da tam tersi, nasıl öğrettiğinize bağlı olarak).
3 veya daha fazla çıkış olması faydalı olabilir mi? O zaman 3 veya 4 görev için 1 çıktı .... kullanmak zor olacaktır (Buna rağmen 0, 0,5 ve 1'i Buy sınıfları, bekle, Sat olarak da kullanabilirsiniz)
evet, muhtemelen 2'den fazla sınıfa sahip olmak için yaptılar .. o zaman muhtemelen daha fazla kümeleme olacak ve k-means gibi diğer yöntemleri kullanabilirsiniz :)