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

 
San Sanych Fomenko :

Eğitim, yeniden eğitim ve yeniden eğitim (aşırı takma) temelde farklı şeylerdir.

Tüm bu eğitimler her yeni barda bu forumda ve genel olarak TA çerçevesinde çiğneniyor ve çiğneniyor.

Aşırı takmaya (aşırı takmaya) karşı mücadelede iki numara biliyorum.

1. Hedef değişkenle ilgili olmayan tahmin edicilerden tahmin ediciler kümesinin temizlenmesi - girdi tahmin ediciler kümesinin gürültüden temizlenmesi. Bu konunun ilk 100 sayfasında bu konu çok ayrıntılı olarak ele alındı.

2. Bir dizi tahmin ediciyi gürültüden arındırdıktan sonra, modeli eğitim örneğine, ardından bir dosyadan rastgele örnekler olan test ve doğrulama örneklerine uydurmaya (uydurmaya) başlıyoruz. Tüm bu üç setteki hata yaklaşık olarak aynı olmalıdır.

3. Ardından bir öncekinden ayrı olarak bulunan bir dosya alıp üzerinde modeli çalıştırıyoruz. Hata yine öncekilerle yaklaşık olarak aynı olmalıdır.

4. Bu kontroller düzenli olarak yapılırsa, o zaman sorunuz: "% 20'lik bir düşüş yeniden eğitim için bir sinyaldir" hiç buna değmez, çünkü ilk üç adımın bir sonucu olarak, parametre olarak bir düşüş elde edildi. model ve ötesine geçmek, modelin işlevsel olmadığını ve baştan başlamanız gerektiğini söylüyor.


Peki, genel durum bu, evet. Ve her özel araçta, her bir özel araçla daha fazla çalışmanız gerekir, o zaman normal öğrendiğinde, yeniden eğitildiğinde ve regl olduğunda anlayış gelecektir. Şahsen, bir aracın ne zaman normal eğitilip ne zaman eğitilmediğine dair kısa bir süre için zaten küçük bir anlayışa sahiptim.Örneğin, al/sat oranı yaklaşık olarak aynı olmalı ve eğitimde bir yükseliş olmalı. örnek, bir düşüş trendi ve düz zorunludur, aksi takdirde tek taraflı olarak eğitilir. Bu konudaki en önemli şey kendinizi "yeniden eğitmek" değil :)

Ayrıca mevsimsellik faktörü, kriz faktörü ve dikkate alınması gereken diğer birçok düzenlilik

 
San Sanych Fomenko :

1. Hedef değişkenle ilgili olmayan tahmin edicilerden tahmin ediciler kümesinin temizlenmesi - girdi tahmin ediciler kümesinin gürültüden temizlenmesi. Bu konunun ilk 100 sayfasında bu konu çok ayrıntılı olarak ele alındı.

Sonuç olarak çözüm neydi - çıktı komutlarıyla ilgili olmayan tahmin ediciler nasıl belirlenir?
 
elibrarius :
Sonuç olarak çözüm neydi - çıktı komutlarıyla ilgili olmayan tahmin ediciler nasıl belirlenir?
Nasıl? - Her şey ayrıntılara bağlıdır. Basit bir sorunu çözmek 2 günümü aldı. Şimdi çözüm açık görünüyor.))
 
Yuri Asaulenko :
Nasıl? - Her şey ayrıntılara bağlıdır. Basit bir sorunu çözmek 2 günümü aldı. Şimdi çözüm açık görünüyor.))
Sanırım genel, evrensel ilkeler de var? Özel örneğiniz hakkında bilmek de ilginç.
 
elibrarius :
Sanırım genel, evrensel ilkeler de var? Özel örneğiniz hakkında bilmek de ilginç.

Bloguma bak.

İlkeler, evet, evrenseldir. Ama genel çözümler yok. Bazı görev sınıfları hariç.

 

Önceki yüz sayfanın özeti :)

Neuronka ve hemen hemen tüm diğer popüler modeller yapay zekadan çok uzaktır. İstenen eğitim doğruluğunu elde eden bu tür tahmin değerleri kombinasyonlarını kolayca bulabilirler ve gelecekte, tahmin yaparken, yeni bir tahmin elde etmek için geçmiş sonuçları bir şekilde enterpolasyona tabi tutarlar (veya tahmin ederler).

Dolayısıyla, örneğin ma, rsi ve stokastik gibi tahmin edicileri alırsak ve bir öğrenme hedefi olarak zikzak ters çevirmeleri kullanarak bir nöronu eğitirsek, nörona "bu üç tahmin edici geri dönüşleri tahmin edebilir. Değerlerini bulun ve hatırlayın. bir tersine dönüşün olacağı öngörücüler." Ve nöronun kendisi bu tahmin edicilerin gerçekten uygun olup olmadığını anlamayacak. Bu verileri kabul edilebilir bir doğrulukla hatırlayacak ve ticaret yaparken, aynı ma, rsi, stokastik kombinasyonlarının tersine çevrilmeden önce korunacağını umacağız. Ama korunmayacaklar ve bir drenaj olacak.

Yararsız tahmin ediciler üzerinde eğitilmiş bir model, en az gbm, en azından bir nöron, en azından bir gerilemeyi birleştirecektir. Hatta rastgele seriler üretebilir ve bunları öngörücü olarak kullanabilirsiniz, nöron bunlar arasında tekrar eden kombinasyonlar bulacak ve bunları hatırlayacaktır.
Diğer araçları kullanarak tahmin edicileri ve bir öğrenme hedefini seçmek bir insan veri madencisinin görevidir. Ve modeli (nöronları) eğitmek zaten sondan bir önceki küçük adımdır.

Tahminciler, hem geçmişte hem de gelecekte eğitim verileri üzerindeki hedefle ilişkileri sürdürmelidir. Bu nedenle, örneğin SanSanych, bulunan bağımlılıkların yeni verilerde kaybolmadığından emin olmak için modeli farklı dosyalar üzerinde test etmekten bahsediyor.
Onlar. Kendimiz için tahmin edicileri ve bir hedefi dikkatlice inceliyor ve seçiyor, modeli eğitiyor ve test ediyoruz. Ardından, model için tamamen yeni veriler üzerinde test yapıyoruz. Her iki durumda da tahminin doğruluğu eşleşmediyse, tahminciler veya hedef uygun değildir. Başkalarını aramalıyız.


San Sanych Fomenko :

NN'ler durağan olmayan serileri tahmin edebilir mi? Varsa, durağan olmama türleri nelerdir?

Bence nöron, durağan olmayan zaman serilerini tahmin etmek için fiyatla çalışmak için tamamen uygun değil. Fiyatın davranışı sürekli değişiyor, bulunan kalıplar saatler içinde çalışmayı bırakıyor, her şey kaotik. Ve sonra birisi bir nöron alır, ona birkaç ay için fiyat verir ve bu süre boyunca tekrar eden bağımlılıkları bulmayı talep eder. Ama sonuçta, tekrar eden bağımlılıklar yoktur ve nöronun bulduğu ve hatırladığı şey sadece %100 rastgele tesadüfler olacaktır.

Bir nöron alırsanız, ona yalnızca bir şekilde (ve saf ohlcs değil) önceden işlenmiş fiyatları, örneğin göstergeleri verebilirsiniz.

 

Özet için teşekkürler, 100 sayfa gerçekten okumak istemedi...)

Tahmin edicileri manuel olarak seçme süreci, örneğin 3 adetlik kombinasyonlar. çok uzun zaman alacaktır. MT5'te 38 standart teknik gösterge bulunmaktadır. 3'ün kombinasyonları - çok büyük bir sayı. Ayrıca bunlar için dönemler, fiyat türleri ve diğer girdi parametrelerinin seçilmesi de gereklidir. Ve ilginç standart dışı göstergeler eklerseniz, test sayısı daha da artacaktır.

Bu nedenle, otomatik bir gösterge değerlendirmesi aramanız gerekir. Vladimir Perervenko makalelerinden 2 yaygın yöntem buldu:

1) Yüksek düzeyde ilişkili değişkenleri kaldırmak - işte R'de yapılır.

2) En önemli değişkenlerin seçimi - ayrıca R'ye karar verildi.

Ama direkt olarak MT5'e yazarken, belki de bu sorunlar için zaten hazır çözümler var mı? Veya kararları R'den MT5'e aktarma yöntemi, en azından basitleştirilmiş bir versiyonda...?

Prensipte, göstergelerin korelasyonunun nasıl aranacağı açıktır - sadece her gösterge çifti arasındaki farkı arayın -> her çubuk için toplayın -> çubuk sayısına bölün. (ya da başka bir şekilde?)

En önemlisi - tam olarak anlamadım ...

Belki tahmin edicileri temizlemek için başka yöntemler de vardır?

 
elibrarius :

Ama yine de direkt MT5 üzerine yazıyorum, belki bu konularda zaten hazır çözümler vardır? Veya kararları R'den MT5'e aktarma yöntemi, en azından basitleştirilmiş bir versiyonda...?

R'ye güvenerek her şeyi bir kerede MQL'de yazmak en iyi seçenek değildir. R'de bir strateji geliştirmek daha kolaydır, ardından EA'dan R kodunu çağırmak ve zaten test cihazında test etmek için bu kitaplığı https://www.mql5.com/en/code/17468 kullanın.
Büyük olasılıkla, oluşturma ve test etme sürecinde, paketleri, modelleri vb. Değiştirerek çok şey silinecek ve değiştirilecektir, tüm bunları R'de değiştirmek ve test etmek daha kolaydır.

Sonunda, her şeyi beğendiğinizde ve işe yaradığında, kodu manuel olarak mql'ye taşımayı deneyebilirsiniz.
R'de kullanılan paketlerin çoğu aslında C/C++ ile yazılmıştır, burada standart paketlerin kaynağını https://cran.r-project.org/web/packages/available_packages_by_name.html bulabilirsiniz.

 
Dr. tüccar :

Önceki yüz sayfanın özeti :)

Neuronka ve hemen hemen tüm diğer popüler modeller yapay zekadan çok uzaktır. İstenen eğitim doğruluğunu elde eden bu tür tahmin değerleri kombinasyonlarını kolayca bulabilirler ve gelecekte, tahmin yaparken, yeni bir tahmin elde etmek için geçmiş sonuçları bir şekilde enterpolasyona tabi tutarlar (veya tahmin ederler).

Dolayısıyla, örneğin ma, rsi ve stokastik gibi tahmin edicileri alırsak ve bir öğrenme hedefi olarak zikzak ters çevirmeleri kullanarak bir nöronu eğitirsek, nörona "bu üç tahmin edici geri dönüşleri tahmin edebilir. Değerlerini bulun ve hatırlayın. bir tersine dönüşün olacağı öngörücüler." Ve nöronun kendisi bu tahmin edicilerin gerçekten uygun olup olmadığını anlamayacak. Bu verileri kabul edilebilir bir doğrulukla hatırlayacak ve ticaret yaparken, aynı ma, rsi, stokastik kombinasyonlarının tersine çevrilmeden önce korunacağını umacağız. Ama korunmayacaklar ve bir drenaj olacak.

