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

 
TheXpert :
İlkini yol boyunca aynı anda uygulama veya yankı veya SOM için öneriyorum ve arayüzler nihayet çözülebilir.

Hadi, neyi tercih edersin?

Tehdit, genel olarak en basit MLP'dir

 
Ukrayna :
Hadi, neyi tercih edersin?
Daha yakın yankı, daha hafif SOM. SOM muhtemelen daha iyidir, çünkü öğretmenli veya öğretmensiz yapılabilir.
 
TheXpert :
Daha yakın yankı, daha hafif SOM. SOM muhtemelen daha iyidir, çünkü öğretmenli veya öğretmensiz yapılabilir.

Peki yayın balığı çok yayın balığı.

1. şebeke başlatma
2. ızgara çalışma stroku
3. ağ eğitimi

Kim ne yapıyor?

Ya da belki önce sınıf hiyerarşisini çözeceğiz?

 
Ukrayna :

Bu işi nasıl berbat edeceğimi düşündüm, böylece öğrenirken, yeni nöronlar doğru yerlerde doğdu, ancak algoritmaları inceledikten sonra, genel bir formalizasyona sahip olmayacakları, neredeyse hiçbir kesişme noktası olmadığı sonucuna vardım. Bu nedenle, ağın dikey inşasına odaklanmayı reddetti. Tip:

veri --> nöron --> kapsüllenmiş sinir ağı --> kapsayıcı sinir ağı

GA'yı amorf yapmak mümkündür. İnsan genomu her zaman 28.000 genden oluşmamıştır.

Ah...

 
joo :
Ah, çevrimiçisin. topoloji hakkında cevap
 

İlk tahminler

 class IEvolvable // интерфейс для подключения эволюционных алгоритмов
{
public :
   virtual void GetWeightsAsVector( double & weights[]) const ; // получаем все изменяемые веса собранные в одном векторе для генетики
   virtual void ApplyWeightsVector( double weights[]); // применяем подобранные генетикой веса к сети
   
   virtual void FeedInput( double inData[]); // подаем вход
   virtual void PropagateSignal(); // прогоняем входной сигнал
   virtual void GetOutput( double & outData[]) const ; // берем выход
};

class ISerializable // сохранение
{
public :
   virtual bool LoadFromFile( string filePath);
   virtual bool SaveToFile( string filePath) const ;
};

class IBasicNet
   : public IEvolvable
   , public ISerializable
{
public :
   virtual void FeedInput( double inData[]); // вход можно брать из коллекции или отдельно. Подразумевается, что коллекция включает в себя обработку входов, поэтому отдельные входы надо преобразовывать коллекцией
   virtual void FeedInput( int index);
   virtual void PropagateSignal();
   virtual void GetOutput( double & outData[]) const ;
   virtual void Init(); // инициализация. Инициализатор можно подавать в конструкторе, можно в функцию, посмотрим как будет удобно
}

class ISupervised // сеть с учителем
   : public IBasicNet
{
public :
   virtual void SetPatternCollection(PatternCollection* collection); // у сетей с учителем обязательно каждому входному образу соответствует выходной поэтому лучше их сразу организовывать по парам
   virtual void CountError(); // подсчет ошибки. сюда например будет входить ОРО для MLP
   virtual void Learn(); // изменение весов. никаких итераций внутри , чтобы можно было на каждом шаге просмотреть состояние
};

class IUnsupervised // сеть без учителя
   : public IBasicNet
{
public :
   virtual void SetInputCollection(InputCollection* collection); // у сетей без учителя только входы
   virtual void Learn();
};

class IInitializer // инициализатор
{
public :
   virtual void Init( double & value );
   virtual void Init( double & value []);
   virtual void Init(Matrix& value );
};

 
TheXpert :
Ah, çevrimiçisin. topoloji hakkında cevap
Bu "ah" budur. Fikirlerime göre, topoloji kontrolü genetik programlama olarak kabul edilebilir ve düşünülmelidir. Burada çok güçlü değilim - bu ayrı bir geniş bilgi alanı. Ancak gerekirse, bu konuyu yakından ele alacağım. Bu, kromozom uzunluğunun dinamik olarak değişebildiği böyle bir GA'dır. GA'mın sabit uzunlukta bir kromozomu var. Her ne kadar burada, tek tek genleri dondurmak için ek bayraklar ekleyerek, kromozomun uzunluğunu bir kenar boşluğu ile almak mümkünken, bunu yapmak mümkündür.
 
TheXpert :

İlk tahminler

yorum gönder
 
joo :
Bu "ah" budur.
Tamam, şimdiye kadar sorun için bir geçici çözüm var, genetiği ne zaman değiştireceğimizi düşünelim.
 
Ukrayna :
Bu bir sonraki adımdır ve motorla doğrudan bir ilişkisi yoktur, uygulanması farklı motorların nesnelerini başlatan farklı topolojiler oluşturan harici bir GA aracılığıyla yapılır.

Ve evet, muhtemelen birkaç GA kullanmaya değer. Biri topoloji için, diğeri tüm ağların tüm ağırlıklarını ayarlamak için. Daha sonra ikinci GA, mevcut topolojiye bağlı olarak bazı genleri basitçe donduracaktır.