NN için giriş değerleri nasıl doğru bir şekilde oluşturulur. - sayfa 29

 
sergeev писал (а) >>

Başka bir deyişle, burada piyasa için doğrusal olarak ayrılabilir bir sınıflandırma elde etmenin mümkün olduğuna dair bir kanıt olduğunu söyleyebiliriz.

Ben kendim, " münhasır" veya "doğrusal bir ağ" yapmanın imkansızlığı hakkında söylenen yerde akıllı kitaplar okuduktan sonra, piyasa için doğrusal ağları kullanmanın imkansızlığı olarak kabul ettim (mantıksal nedenden dolayı piyasa çok daha fazla. sadece "özel veya" dan daha karmaşık :).

Ya da belki değil mi? Belki Yuri haklıdır? Ve doğrusal olmayan kitaplarla ilgili bir sürü kitapla uğraşmak zorunda değilsiniz, sadece her şeyi uçaklarla mı yeniyorsunuz?

HERHANGİ bir problem için doğrusal olarak ayrılabilir bir sınıflandırma elde edilebilir.

ANCAK bunun için kalıpları kendiniz aramanız ve bunlara dayalı girdiler oluşturmanız gerekirken, doğrusal olmayan algılayıcının kendisi kalıpları bulabilir.

Yukarıda yazdığım gibi - lineer bir algılayıcı ile olumlu sonuçlar alınırsa - buna gerçekten gerek yok, kurallar zaten bulundu.

 
Peki, o zaman lineer / lineer olmayan kapalı sorusunu düşünüyorum.
 

Ağ şablonu. Ayrı bir iş parçacığında çalışır (CWinThread).

Sürüm henüz istediğimiz gibi tamamlanmadı. İş parçacığı kesme kontrolü yoktur.

Dosya işlemlerinin mantığı zayıf bir şekilde uygulanmaktadır.

Çok sayıda hatalı kod yorumu.

15.07.08

Dosyalar:
better1.rar  50 kb
 
Bilgi akışından bir zamanlayıcı aracılığıyla okuma yapıldı (gereksiz veri yüklememek için)
İşaretçiler aracılığıyla iş akışından okuma bilgileri aydınlatıldı (kopya sayısını azaltmak için)
Kök-ortalama-kare hatasının grafiğini çizmek için bir işlev yaptı (ağın yerel minimumlar boyunca nasıl "gezdiğini" görün)
Hesapları durdurmak ve mevcut ağırlıkları bir dosyaya atmak için bir düğme eklendi.
Normal yorumlar eklendi

16.08.08
Dosyalar:
better1_1.rar  53 kb
_hilo_1.mq4  4 kb
_target_2.mq4  2 kb
 
sergeev писал (а) >>
Bilgi akışından bir zamanlayıcı aracılığıyla okuma yapıldı (gereksiz veri yüklememek için)
İşaretçiler aracılığıyla iş akışından okuma bilgileri aydınlatıldı (kopya sayısını azaltmak için)
Kök-ortalama-kare hatasının grafiğini çizmek için bir işlev yaptı (ağın yerel minimumlar boyunca nasıl "gezdiğini" görün)
Hesapları durdurmak ve mevcut ağırlıkları bir dosyaya atmak için bir düğme eklendi.
Normal yorumlar eklendi

16.08.08

Sergeev Alexei'de kıskanılacak doğurganlık!

 
Sart писал (а) >>

Sergeev Alexei'de kıskanılacak doğurganlık!

+1 :)

 
1. Başlıklar aracılığıyla MetaTrader ve VC++ arasında aşağı yukarı normal bir değişim yaptı.
- CreatePattern - bir girdi, çıktı vektörleri dosyası oluşturur, ayrıca çıktıların/çıktıların desen sayısı ve boyutları hakkında bilgi yazar.
- Ardından, VC++ kendi içinde benzer bir dizi okur ve oluşturur. Bir grid ile işlendikten sonra, aynı isimde fakat .wgh tipinde bir dosya oluşturur, burada ağ ağırlıklarını, eşikleri ve ağ modeli başlığına (katman sayısı, boyutları) yazar.
- Gösterge NeuroInd.mq4 (NeuroIndP) - ağırlıklar dosyasını okur ve kendisi için benzer bir model oluşturur ve şimdi CreatePattern ile aynı algoritmayı kullanarak çubuklardan geçer ve bu ızgaraya girdiler verir. Gösterge bir çıktı vektörü oluşturur. NeuroIndP - aynısını okur, ancak giriş noktalarını gösterir.

CreatePattern betiği ve NeuroInd türkiye, giriş vektörlerini sağlamak için aynı algoritmalarla birbirine "bağlıdır", tek fark NeuroInd'in giriş vektörünün farklı bir boyutuna sahip olabilmesidir (ağı nasıl işlemeye karar verdiğimize bağlı olarak) . Bu algoritmayı bir şekilde evrenselleştirmeye ve ayrı bir dosyaya koymaya çalışmalıyız (örneğin, <InputPatternAlg.mqh> içinde). Böylece, bu komplekste sadece onu değiştirmek mümkün olacaktır.
-----------
2. Sınıf yapısında, VC++ ara Clayer'lardan kurtuldu (bence bu bir hataydı :) + biraz bellek tasarrufu yapıyoruz + grid hesaplama algoritması , göstergedeki hesaplama algoritmasıyla tamamen örtüşüyor).
Dosyalar:
 

Ağ ile ne kadar çok çalışırsam, girdi-çıktı çifti kadar önemli olanın girdiler olmadığını o kadar iyi anlıyorum. Bu bağlamda, StatBars'tan ilk sayfadaki makaleler çok "öğrenme için faydalı" olacaktır. Ayrıca çıktı ikili değil de sürekli ise, yaklaşımın daha hızlı ve muhtemelen daha iyi olduğunu fark ettim. (birkaç tutarsız ve tekrarlayan giriş-çıkış çifti).

Prensip olarak, girdilerle ilgili her şey yolunda. Bir kare dama (örneğin, periyot başına 5 değerden oluşan 5 periyot) benzersiz, tekrarlanmayan girişler verir.

İşte çıkışlar...

Test edilmiş çıkış oranı (Up-Dn)/(Up+Dn). Hızlı bir şekilde birleşir.

Tek dezavantajı bu oranın Up ve Dn'nin mutlak değeri hakkında yaklaşık bir bilgi vermemesi ama ben isterim :) 10/20'nin 50/100 olması umurunda değil

Çıktı olarak sadece Up-Dn'yi verirseniz (fiyat sapmasının değerini ve hangi yönde olduğunu bilmek için) ve ardından ark tanjantı ile sıkıştırırsanız, değerlerin doygun olduğu ortaya çıkar.

(Araştırmak ve maksimuma bağlanmak istemediğim için, doğrusal sıkıştırma değil, yay tanjantı kullandığımı hemen söyleyeceğim).

Doygunluk değerini azaltmak için bir katsayıya (Up-Dn) bölmek mümkündür, daha sonra zaten nadir olacak ve çok fazla tekrar ve tutarsızlık olmayacak olan büyük değerlerde doygunluk oluşacaktır.

Başka bir seçenek de muhtemelen ağları yalnızca Up ve Dn için ayrı ayrı denemektir.

Merak ediyorum, başka seçeneği olan var mı?

 
sergeev писал (а) >>

Ağ ile ne kadar çok çalışırsam, girdi-çıktı çifti kadar önemli olanın girdiler olmadığını o kadar iyi anlıyorum. Bu bağlamda, StatBars'tan ilk sayfadaki makaleler çok "öğrenme için faydalı" olacaktır. Ayrıca çıktı ikili değil de sürekli ise, yaklaşımın daha hızlı ve muhtemelen daha iyi olduğunu fark ettim. (birkaç tutarsız ve tekrarlayan giriş-çıkış çifti).

Prensip olarak, girdilerle ilgili her şey yolunda. Bir kare dama (örneğin, periyot başına 5 değerden oluşan 5 periyot) benzersiz, tekrarlanmayan girişler verir.

İşte çıkışlar...

Test edilmiş çıkış oranı (Up-Dn)/(Up+Dn). Hızlı bir şekilde birleşir.

Tek dezavantajı bu oranın Up ve Dn'nin mutlak değeri hakkında yaklaşık bir bilgi vermemesi ama ben isterim :) 10/20'nin 50/100 olması umurunda değil

Çıktı olarak sadece Up-Dn'yi verirseniz (fiyat sapmasının değerini ve hangi yönde olduğunu bilmek için) ve ardından ark tanjantı ile sıkıştırırsanız, değerlerin doygun olduğu ortaya çıkar.

(Araştırmak ve maksimuma bağlanmak istemediğim için, doğrusal sıkıştırma değil, yay tanjantı kullandığımı hemen söyleyeceğim).

Doygunluk değerini azaltmak için bir katsayıya (Up-Dn) bölmek mümkündür, daha sonra zaten nadir olacak ve çok fazla tekrar ve tutarsızlık olmayacak olan büyük değerlerde doygunluk oluşacaktır.

Başka bir seçenek de muhtemelen ağları yalnızca Up ve Dn için ayrı ayrı denemektir.

Merak ediyorum, başka seçeneği olan var mı?

Her çubukta bir tür girdi vektörü sağlıyor musunuz ve her çubukta bir çıktı mı istiyorsunuz?

 
MPS'nin bu versiyonu zaten biraz daha iyi, ama yine de ihtiyacımız olan şey değil, izolasyona ihtiyacımız var, yani. Kısa'dan sonra Uzun gelir ve bunun tersi de geçerlidir.
Dosyalar:
mps.zip  7 kb