Yararsız tahmin ediciler üzerinde eğitilmiş bir model, en az gbm, en az bir nöron, en azından bir gerilemeyi birleştirecektir. Hatta rastgele seriler üretebilir ve bunları öngörücü olarak kullanabilirsiniz, nöron bunlar arasında tekrar eden kombinasyonlar bulacak ve bunları hatırlayacaktır.
Diğer araçları kullanarak tahmin edicileri ve bir öğrenme hedefini seçmek bir insan veri madencisinin görevidir. Ve modeli (nöronları) eğitmek zaten sondan bir önceki küçük adımdır.

Tahminciler, hem geçmişte hem de gelecekte eğitim verileri üzerindeki hedefle ilişkileri sürdürmelidir. Bu nedenle, örneğin SanSanych, bulunan bağımlılıkların yeni verilerde kaybolmadığından emin olmak için modeli farklı dosyalar üzerinde test etmekten bahsediyor.
Onlar. Kendimiz için tahmin edicileri ve bir hedefi dikkatlice inceliyor ve seçiyor, modeli eğitiyor ve test ediyoruz. Ardından, model için tamamen yeni veriler üzerinde test yapıyoruz. Her iki durumda da tahminin doğruluğu eşleşmediyse, tahminciler veya hedef uygun değildir. Başkalarını aramalıyız.


Bence nöron, durağan olmayan zaman serilerini tahmin etmek için fiyatla çalışmak için tamamen uygun değil. Fiyatın davranışı sürekli değişiyor, bulunan kalıplar saatler içinde çalışmayı bırakıyor, her şey kaotik. Ve sonra birisi bir nöron alır, ona birkaç ay için fiyat verir ve bu süre boyunca tekrar eden bağımlılıkları bulmayı talep eder. Ama sonuçta, tekrar eden bağımlılıklar yoktur ve nöronun bulduğu ve hatırladığı şey sadece %100 rastgele tesadüfler olacaktır.

Bir nöron alırsanız, ona yalnızca bir şekilde işlenmiş (ve saf ohlcs değil), örneğin göstergeler gibi fiyatlar verebilirsiniz.

Sorun nöronların kendisinde veya pazarlara uygulanabilir başka bir şeyde değil. Sorun, DM aracına tam olarak neyin beslendiğidir. Ve çıplak bir giriş fiyatı kullanmak tam bir delilik olurdu.

Sorun, CC'nin dediği gibi tahmincilerdir. Onlar. problem, durağan olmayan bir serinin durağan olarak nasıl temsil edileceğidir. Kim bu sorunu çözmeye en yakınsa, işini iyi yapmış.

 
Dr. tüccar :

R'ye güvenerek her şeyi bir kerede MQL'de yazmak en iyi seçenek değildir. R'de bir strateji geliştirmek daha kolaydır, ardından EA'dan R kodunu çağırmak ve zaten test cihazında test etmek için bu kitaplığı https://www.mql5.com/en/code/17468 kullanın.
Büyük olasılıkla, oluşturma ve test etme sürecinde, paketleri, modelleri vb. Değiştirerek çok şey silinecek ve değiştirilecektir, tüm bunları R'de değiştirmek ve test etmek daha kolaydır.

Sonunda, her şeyi beğendiğinizde ve işe yaradığında, kodu manuel olarak mql'ye taşımayı deneyebilirsiniz.
R'de kullanılan paketlerin çoğu aslında C/C++ ile yazılmıştır, burada standart paketlerin kaynağını https://cran.r-project.org/web/packages/available_packages_by_name.html bulabilirsiniz.

O kadar zor ki... algoritmayı anlayıp (yukarıdaki K korelasyonunda olduğu gibi) yazmanızdan daha fazla zaman alacaktır. Tüm girdileri numaralandırma, korelasyonu hesaplama ve yüksek düzeyde ilişkili olanları filtreleme işlevinin birkaç saat alacağını düşünüyorum.

Tahmin edicileri taramak için diğer çözümlerle de aynı derecede kolay olacağını umuyorum)

Yani gereksiz tahmin edicileri bulmak için başka çözümler var mı?

Neden: