Sinir ağı programlama sorusu - sayfa 6

 
Vinin :


256 nöron başına bir gizli katman olan normal bir 256 giriş ızgarası yaptım. Peki, bir nöronun çıkış katmanı. Ve tüm bunlar MT4'te mükemmel bir şekilde öğretildi

1. Test cihazının genetik algoritması mı yoksa dahili ağ öğrenme algoritması mı?

 
Reshetov :
Test cihazının genetik algoritması mı yoksa ağın dahili öğrenme algoritması mı?

Her şey bir senaryo aracılığıyla yapıldı. Dahili algoritma
 
Optimizasyon ile seçenekler olmasına rağmen. Bir sayaç yaptım ve en uygun seçenekleri global değişkenlere kaydettim. Sonuç iyileştikçe onları yeniden yazdı. Mükemmel bir uyum vardı.
 
Sonuç olarak, test cihazı GA tarafından seçilen tüm ağırlıklara ve eşiklere sahibim, son 3 hariç rapordaki giriş parametrelerine bakın. Öğrenme oranı yüksektir, çünkü 10.000 barın optimizasyonu 5 dakikadan fazla değildir. O zaman 256 girişe ihtiyacım yok çünkü. ve üçü gözler için yeterlidir - üzerlerinde bile ızgara siyah olarak yeniden düzenlenmiştir.
 
Reshetov :


256 girişe ihtiyacım yok, çünkü ve üçü gözler için yeterlidir - üzerlerinde bile ızgara siyah olarak yeniden düzenlenmiştir.

Bu zaten kapsam dışı. Tartışmaya değmez. Herkesinki kendine
 
Vinin :

Bu zaten kapsam dışı. Tartışmaya değmez. Herkesinki kendine


Eh, konu uzun zamandır öldü, kimseye zarar vermeyeceğiz ...

Reshetov :


O zaman 256 girişe ihtiyacım yok çünkü. ve üçü gözler için yeterlidir - üzerlerinde bile ızgara siyah olarak yeniden düzenlenmiştir.


Yeniden eğitildiğinden emin misin? Belki de mimarinin zayıflığından dolayı yeterli "genelleme bilgi işlem gücü" yoktur?

Optimize edicide iki işaretin kesiştiği noktada bir Uzman Danışman ayarlanır, ancak ileriye doğru yalnızca çok şanslıysanız çalışır. Ve açıkça yeniden eğitim meselesi değil ...

Aslında, aşırı takma ile başa çıkmak kolaydır, eğitim örneğinin boyutunu kontrol veya FOS'ta sabit bir artıya yükseltiriz. NN, örneğin tamamını hatırlayamaz ve basitçe genellemeye zorlanır. Bu durumda, elbette, sistemin özelliklerinde bir düşüş kaçınılmazdır, ancak burada örneğin daha çok girdilere bağlıdır.

 
Figar0 :


Eh, konu uzun zamandır öldü, kimseye zarar vermeyeceğiz ...

Ancak moderatörlerle tartışmamak daha iyidir. En azından IMHO kurallarını ihlal etmiyoruz ve bu durumda yönetimle iletişime geçme hakkımız var.

figar0 :


Yeniden eğitildiğinden emin misin? Belki de mimarinin zayıflığından dolayı yeterli "genelleme bilgi işlem gücü" yoktur?

Evet eminim.

Bunu kanıtlamak kolaydır. Mesele şu ki , optimizasyon sonuçlarında çok kasvetli göstergeler varsa, o zaman ileri olanlar onlar için başarısız olur. Ancak bu sonuçları göstergelere göre sıralayabilir ve ardından forvetlerin zaten başarılı olduğu daha sıradan değerler arayabilirsiniz. Bu sonuçların çok kasvetli olmadığı, ancak kötü olmadığı optimizasyon sonuçlarında başarılı forvetlerin kalabalık olduğunu söylemek daha doğru olacaktır.

En basit örnek. İyi bir geçmiş parçası alıyoruz, almaları ve duraklamaları kaldırıyoruz ve TS'yi, her bir çubukta NS okumaları alacak ve bunlar üzerinde işlem yapacak şekilde ayarladık. Onlar. ızgaranın okumaları açık pozisyonun yününe karşıysa, o zaman döneriz. Izgara, yalnızca birkaç işlemi açacak ve her şey bir artı olacak şekilde yapılandırılmıştır (kar faktörü yoktur). Tek katmanlı bir algılayıcıda ve hatta standart ağlarda bunu görmedim. Orada, şebeke genellikle hata yapar, bu nedenle uzun bir tarihsel dönemde, durmadan ve almadan bile iyi miktarda ticaret yapar.

Sanırım bu, ilk katmanı değiştirdiğim gerçeğinden kaynaklanıyor ve bir nedenden dolayı, artık kesinlikle lineer olarak ayrılabilir verileri gizli olanın girdilerine beslemeyi başarıyor. FIG biliyor olsa da, tasarımım Rosenblat'ınkinden bile çok daha basitleştirilmiş olduğu için mi? Büyük olasılıkla, bunun nedeni, tüm giriş parametreleri için tüm ağın GA kullanılarak tek geçişte ayarlanması ve bir tank olarak GA'nın doğrudan olmasa da aşırı uçlara gitmesidir, ancak asfaltta iki parmak gibi bu tür optimizasyon için çok faktörlü veriler, keşke açıkça tanımlanmış bir ekstremum veya birkaç ekstremum olsaydı. Öte yandan, ilk katmanın ilkelliği nedeniyle, çok hızlı ve oldukça yeterli bir şekilde yapılandırılır.

IMHO, giriş katmanlarına sahip modern sinir ağlarında, aşırı karmaşıklık yönünde çok akıllıdırlar. Sonuç olarak, çok iyi çalışmıyorlar. Ve çok katmanlı bir ağda, ilk katman en önemlisidir, çünkü gizli katmana ne verdiğine bağlı olarak nihai sonucu etkileyecektir. Sonuçta, normal bir ızgara çoğunlukla üç katmanlıyken, gizli ve çıktı katmanları zaten çok boyutlu bir uzayda ilkel bir doğrusal düzlemdir.

Diğer bir özellik, giriş verilerinin dinamik normalizasyonudur. Statik kullanırsanız, volatilitedeki herhangi bir değişiklik (ileride kesinlikle değişecektir) sonucu etkileyecektir. Bu sorunu dinamik lehine çözdüm.

 
Reshetov :

....

Önceki sayfadaki girdilere ne dersiniz? Oradaki kaygan yer, arabanın dönemi... Böyle bir ilkel üzerinde sonuç almak için Millet Meclisi ile böyle sihirli bir şeyin yapılabileceğini hayal bile edemiyorum. Ve doğru olan ne, eğitim örneğini nereden almıyorsunuz - OOS'ta yokuş yukarı mı gidiyor? Sonuç gerçekten stabil mi? Diğer çiftler ve enstrümanlar nasıl? EURUSD tahmin edilmesi en kolay olanıdır.

Reshetov :

Şebekenin ayarlanmasını önlemek için ticaret stratejimle daha fazla uğraşmak zorunda kaldım.

Ayrıca bir şekilde net değil. NS'nin sinyal vermesi ve NS'yi eğitim aşamasında TS üzerinden yönlendirmesi kişisel olarak bana mantıksız geliyor. Hemen, bir şekilde, yaklaşım tam tersi... Aracın üzerinden hangi yöne gittiler?

Reshetov :

Diğer bir özellik, giriş verilerinin dinamik normalleştirilmesidir. Statik kullanırsanız, volatilitedeki herhangi bir değişiklik (ileride kesinlikle değişecektir) sonucu etkileyecektir. Bu sorunu dinamik lehine çözdüm.

Ben de bunu uyguluyorum, bazen iyiye, bazen çok fazla değil. Aynı zamanda girdiye de bağlı olacaktır, ancak bu girdiler kesinlikle fayda sağlayacaktır. Tabii ki, dinamik normalleştirme girdiye bilgilendiricilik katar, ancak öğrenmeyi karmaşıklaştırır ve öğrenmede her şey "basit" olduğundan, bunun olumlu bir sonuç için çalışması mantıklıdır.

 
Figar0 :

Önceki sayfadaki girdilere ne dersiniz? Dönemin arabaları kaygan bir yer...

Arabanın sabit bir periyodu var. Eskiden bir girdi parametresiydi, ancak çeşitli başarılı ileri testler topladım ve bu sabitin etrafında dans ettikleri sonucuna vardım.

figar0 :


Böyle bir ilkelden sonuç almak için Millet Meclisi ile böyle sihirli bir şeyin yapılabileceğini hayal bile edemiyorum.

...

Ayrıca bir şekilde net değil. NS'nin sinyal vermesi ve NS'yi eğitim aşamasında TS üzerinden yönlendirmesi kişisel olarak bana mantıksız geliyor. Hemen, bir şekilde, yaklaşım tam tersi... Aracın üzerinden hangi yöne gittiler?

Bütün bu ekonomi bir günde değil, oldukça uzun bir süre ve parça parça toplandı. Yavaş yavaş bir şeyler eklendi, bir şeyler cilalandı ve algoritmadan bir şeyler atıldı.

Ve sinirlendi:

1. Aşırı kod minimizasyonu. Michelangelo'nun yöntemi: bir blok taş alıyoruz, gereksizleri kesiyoruz, bir heykel alıyoruz (daha sonra bu yöntem Ockham ve usturasına atfedildi).

2. Test kullanıcısı optimizasyonunun sınırlamalarını aştı

3. Uyumdan kurtulmak için TC'yi bu kadar kalın bir cilde pürüzlendirdi

figar0 :

Ve doğru olan, eğitim örneğini nereden almıyorsunuz - OOS'ta yokuş yukarı mı gidiyor? Sonuç gerçekten stabil mi? Diğer çiftler ve enstrümanlar nasıl? EURUSD tahmin edilmesi en kolay olanıdır.

OOS'taki sonuçlar farklı, boşa gidenler de var. Kasıtlı olarak ayarlanmış sonuçlardan sonra, gridin yayılmaya göre birleşmemesi şaşırtıcı olurdu. Hepsinin kârlı olduğunu söylemedim, ama en “lezzetli” olanı seçtim (belki daha “iştah açıcı” olanlar vardır, çünkü hepsini izlemedim - çok fazla var).

Diğer stratejilerle karşılaştırıldığında tek fark, başarılı yönlendirmelerin manuel olarak kolayca bulunabilmesi ( optimizasyon sonuçları sıralanırsa kalabalıklaşırlar) ve seçimin yeterince geniş + bireysel giriş parametreleri için uygun dilimler, yani. hafif eğimli ekstrema.

Diğer çiftlerden biraz altın ve GBPUSD'yi kontrol ettim - yaklaşık olarak aynı.

 
Reshetov :

Karamsarlık, strateji test cihazının sınırlamaları tarafından belirlenir, yani. giriş değerlerinin aralıkları büyükse veya bu aynı değerlerin sayısı sınırı aşarsa, optimize edici çalışmayı reddeder. Yani hala sınırlar var.

Bugün nihayet 3:3:1 mimarisiyle (girişte üç nöron, üç gizli girdi, bir çıktı) tamamen MQL4'te yazılmış bir sinir ağının montajını tamamladım. Tüm katmanlar, bir test cihazı GA kullanılarak yapılandırılır. Ancak sorun şu ki, 1 katman için en az 12 giriş parametresine ihtiyacınız var, en azından 1'lik bir adımla (Rosenblat gibi) -1'den 1'e kadar değerlerle. Ve optimize edici çok fazla çekmez. Dışarı çıkıp ilk katmanı basitleştirmem gerekiyordu.

Kendi kendine yapılan bir ağ, monte edilmiş birinin aksine iyidir, çünkü yükseltilebilir. Örneğin, ilk katmanın standart dışı yapılması gerektiği gerçeğine ek olarak, giriş verilerinin dinamik normalizasyonunu da ekledim.

Giriş sinyalleri çok ilkeldir:

Yukarıdaki tüm ilkelliğe rağmen, yine de, şebekenin çok yeniden eğitilebilir olduğu ortaya çıktı, yani. bu tür ağırlıklar ve eşikler, test sonuçları tek bir hata olmadan ortaya çıktığında (kar faktörü yoktur) kolayca seçilir. Ancak böyle bir ayarlamadan sonra, yayılmadaki tahliyenin ileri testi hemen başlar. Şebekenin ayarlanmasını önlemek için ticaret stratejisiyle daha fazla uğraşmak zorunda kaldım.

Tüm beyinleri tersyüz etmesine rağmen oyun muma değdi:

Bunlar test sonuçları. 1'den 273'e kadar işlem - optimizasyon, ardından ileri test.

Ve işte ileri test:

İşte ileri test sonuçları:

Strateji Test Raporu
RNN
Alpari Demosu (Derleme 409)

sembol EURUSD (Euro vs USD)
Dönem 1 Saat (H1) 2011.10.24 00:00 - 2012.01.13 23:59 (2011.10.24 - 2012.01.14)
modeli Açılış fiyatları ile (yalnızca bar açıklıklarının açık kontrolüne sahip Uzman Danışmanlar için)
Seçenekler t1=54; t2=4; t3=48; x1=194; x2=128; x3=68; y1=1; y2=1; y3=-1; t4=136; sl=900; lot=1; mn=888;

Tarihteki barlar 2431 Simüle keneler 3862 simülasyon kalitesi n/a
Grafik Uyuşmazlığı Hataları 0




İlk para yatırma 10000.00



Net kazanç 14713.00 Toplam kar 40711.60 Toplam kayıp -25998.60
karlılık 1.57 kazanma beklentisi 88.10

Mutlak Düşüş 2721.60 Maksimum düşüş 4800,00 (%39,74) göreceli düşüş %39,74 (4800,00)

Toplam işlemler 167 Kısa pozisyonlar (% kazandı) 101 (%67.33) Uzun pozisyonlar (% kazandı) 66 (%92.42)

Karlı işlemler (tümünün yüzdesi) 129 (%77,25) İşlemleri kaybetme (tümünün yüzdesi) 38 (%22,75)
En büyük karlı ticaret 900,00 ticaret kaybetmek -907.20
Orta karlı ticaret 315.59 ticaret kaybetmek -684.17
En yüksek miktar sürekli kazanç (kar) 13 (2557.00) sürekli kayıplar (kayıp) 4 (-3605.40)
Maksimum sürekli kar (kazanç sayısı) 3511.60 (11) sürekli kayıp (kayıp sayısı) -3605,40 (4)
Ortalama sürekli kazanç 4 sürekli kayıp 1





En ilginç olanı, grafik bile optimizasyon bölümünün ileri bölümden daha kötü olduğunu gösteriyor. Bu nadiren olur. Bu forveti diğerlerinden en iyisi olarak seçmeme rağmen, yani. diğer forvetlerde optimizasyondan ve çoğundan daha kötü sonuçlar var, ancak yine de.


Bahşiş için teşekkürler! Sen ve Vinin benim için yetkilisiniz. Aradan ne kadar zaman geçmiş ve siz hala bu konu üzerinde çalışıyorsunuz.İnternetteki çalışmalarınızı topladım.En ilginç olan şey, hem haklısınız hem de paralel olarak, aynı amaca doğru gittiğinizi bilmiyorsunuz. . Birinden alıp diğerinden aldım ve şimdi sonucu bekliyorum. Yeni bir yön yaratıyorsunuz ama çok zor!!
Neden: