MT4 için hızlı ve ücretsiz bir kitaplık olan sinir ağı uzmanlarını memnun etmek için - sayfa 15
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
Ekleyeceğim. Veya terminal çökmesi durumunda. Ama çözüm bulunmuş gibi.
Soru farklı. Vladislav, "aracılar" olmadan C++ kodunu okuyor gibisin.
Aynı ağ komitesi yanıtları ve ağırlıkların doğru başlatılmasıyla ilgili sorun hakkında yorum yapabilir misiniz? ( burada ve daha fazla günlük ayrıntılı olarak okuyun, ancak ağırlıklarla ilgili soru burada)
Kodları inceledi. Randomizasyon var. Ne değildir: standart C \ C ++ 'da yarı rasgele bir sayı üreteci olduğundan, her rand () çağrısından önce çekirdeği yeniden başlatmanız önerilir (seed - srand(int ) - başlangıç noktasını kaydırın)
Evet. Her şebekenin farklı girdileri vardır, ancak bu zorunlu değildir. Örneğin, aynı RSI ve bir ızgara gibi standart bir sinyal alabilir ve herhangi bir girişte kaba kuvvet üzerinde yine de negatif değerler alabilirsiniz.
Ağırlıkların ilk başlatılması -1, 1'dir.
Profil hakkında ... Eğitimli ağın ortaya çıkan dosyasını mı kastediyorsunuz?
Numara. Farklı şeylerden bahsediyoruz. Sana çıkışları sordum!? Lütfen buraya giriniz. Onlar. 16 ağdan oluşan bir komitemiz var, onları rastgele ağırlıklarla başlatıyoruz, her birinin girişine tek bir &input_vector[] besliyoruz, sonuç olarak aynı çıktıları alıyorum !!! (tüm günlükler bağlantıda yayınlanmıştır)
İşte asıl soru bu!
........
Evet. eğitimli ağın ortaya çıkan dosyasını burada veya sabun için gösterin .... Ağırlıkların değerleri ile ilgileniyor. Başlatmadan hemen sonra eğitim almadan bir ağ profiline sahip olmak güzel olurdu. TAMAM?
Numara. Farklı şeylerden bahsediyoruz. Sana çıkışları sordum!? Lütfen buraya giriniz. Onlar. 16 ağdan oluşan bir komitemiz var, onları rastgele ağırlıklarla başlatıyoruz, her birinin girişine tek bir &input_vector[] besliyoruz, sonuç olarak aynı çıktıları alıyorum !!! (tüm günlükler bağlantıda yayınlanmıştır)
İşte asıl soru bu!
........
Evet. eğitimli ağın ortaya çıkan dosyasını burada veya sabun için gösterin .... Ağırlıkların değerleri ile ilgileniyor. Başlatmadan hemen sonra eğitim almadan bir ağ profiline sahip olmak güzel olurdu. TAMAM?
Gerçekten farklı şeylerden bahsediyoruz)) Sorununuzu anlıyorum. Ve kontrol edildi. Ve evet, böyle bir etkinin mevcut olduğunu doğruladı.
Son yazımda "Başka bir tuhaflık" yazdım, yani ilk ağırlıkların rastgeleleştirilmesi sorunu ve tek bir girdi vektörü ile grid komitesinin çalışmalarının kimliği ile ilgisi yok.
MSE'ye göre, pozitif yakınsama ile aşırı öğrenme ile (etki normal ile de mevcut olmasına rağmen), ağın mutlak bir minimum "bulmadığını" ve hatta yerel bir tane bile bulmadığını, sadece aşağı yuvarlandığını söylüyorum. öğrenme algoritmasındaki sorunları gösteren aralığın sınırı ..
Bu arada, ilk ağırlıkların başlatılmasını kontrol ettim (oluşturduktan hemen sonra yazdım). Her şey çalışıyor. Randomizasyon var.
Ama işte profilde bulduğum garip bir giriş:
katman_boyutları=31 31 17 2
Ve bu ile:
ann = f2M_create_standard(4, AnnInputs, AnnInputs, AnnInputs / 2 + 1, 1); AnnInputs=30 ile
Gizli katmanlar nedense birden fazla açıklandı. Ama daha da fazlası, "2" çıktı katmanının boyutuyla "1" beyan edilenin boyutuyla kafam karıştı !!!
Bu arada, ilk ağırlıkların başlatılmasını kontrol ettim (oluşturduktan hemen sonra yazdım). Her şey çalışıyor. Randomizasyon var.
Ama işte profilde bulduğum garip bir giriş:
katman_boyutları=31 31 17 2
Ve bu ile:
ann = f2M_create_standard(4, AnnInputs, AnnInputs, AnnInputs / 2 + 1, 1); AnnInputs=30 ile
Gizli katmanlar nedense birden fazla açıklandı. Ama daha da fazlası, "2" çıktı katmanının boyutuyla "1" beyan edilenin boyutuyla kafam karıştı !!!
Her şey orada. Toplam katman 4: giriş, 2 gizli, çıkış. Her katmanın bias = 1'i vardır, "kullanıcı" boyutuna katılmaz. Bu, FANN dokümantasyonundan alınmıştır.
İyi şanlar.
Bu arada, ilk ağırlıkların başlatılmasını kontrol ettim (oluşturduktan hemen sonra yazdım). Her şey çalışıyor. Randomizasyon var.
Evet, ağırlıkların randomizasyonu var. Ama yine de tekrar ediyorum:
Algılanan. Rastgeleleştirme -1 ile 1 arasındadır ve ağ profilinde ağırlık değerleri -10.0e--003 ile 10.0e-003 arasındadır.
Örnek: (12, -7.35577636217311400000e-003) (13, 7.63970005423449810000e-002)
Bu doğru?
Bu yüzden ağ profillerinizi göstermenizi istedim ....
Evet, ağırlıkların randomizasyonu var. Ama yine de tekrar ediyorum:
Algılanan. Rastgeleleştirme -1 ile 1 arasındadır ve ağ profilinde ağırlık değerleri -10.0e--003 ile 10.0e-003 arasındadır.
Örnek: (12, -7.35577636217311400000e-003) (13, 7.63970005423449810000e-002)
Bu doğru?
Bu yüzden ağ profillerinizi göstermenizi istedim ....
İşaretlendi - Farklı değerlere sahibim ve neredeyse eşit dağılmış durumdayım. İşte başlatmalardan biri:
bağlantılar (connected_to_neuron, ağırlık) = (0, -9.94689941406250000000e-001) (1, -6.88415527343750000000e-001) (2, 6.51367187500000000000e-001) (3, -8.20678710937500000000e-001) (4,9.83703613281250000000e-001) (5, -6.84936523437500000000E-001) (6, 3.60107421875000000000e-001) (7, 2.90527343750000000000E-001) (8, 7.54638671875000000000E-001) (9, -7.60314941406250000000e-001) (10, -7.781372031250000000e-001) ) (11, 7.55432128906250000000e-001) (12, -6.61560058593750000000e-001) (13, 1.65771484375000000000e-001) (14, 5.71044921875000000000e-001) (15, -1.54785156250000000000E-001) (16, 9.851074218755107421875000000E-002) ) (17, -5.26916503906250000000E-001) (18, 8.58947753906250000000e-001) (19, -5.66528320312500000000E-001) (20, 7.31445312500000000000E-001) (21, -8.80310058593750000000E-001) (22, 6.82373046875000000 002)
................................................ . ................................................ .. ................................................... ... ................................................ .... ................................
(42, -6.95373535156250000000E-001) (43, -7.01538085937500000000E-001) (44, -7.38952636718750000000E-001) (45, -3.44238281250000000000E-002) (46, -1.99401855468750000000E-001) (47, 2.731323232185550000 - 001) (48, 4.53186035156250000000e-001) (49, -4.70947265625000000000e-001) (50, -7.74169921875000000000e-001) (51, -9.547119114062500000000e-001) (52, 8.09509277343750000000e-001) (53 9.92370605468750000e-001) 001) (54, -4.13391113281250000000E-001) (55, 6.67297363281250000000E-001) (56, 9.59289550781250000000E-001) (57, 1.09252929687500000000E-001) (58, -3.0255,1269531250000000e-001) (59, - 5.20009785156250000E-001) e-001) (60, 5.85754394531250000000e-001) (61, 7.99987792968750000000e-001) (62, -1.11999511718750000000e-001) (63, -8.07495117187500000000e-001) (64, -7.08862304687500000000e-001) (65 , 8.05236816406250000000E-001) (66, 2.9260253906250000000E-001) (67, 3.61633300781250000000E-001) (68, -2.99011230468750000000E-001) (69, 6.2481689453125000000e-001) (70, -7.15759277343750000000e-001) ) (71, -7.57202148437500000000e-001) (72, -1.31774902343750000000e-001) (73, 5.53894042968750000000e-001) (74, -3.85009765625000000000e-001) (75, -3.33618164062500000000e-001) (76 -9.58740234375000000000) -001) (77, -3.70544433593750000000e-001) (78, 8.26904296875000000000e-001)
ZY Truth, kütüphaneyi kendisi topladı. f2M'den biraz farklı. Her ne kadar yazarın f2M ideolojisini sevsem de benzer bir görünüme yol açmış olsam da. Bugün bir jeneratör yeniden başlatma ekledim - ne kadar etkilediğini bilmiyorum.
İşaretlendi - Farklı değerlere sahibim ve neredeyse eşit dağılmış durumdayım. İşte başlatmalardan biri:
Ağırlıklarınız doğrudan fazla ama aynı giriş vektörüne sahip ağ çıkışlarının değerleri nedir?
Ağırlıklarınız doğrudan fazla ama aynı giriş vektörüne sahip ağ çıkışlarının değerleri nedir?
Henüz her şeyi gerçekten test etmedim - test cihazı optimizasyon üzerinde çalışırken. Bölmek istemiyorum.
Dll, mqh ve bir uzman ekleyebilirim - orijinallerinden farklılıklar var - muhtemelen daha hızlı bir çalışma formuna getirmek mümkün olacak.