Sinir ağının girişine ne beslenmeli? Fikirleriniz... - sayfa 30

 
Sergey Chalyshev haftanın günü, ayın evreleri, vs. vs.

Normal bir ağ, gerekli ve gereksiz verileri kendi kendine sıralayacaktır.

Önemli olan ne öğretileceğidir!

Bir öğretmenle öğrenmek buraya uygun değildir. Geriye doğru hata yayılımına sahip ağlar işe yaramaz.





Mekanizmanın nasıl eğitilmesi gerektiğine dair bir anlayış var mı? Yani, temel olarak, ağırlıkların üzerinden geçiyoruz, onları bir grafiğe uyduruyoruz. Ancak, aynı zamanda, başka bir ağırlık seti var, sadece bu grafiğe uydurulmamış, bir sonrakine, bir sonrakine ve bir sonrakine "uydurulmuş" bir set ve bu böyle devam ediyor.

Burada öğrenme, işe yaramayan bir dizi set ile işe yarayanlar arasındaki farkı bulmak olarak sunulmaktadır.

Ayrıca, eğitilen ağın daha fazla "ince ayar" yapmaya ihtiyacı yoktur, ağırlık sayılarını zaten kendi kendine düzenler. Makine öğreniminin neye benzediği, nasıl sunulduğu hakkında başka ne gibi fikirler var?

 
Sergey Chalyshev haftanın günü, ayın evreleri, vs. vs.

Normal bir ağ, gerekli ve gereksiz verileri kendi kendine sıralayacaktır.

Önemli olan ne öğretileceğidir!

Bir öğretmenle öğrenmek buraya uygun değildir. Geriye doğru hata yayılımına sahip ağlar işe yaramaz.

Ağ hiçbir şeyi sıralamayacaktır - ağ, eğitim örneğine en iyi uyan değişkenleri seçecektir.

Çok sayıda değişken büyük bir kötülüktür

 
Dmytryi Nazarchuk #:

Ağ hiçbir şeyi sıralamayacaktır - ağ, eğitim örneğine en iyi uyan değişkenleri seçecektir.

Çok sayıda değişken ana kötülüktür



Yolu ezberlemek için - en iyisi Öğrenmek için (mevcut anlayışta) - en kötüsü.

 
Maxim Kuznetsov #:

iki ızgara hazırlayın - biri sadece alışta, diğeri satışta.

ikisini de aç :-)

daha sonra aynı anda farklı yönlerde işlem yapmamaları için bir çarpışma çözümleme ağı (veya sadece alg.) ekleyin.

Düşünüyordum da, işaretlemeyi kodlayabilirsiniz. Giriş ve kapanışın gerçekleştiği tüm tarihleri yazın. Optimize edici bu tarihlerin dışında bir sinyal veren ağırlıklar belirlerse, kaybedilecek maksimum lot ile açılırız. Ya da hiç açmayın.

Öğretmenli bir yöntem olacağı ortaya çıktı, ancak MT5 güçleri tarafından

 

Parametreleri seçerseniz, sinir ağı bir özelliğin 1 değeri üzerinde bile çalışabilir

ancak neredeyse hiç yayılma olmayan kase koşullarına (dts) ihtiyacımız var. Herhangi bir TS'nin bu tür koşullarda çalışacağını düşünüyorum :)


 



Makinenin uygun gördüğü zaman bir pozisyon açmasını istemeyi tarif etmenin bir yolu var mı? Bunu nasıl açıklayabiliriz: sinir ağını kendimiz pozisyon açmaya zorluyoruz.... "eğer, o zaman." "Sinir ağının çıktısı 0,6'dan büyükse", "iki çıktı nöronundan üstteki daha yüksek değere sahipse" ne zaman açılacağını belirtiriz.



"Eğer - o zaman, eğer - o zaman." Ve böyle devam eder. Ve burada, böylece açılış sınırları, koşulları yoktur. Girdiler var, ağırlıklar var. Sinir ağının içinde bir çeşit lapa kaynıyor.

Makineye, girdiler ve ağırlıklarla (optimize edicide aranacak) çalışmasına dayanarak, bunu yapmaya karar verdiğinde pozisyonları açmasını bir şekilde tarif etmek mümkün mü? Bu koşul nasıl reçete edilebilir? Böylece pozisyonları ne zaman açacağını seçer.




UPD İkinci bir sinir ağı ekleyin.
O zaman nasıl bağlanır... Ya da birkaç sinir ağı.

Onları birbirine bağlamanın bir yolu. Veya böyle bir görevi tanımlamanın başka bir yolu var mı





UPD Bir deneyim bloğu ekleyin.
O zaman bir tür q-tablosu olduğu ortaya çıkıyor. Ve her şeyin sinir ağının içinde olmasına ihtiyacımız var.
 
Ivan Butko #:


... Bu koşulu nasıl ayarlayabilirim? Ne zaman açılacağını seçmesi için....

Burada size yardımcı olabilirim: aynı anda alım ve satım sinyalleri verin, nöron nereye gideceğine karar verecektir. Bana teşekkür etmeyin...

 

İlk defa bir işçi tarafından en üste bir set almayı başardım. Üstelik 3 yıl kadar ileriye dönük bir işçi.



2012'den 2021'e kadar 9 yıl boyunca eğitim


İleri 2021


İleri 2022


İleri 2023


2021-2023.12.13 ileriye dönük 3 yılın tamamı.




Doğru, MT5'in tüm potansiyelini kullanmak zorundaydık: maksimum optimize edilebilir parametre ağırlığı sayısı.

Daha fazla - MT5 yemin ediyor. Eh, daha fazla parametreyi optimize etmek mümkün olsaydı, sonuçları bilmek daha ilginç olurdu. Bu "64 bit çok uzun" yazısı ya da buna benzer bir şey beni şaşırttı. Genetik algoritma daha da fazla optimizasyona izin veriyorsa, bu sınırlamanın nasıl atlanacağını bilmek ilginç olurdu

 
Ivan Butko #:

daha fazla parametre optimize edilebilseydi



Toyota'dan eski bir spor arabaya geçtim MT5 optimize edilebilir parametre sayısı açısından sınırlı olduğundan, buradaki makaleden NeuroPro 1999'a geçtim -Ücretsiz ve Kolay Sinir Ağları - NeuroPro ve MetaTrader 5'i Bağlama.

Mimariyi miktar olarak artırdım: MT5'te 5-5-5-5 idi ve burada 10-10-10 ve eğitim zaten gerçek (daha kesin olmak gerekirse - standart, hata geri yayılma yöntemi ve program içindeki diğer dahili özellikler ile.


Programın yazarı üzerine tükürdü ve nadirliği bile güncellemeyecek - sorularıma verdiği cevaplara dayanarak, NeoroPro'yu geliştirmek, çoklu okuma, modern yöntemler vb. Şaşırtıcı bir şekilde, program MT5'e benzer sonuçlar üretebilir. Ancak ileriyi kırmak kolaydır - başka bir nöron ekleyin / başka bir katman ekleyin / veri boyutunu bir ay azaltın ve her şey rastgele olacaktır.

Yani, aşırı eğitim ve yetersiz eğitim arasında altın bir ortalama bulmamız gerekiyor. Dahası, eğitimden sonra model hala çalışmıyor. MT5 parametrelerinin optimizasyonuna ihtiyacımız var - AL ve SAT için açılış eşikleri. Benzer bir şey, zamanında MeGatrader'ın yaratıcılarından NeuroMachine tarafından yapıldı.


Yani, bir tür sonradan işleme. Bu olmadan, denge grafiği öğretilen dönemde zar zor yukarı doğru hareket eder ve ileriye doğru akar. Koşullar değişti: Halihazırda 6 giriş, EURUSD H1, açılış fiyatlarında, 2012'den 2022'ye kadar 10 yıllık öğretim.




İleri - son iki yıl 2022-2023-12-16




Genel grafik - benzer stabilite, karakterin aynı olduğunu görebilirsiniz, şans gibi görünmüyor





Şans faktörünü tamamen ortadan kaldırmak ve yöntemin performansını teyit etmek için diğer çiftleri deneyeceğim ve mimariyi artıracağım. İyi ve en önemlisi - optimizasyon sonrası - çalışma seti "Kurtarma faktörü" parametresine göre sıralamada en üstte yer aldı. Eğer daha sonraki bir tarihte böyle olmazsa - hiçbir doğrulama olmayacak. Yine rastgele, şans, şans içinde sıkışıp kalacağım.
Нейросети бесплатно и сердито - соединяем NeuroPro и MetaTrader 5
Нейросети бесплатно и сердито - соединяем NeuroPro и MetaTrader 5
  • www.mql5.com
Если специализированные нейросетевые программы для трейдинга вам кажутся дорогими и сложными (или наоборот - примитивными), то попробуйте NeuroPro - она на русском языке, бесплатна и содержит оптимальный набор возможностей для любителей. О том, как использовать ее с MetaTrader 5, вы узнаете из этой статьи.
 



Yaratıcı dürtme yöntemi beni bir fikre götürdü: Klasik anlamda bir nöron katmanı bir hastalık yığınıdır.

Özellikle de girdi verilerini alan ilk katman.

En önemli katman. Girdi heterojen verilerden oluşuyor. Ya da homojen - fark etmez. Her rakam, her sayı orijinalinde bir biçim, içerik, bağımlılık temsilidir.



Bir kaynak gibi, bir film gibi, bir fotoğraf gibi. Ve düşünün, sıradan bir sinir ağı her bir sayıyı, her bir özelliği alıyor - ve aptalca bir şekilde topluyor, ek olarak ağırlıkla çarpıyor, toplayıcı adı verilen bir çöp yığınına dönüştürüyor. Bu bir fotoğrafı bulanıklaştırmak ve görüntüyü geri getirmeye çalışmak gibi - hiçbir şey işe yaramayacak. İşte bu kadar. Kaynak kaybolur, silinir. Yok olmuştur. Tüm restorasyon tek bir şeye indirgenir - ek çizim. Modern sinir ağları eski fotoğrafları geri yüklemek ya da iyileştirmek, büyütmek için bu şekilde çalışır - sadece onları çizer. Sadece sinir ağının yaratıcı çalışması, kaynağı yok, bir zamanlar resim veritabanında ne varsa onu çiziyor, %99 oranında bile olsa benzer bir şey, ama kaynağı değil.



Ve böylece, fiyatları, fiyat artışlarını, dönüştürülmüş fiyatları, gösterge verilerini, bir rakamın, grafikteki bir durumun kodlandığı sayıları besleriz - ve o alır ve aptalca her sayının benzersizliğini siler, tüm sayıları bir çukura atar ve neyin ne olduğunu anlamanın imkansız olduğu bu devasa çöp temelinde bir sonuç (çıktı) çıkarır. Bundan sonra böyle bir toplayıcı sayısı, farklı sayılarla farklı rakamlarla aynı olacaktır. Yani, elimizde iki rakam var - bunlar farklı bir sayı dizisiyle gösteriliyor. Bu rakamların içerikleri farklıdır, ancak hacim aynı olabilir. Hacim sayısaldır. Ve sonra toplayıcıda bu heap-mala hem bir rakam hem de başka bir rakam anlamına gelebilir. Hangisi olduğunu asla tam olarak bilemeyeceğiz - bu aşamada benzersiz bilgiyi sildik.

Onu bulaştırdık, bir tencereye attık, şimdi çorba oldu. Peki ya girdi saçmaysa? O zaman %1000 olasılıkla ilk toplayıcı bu çöpü çöpün karesine dönüştürecektir. Ve %1000 olasılıkla böyle bir sinir ağı bu çöpten asla bir şey ayıramayacak, asla bulamayacak, asla çıkaramayacaktır. Çünkü bu durumda sadece çöpü kazmakla kalmaz, aynı zamanda onu "sonraki katmanlar" adı verilen bir kıyma makinesinde parçalar.




Benim meslekten olmayan yaklaşımım bana mimarilere yaklaşım şeklimizi ve girdileri ele alma şeklimizi değiştirmemiz gerektiğini söylüyor. Bir kanıt olarak - yukarıdaki grafiklerim. Bir girdi, iki girdi, üç girdi - bir nöron, iki nöron, üç nöron.

İşte bu, bir sonraki şey yeniden eğitimdir - yeni veriler üzerinde çalışmak yerine yolu ezberlemek. İkinci onay ise kendini yeniden eğitmektir. Ne kadar çok nöron, o kadar çok katman - yeni veriler üzerinde o kadar kötü. Yani, her yeni katmanla, her yeni nöronla, orijinal veriyi çöpün karesine dönüştürüyoruz ve sinir ağına kalan tek şey yolu ezberlemek oluyor.

Bu da yeniden eğitim sırasında mükemmel bir şekilde üstesinden gelir. Ne kadar da küçük bir hayal.