"New Neural", MetaTrader 5 platformu için bir sinir ağı motorunun Açık Kaynak projesidir. - sayfa 60

 
joo :

Bu arada - anlıyorum.

Ve diğer seçenekler - anlamadım. Tüm örnekleri bir kerede eğitim için nasıl başvurabilirim? - yoksa aptal mı?

GA ızgarasını eğittiğinizde, tüm örnekleri bir kerede gönderdiniz (tüm örneklerde FF'nin toplam değerini hesaplayarak), öğrenme algoritmaları farklıdır, örneğin, backprop bir seferde bir örneği rastgele sırayla gönderir, ancak kaydırır tüm örnekler listesini birkaç kez, öyleyse neden algoritmaya tüm örnekleri bir kerede vermiyorsunuz ve mantığına göre onları ızgaraya verecek.

Tehdit Aptal olmayın ama sadece yukarıda düşündüğüm konuda değil, açıklamalarıyla hepsini ortaya koyacağım.

ZZY Şu anda her şeyi açıklamaya tam olarak hazır değilim, kendim çözmek istiyorum :)

 
gpwr :

Rebyata, ya budu redko syuda zahodit'. Esli est' voprosi ili interes k sovmestnim razrabotkam, pishite na moy yahoo email (ukazan v profile).

EngiNeuro projesinde iyi şanslar!

Teşekkürler Vladimir! sık sık gel :)

Ukrayna :

Hepsi birden

Ben de parça parça en iyisinin olduğunu düşünürdüm. Hayır. Gradyan algoritmaları, toplam hata için özel olarak tasarlanmıştır, bu nedenle tek tek gönderirseniz, bu tam olarak gradyan inişi değildir.

Bu nedenle, yalnızca bir kerede, en azından ileri besleme için

 
TheXpert :

Teşekkürler Vladimir! sık sık gel :)

Ben de parça parça en iyisinin olduğunu düşünürdüm. Hayır. Gradyan algoritmaları, toplam hata için özel olarak tasarlanmıştır, bu nedenle tek tek gönderirseniz, bu tam olarak gradyan inişi değildir.

Bu nedenle, yalnızca bir kerede, en azından ileri besleme için


Evet, algoritmanın uygulanmasına bağlı, merak ediyorum şimdi bir şey unuttum mu?
 

NS eğitim notları

1) Fitness işlevi (öğrenme işlevi)

Sinir ağının herhangi bir öğrenme süreci, uyarlanabilir argümanlar alanında fonksiyonelin maksimum (minimum) değerini bulmaya indirgenir (bizim durumumuzda bu, ağırlıkların alanıdır)

2) MSE

İşlevselliğin klasik versiyonu MSE'dir ( ortalama kare hatası)

Her bir uyarlamalı parametre için kısmi türevleri bulmak kolaydır, bu da ağırlıkların gradyan ayarını kullanmayı mümkün kılar.

NN'nin girişine beslenen her örnek için ağın cevabını - y ve "doğru cevap" - y'yi alırız.

Adım adım öğrenme yöntemi için ağırlıklar her örnekten sonra ayarlanır. Bu durumda MSE=MODULE(y-y')

Toplu yöntem için ağırlıklar, tüm eğitim seti boyunca çalıştırıldıktan sonra ayarlanır. Burada MSE=KÖK((SUM(y-y'))^2)

MSE'nin ana dezavantajı, her örnek için "doğru" bir cevaba sahip olmanın gerekli olmasıdır.

Her çubukta "doğru" değerleri biliniyorsa, "bilinmeyen" bir göstergenin algoritmasını geri yüklemek için böyle bir işlevsellik kullanmak uygundur.

3) Standart dışı işlevsellik

Daha geniş bir görev yelpazesi, standart dışı işlevlerin çözülmesine olanak tanır

Örneğin, sentetik ticaret stratejilerini aramak için, eğitimi, örneğin fonksiyonel F = Kar / Maks Düşüşü en üst düzeye çıkarmak için aşağı inen sinir ağlarını kullanabilirsiniz.

Burada, stratejinin performansı ancak dönemin sonunda değerlendirilebileceğinden, değerlendirme eğitim örneğinde tam bir çalışmadan sonra gerçekleştirilir.

Çok güzel bir not - her çubuk için doğru cevabı vermemize gerek yok

Hoş olmayan bir "ama" da vardır: Her ağırlık için fonksiyonelin kısmi türevini bulmanın bir yolu yoktur, bu nedenle ağırlıkları oluşturmak için gradyan yöntemleri kabul edilemez - stokastik yöntemler kullanmanız gerekir, örneğin, GA

GPU'ların ortaya çıktığı yer burasıdır - henüz onlara bir bütçe alternatifi yoktur

not

Her bir özel ticaret stratejisi için parametre iyileştiriciden farklı olarak, sinir ağları ticaret stratejileri için tamamen sentetik algoritmaları "büyütmenize" izin verir)))

Ve bu yaklaşımın potansiyeli çok yüksektir.

 

Ağı bir bin dosyasına kaydetmek için bir fonksiyon hazırlıyorum. Tüm bilgiler bir dizi olong'a kolayca şifrelenir, ancak ağırlıklarla ne yapacağımı bilmiyorum.

Bunlar kopyadır, ancak standart dizi kaydetme işlevini kullanmak istiyorum.

Ulong'da kurtarılabilir bir çift şifreleme algoritması olan var mı?


Izgaranın MQL5'te (temel olarak alarak) kullanım için uygun basit bir biçimde ve ondan farklı sinir ağı paketlerinin farklı biçimleri için dönüştürücüler yazmak için kaydedilmesi gerektiğini düşünüyorum.

 
Ukrayna :

Ağı bir bin dosyasına kaydetmek için bir fonksiyon hazırlıyorum. Tüm bilgiler bir dizi olong'a kolayca şifrelenir, ancak ağırlıklarla ne yapacağımı bilmiyorum.

Bunlar kopyadır, ancak standart dizi kaydetme işlevini kullanmak istiyorum.

Ulong'da kurtarılabilir bir çift şifreleme algoritması olan var mı?


Izgaranın MQL5'te (temel olarak alarak) kullanım için uygun basit bir biçimde ve ondan farklı sinir ağı paketlerinin farklı biçimleri için dönüştürücüler yazmak için kaydedilmesi gerektiğini düşünüyorum.


Hangi FileWriteArray uymuyor? Sorun net değil. Daha detaylı bir örnek verebilir misiniz?

Her durumda, bir dosyadaki ızgara konfigürasyonu, diğerinde ağırlıklar.

MQL için daha uygun görmüyorum ve neden geri yüklemeyi , ekstra frenleri şifreleyin .

 
onun.insan :

Hangi FileWriteArray uymuyor? Sorun net değil. Daha detaylı bir örnek verebilir misiniz?

Her durumda, bir dosyadaki ızgara konfigürasyonu, diğerinde ağırlıklar.

MQL için daha uygun görmüyorum ve neden geri yüklemeyi , ekstra frenleri şifreleyelim .

Evet, frenler olacak (1 lam ağırlık, tahminime göre 5 saniye şifreleyecek), sadece hem ağırlıkları hem de grid cihazını tek bir dosyada saklamak istiyorum , yoksa bir sürü dosyayı kıracağız, şeytanın kendisi bacağını kıracak, bunda kolaylık görüyorum.

FileWriteArray altında, sadece onu keskinleştirmek istiyorum, ancak ağın bir tanımını oluşturan (katman sayısı, nöron sayısı, nöron türleri, aralarındaki bağlantılar) bir ulong dizisi var ve buna bir dizi ağırlık da eklenmiş , ancak zaten kopyalarda,

işte her şeyi tek bir bin dosyasına nasıl koyacağınız (net bir işaretleme olmaması koşuluyla, işaretlemenin kendisi ızgaranın ilk günlerinde şifrelenir) ??

 
Ukrayna :

0 . Ağı bir bin dosyasına kaydetmek için bir fonksiyon hazırlıyorum. Tüm bilgiler bir dizi olong'a kolayca şifrelenir, ancak ağırlıklarla ne yapacağımı bilmiyorum.

Bunlar kopyadır, ancak standart dizi kaydetme işlevini kullanmak istiyorum.

1 . Ulong'da kurtarılabilir bir çift şifreleme algoritması olan var mı?


2 . Izgaranın MQL5'te (temel olarak alarak) kullanım için uygun basit bir biçimde ve ondan farklı sinir ağı paketlerinin farklı biçimleri için dönüştürücüler yazmak için kaydedilmesi gerektiğini düşünüyorum.

0 . Son derece erken. İlk olarak, mantıksal düzeyde , ızgaranın yapısı ve ayarıyla açık bir şekilde eşlenen tüm veri kümesini kesinlikle netleştirmeniz ve kabul etmeniz gerekir. Fiziksel koruma hiç sorun değil.

1 . Bu kolay. Bu tür dönüşümler için mql5'te özel bir boşluk bırakılmıştır - aynı boyutta olmaları koşuluyla farklı türlerdeki yapılar kısıtlama olmaksızın birbirine atanabilir.

// ulong ve double tamamen aynıdır.

Burada sapkın bir örneğe bakın: https://www.mql5.com/ru/forum/3775/75737#comment_75743

2 . Mmmm ... Bir yandan katılıyorum - biçim uygun ve basit, diğer yandan - arzu edilir, xml gibi çok yönlüydü. Biri metinsel, diğeri ikili olmak üzere iki seçeneği (karşılıklı olarak benzersiz bir şekilde görüntülenir) programlamak mümkün olabilir. Ve vapche -- bkz. madde # 0 .

---

Şubenin etrafında daireler çizerek dolaşıyorum, müdahale edip etmemekten hala şüpheliyim... Tutamadım kendimi.

Düşünce içimi kemiriyor. 1. // Birçok düşünce anlamında, ancak yalnızca biri kemiriyor. :)

Şöyle düşünün: Mesh kodu, "mesh düzenleyici"de (yapılandırıcı) ön yapılandırmadan sonra oluşturulmalıdır. // Bu fikir defalarca dile getirildi ve reddedildiğini hatırlamıyorum.

Bu nedenle şema, sinir ağının yapısı hakkında tam bilgi içeren zorunlu bir ara temsildir (örneğin, bir xml dosyası biçiminde) .

Ara temsil dikkatlice düşünülür, eksiksizlik ve diğer bilgelik açısından analiz edilir, onaylanır ve sabitlenir .

Ancak bundan sonra (ayrı olarak) kodlayabilirsiniz: (1) Her tür şebeke yapılandırıcı, (2) Kod oluşturucular - bir ara gösterimi mql5 koduna çevirme.

Ve bunlar ve diğerleri birkaç uygulamaya sahip olabilir - bu iyi ve doğru.

 
Ukrayna :

Evet, frenler olacak (1 lam ağırlık, tahminime göre 5 saniyeyi şifreleyecek), sadece hem ağırlıkları hem de grid cihazını tek bir dosyada saklamak istiyorum , yoksa bir sürü dosyayı kıracağız, şeytanın kendisi bacağını kıracak, bunda kolaylık görüyorum.

FileWriteArray altında, sadece onu keskinleştirmek istiyorum, ancak ağın bir tanımını oluşturan (katman sayısı, nöron sayısı, nöron türleri, aralarındaki bağlantılar) bir ulong dizisi var ve buna bir dizi ağırlık da eklenmiş , ancak zaten kopyalarda,

işte her şeyi tek bir bin dosyasına nasıl koyacağınız (net bir işaretleme olmaması koşuluyla, işaretlemenin kendisi ızgaranın ilk günlerinde şifrelenir) ??

Her şeyi tek bir dosyaya sığdırmak kategorik olarak karşıdır. Ağın ayrı açıklaması - ayrı ağırlıklar. Aksi takdirde, başka gereksiz sorunlar ortaya çıkacaktır.

 
Neden çöp kutusu? Belki basit bir metin dosyası daha iyidir, böylece gözlerinizle bakabilirsiniz?
Neden: