Nöro ağlar - sayfa 3

 
joo >> :

E(w1,w2) amaç fonksiyonunun minimizasyonu/maksimizasyonunun anlamı, global bir ekstremum arayışıdır. Ve eğer bu küresel ekstremlerin katları varsa, o zaman NN'nin hangisinin içine düştüğü bizim için ne fark eder?!

Daha da kötüsü, yerel minimum/maksimumlardan birinde takılırsa. Ama bu artık NN'nin sorunu değil. Bu bir optimizasyon algoritması problemidir.


Açıklanan gpwr - hiçbir şekilde.


Tüm yerel minimumların derinlemesine aynı olması ve dolayısıyla küresel olması durumunda, ağın hangisinde bittiğinin önemli olmadığı konusunda hemfikirim. Ancak ağın gürültülü bir seri ile verdiğim basitleştirilmiş versiyonu için, E(w1,w2) yüzeyinin köşelerinde de yerel minimumlar var. Bu nedenle, vadide sona ermek için başlangıç değerleri için çeşitli seçeneklerle genetik optimizasyon veya gradyan inişi gereklidir. Örneğim, çok sayıda yerel minimuma ve karmaşık (uzun) bir öğrenme sürecine yol açan sinir ağlarının paralel matematiksel aygıtını göstermeyi amaçlıyordu. Bu öğrenme süreci genellikle farklı optimizasyon yöntemlerini kullanan birkaç adımdan oluşur: global (genetik algoritma, diferansiyel evrim, parçacık sürüsü optimizasyonu, karınca kolonisi optimizasyonu) ve yerel (gradyan iniş, eşlenik gradyan, Levenberg-Marquardt, BFGS) ve uzun zaman alır. .

Sinir ağlarının matematiği Kolmogorov teoremine dayanır: x[1]..x[n] n değişkenli herhangi bir sürekli fonksiyon, birim segmentlerin sürekli ve monoton eşlemelerinin 2n+1 süperpozisyonlarının toplamı olarak temsil edilebilir:


Herhangi bir sürekli fonksiyon, sonsuz Taylor serisi olarak da gösterilebilir:


Güç serisi, Taylor serisinin basitleştirilmiş bir versiyonudur:



Bilinmeyen bir fonksiyonu bir güç serisi ile temsil etmek, bir sinir ağından matematiksel olarak daha basittir. Aşağıda açıklıyorum.

Birinci dereceden bir kuvvet serisini alalım:


(1) y = f(x[1]..x[n]) = a[0] + toplam(a[i]*x[i], i=1..n)


Bu, lineer bir fonksiyondan başka bir şeydir. Eğer y,x[1],..,x[n] aynı serinin üyeleriyse, lineer otoregresif (AR) modelimiz olur. Tek katmanlı bir sinir ağı da aynı model (1) tarafından tanımlanmaktadır.

Şimdi ikinci dereceden bir kuvvet serisi alalım:


(2) y = f(x[1]..x[n]) = a[0] + toplam(a[i]*x[i], i=1..n) + toplam(b[i, j]*x[i]*x[j], ben=1..n,j=1..n)


vb. Güç serisi modelinin bilinmeyen parametreleri, f(x[1]..x[n]) fonksiyonunun her birine göre kısmi türevleri olan a[i],b[i,j],.. katsayılarıdır. x[i] girin. Ayrıca, modelin çıktısı bu katsayıların lineer bir fonksiyonu iken, aynı çıktı x[1]..x[n] girdilerinin lineer olmayan bir fonksiyonudur. a[i],b[i,j],.. modelinin katsayıları, sinir ağı eğitiminde olduğu gibi, karesel hataların toplamı en aza indirilerek bulunur:


E(a[i],b[i,j],..) = toplam( (t[k]-y[k])^2, k=1..p)


Ancak bir sinir ağı durumunda, doğrusal olmayan bir en küçük kareler yöntemi elde ederiz ve bir kuvvet serisi durumunda, oldukça basit bir şekilde çözülen doğrusal bir en küçük kareler yöntemi elde ederiz: E (a)'nın türevlerini buluruz. [i], b [i, j], ..) her katsayıya a[i],b[i,j],.. ve bunları sıfıra eşitleyin. Cholesky yöntemiyle çözülen a[i],b[i,j],.. bilinmeyenli doğrusal simetrik bir denklem sistemi elde ederiz.

Güç serisi yönteminin Kolmogorov yöntemine (sinir ağı) kıyasla avantajları şunlardır:

1. Çok daha kolay ve hızlı model eğitimi: sadece bir yineleme. Sinir ağlarının eğitimi, farklı optimizasyon yöntemlerinin bir kombinasyonu ile 1000-100000 iterasyonda gerçekleştirilir.

2. Kuvvet serilerini öğrenmenin sonucu açıktır, yani. hem yerel hem de küresel olan sadece bir minimum. Sıralı sinir ağı eğitimi farklı yerel minimumlara yol açar, bu da aynı sürecin farklı ağırlıkları ve farklı modelleri (zaman serileri) anlamına gelir.

Aşağıda, "gürültülü" eğitim verileri t[k] = cos(x[k]) + rnd olan bir y = a*x + b*x^2 güç serisi için E(a,b) yüzeyi verilmiştir:


Sinir ağından farklı olarak, burada yalnızca bir minimum olduğuna dikkat edin.

Kuvvet serisine dayalı doğrusal olmayan bir modelin dezavantajı, kuvvet serisinin sırasının artmasıyla katsayılarının sayısındaki hızlı büyümedir. Diyelim ki n giriş sayısı (x[1]..x[n]). Katsayı sayısı nc aşağıdaki formüllerle belirlenir:

sıra = 1, nc = n+1

sıra = 2, nc = (n+1)*(n+2)/2

sıra = 3, nc = (n+1)*(n+2)*(n+3)/6

sıra = 4, nc = (n+1)*(n+2)*(n+3)*(n+4)/24

...

Örneğin, 12 girdili bir 3. mertebe süreç modeli 455 katsayıya sahiptir. Bulma hızları, daha az ağırlığa sahip bir sinir ağının öğrenme hızını hala aşıyor. Buradaki sorun, kuvvet serilerinin eğitimini yavaşlatmakta değil, yeterli sayıda x[1..n][k],t[k] eğitim setini bulmaktır, bu da sırayla model katsayılarının sayısını aşması gerekir. dejenerasyonunu önlemek için. Pratikte 2. veya 3. dereceden bir güç serisi tatmin edici sonuçlar verir.

 
gpwr >> :

Şebekelerde hala yeniyim, bu yüzden yetkili konuşamam,

ama bence forumdaki tüm ağ meraklıları doğrusal bir çözücüden (doğrusal denklemler sistemi) başka bir şey yapmaya çalışmıyorlar,

ve sonra, çözüme öngörülemezlik katmak için, girdiyi çıktıyla döngüye sokarak bir ayarlama yapın (sonunda, sonuç tam bir saçmalıktır).


Düşünerek ve başkalarının ne yaptığını anlamaya çalışarak, sizinle aynı sonuca vardım.

Ancak bu şekilde çözmek şu soruyu cevaplamaz:

ancak bu sistemde kökleri olmayan yeni alınan bu veriler AL veya SATIŞ'tır.

Çünkü modeli tanımlayan bir fonksiyon yok.


ağı gölgeli alan üzerinde eğitmeye çalışın.

TE'yi, bu alandan gelen koordinatlar girildiğinde, ızgara 1 verecek ve gölgelenmemiş alandan gelen koordinatlar için 0 verecek şekilde eğitin.

Her nöronun çıkışında, eğitime bağlı olarak durumu alması gereken bir sınıflandırıcı olmalıdır:

d'den büyükse true veya d'den küçükse true (d, sırasıyla eşiktir). (bir şeyler yanlışsa, kesinlikle yargılamayın)

 
gpwr >> :

Sinir ağlarını dikkatlice inceledikten ve gradyan inişinden genetiğe kadar farklı öğrenme algoritmaları kullandıktan sonra, sinir ağlarının matematiksel düzeneğinin ideal olmadığı sonucuna vardım.

Elinizde bir idealin olması gerekli değildir. Tüm bunlar, piyasaya girişin güvenilirliğini artırmak için hareketin yüzde kaçının kaçırılabileceği sorusuyla yankılanıyor. İdeal olarak, zikzak boyunca %100 almak isterim ;-). Pratikte, her bir kenar için en az %50 alırsanız, birçokları için bir kâse olacaktır.

Mevcut bilgilere bakılırsa, şebekeler hala çalışıyor. Belirsizlik ile ilgili sorunlar, konfigürasyon, ağ boyutu ve başlatma seçimi yapılarak çözülür. Prensipte, yerel minimumlar sorunu da çözülür - tavlama yöntemiyle veya aynı genetik yöntemle (yerel bir vadiden atlamaya eşdeğer olan "kötü genleri" kabul etme olasılığını seçmiyor muyuz?) Artı, şebeke komitelerinin çalıştığını unutmamalıyız, bir değil. Ve daha geniş bakarsanız, her şey denetimli öğrenme ile tamamen bağlantılı bir geri yayılım ızgarasıyla sınırlı mı? Neden alıntıları ve sinyalleri giriş vektörüne yönlendirmeyi ve örneğin Kohonen'e uygulamayı denemiyorsunuz?

 
gpwr писал(а) >>

İstikrarlı bir kâr getiren bir ağınız var mı?

"İstikrarlı kâr" ile ne demek istiyorsun?

 
marketeer >> :

Elinizde bir idealin olması gerekli değildir. Tüm bunlar, piyasaya girişin güvenilirliğini artırmak için hareketin yüzde kaçının kaçırılabileceği sorusuyla yankılanıyor. İdeal olarak, zikzak boyunca %100 almak isterim ;-). Uygulamada, her bir kenar için en az %50 alırsanız, birçokları için bir kâse olacaktır.

Mevcut bilgilere bakılırsa, şebekeler hala çalışıyor. Belirsizlikle ilgili sorunlar, konfigürasyon, ağ boyutu ve başlatma seçimi yapılarak çözülür. Prensipte, yerel minimumlar sorunu da çözülür - tavlama yöntemiyle veya aynı genetik yöntemle (yerel bir vadiden atlamaya eşdeğer olan "kötü genleri" kabul etme olasılığını seçmiyor muyuz?) Artı, şebeke komitelerinin çalıştığını unutmamalıyız, bir değil. Ve daha geniş bakarsanız, her şey denetimli öğrenme ile tamamen bağlantılı bir geri yayılım ızgarasıyla sınırlı mı? Neden alıntıları ve sinyalleri giriş vektörüne yönlendirmeyi ve bunu örneğin Kohonen'e uygulamayı denemiyorsunuz?


Mantığımın özünü yanlış anladın. Yetersiz eğitimli ağlar ve ticaret sonuçları arasındaki ilişkiden bahsetmedim. Test örneğindeki hatanın azalması durana kadar ağın eğitilmesi gerektiği her yerde yazılır. Yatim'e katılıyorum ve bu konuda tartışmak istemiyorum. Akıl yürütmemin özü, ağın paralel yapısının optimizasyonunun karmaşıklığına nasıl yol açtığını ve bir güç serisine dayalı doğrusal olmayan bir modelin bir sinir ağı ile aynı amaca nasıl ulaşabileceğini göstermekti. aparat ve açık bir sonuca yol açan hızlı bir öğrenme süreci. .

Ağlar komitesine gelince, kendi fikrim var: tüm bunlar işe yaramaz. İşte ağ komitelerine inanan herkes için bir soru. Diyelim ki bir ağ, vakaların %60'ında doğru sinyalleri veriyor. Başka bir ağ, vakaların %60'ında da doğru sinyalleri verir. Şimdi bu iki ağı birleştirelim ve her iki ağ tarafından aynı anda seçilen doğru sinyalleri hesaplayalım. Yani, her iki ağ da "al" veya "sat" gösteriyorsa, ilgili "al" veya "sat" sinyali verilir. Bir ağ "al" ve diğeri "sat" verirse, sinyal verilmez. Bu sinyallerin doğru olma olasılığı nedir?

Aynı soruyu farklı bir şekilde formüle edebilirsiniz. Herkesin "Mars'ta yaşam olup olmadığı" sorusuna oy verdiği bir bilim insanı toplantısı yapıyoruz. biyolojik açıdan. Seçmenlerin %60'ı soruyu doğru cevaplıyor (bu arada cevabı ben de bilmiyorum :) Aynı konuda oy veren başka bilim insanlarının bir derlemesini alıyoruz ama astronomik bir bakış açısıyla ve sadece %60'ı haklılar. Sonra iki toplantıyı (biyologlar ve astronomlar) bir araya getiriyoruz ve aynı soruyu soruyoruz. Bir mucize eseri cevabın doğruluğunun %60'ın üzerine çıkacağını söylüyorsanız, o zaman istatistikleri incelemeniz gerekir.

 
gpwr писал(а) >>

Mantığımın özünü yanlış anladın. Yetersiz eğitimli ağlar ve ticaret sonuçları arasındaki ilişkiden bahsetmedim. Test örneğindeki hatanın azalması durana kadar ağın eğitilmesi gerektiği her yerde yazılır. Yatim'e katılıyorum ve bu konuda tartışmak istemiyorum. Akıl yürütmemin özü, ağın paralel yapısının optimizasyonunun karmaşıklığına nasıl yol açtığını ve bir güç serisine dayalı doğrusal olmayan bir modelin bir sinir ağı ile aynı amaca nasıl ulaşabileceğini göstermekti. aparat ve açık bir sonuca yol açan hızlı bir öğrenme süreci. .

Ağlar komitesine gelince, kendi fikrim var: tüm bunlar işe yaramaz. İşte ağ komitelerine inanan herkes için bir soru. Diyelim ki bir ağ, vakaların %60'ında doğru sinyalleri veriyor. Başka bir ağ, vakaların %60'ında da doğru sinyalleri verir. Şimdi bu iki ağı birleştirelim ve her iki ağ tarafından aynı anda seçilen doğru sinyalleri hesaplayalım. Yani, her iki ağ da "al" veya "sat" gösteriyorsa, ilgili "al" veya "sat" sinyali verilir. Bir ağ "al" ve diğeri "sat" verirse, sinyal verilmez. Bu sinyallerin doğru olma olasılığı nedir?

Aynı soruyu farklı bir şekilde formüle edebilirsiniz. Herkesin "Mars'ta yaşam olup olmadığı" sorusuna oy verdiği bir bilim insanı toplantısı yapıyoruz. biyolojik açıdan. Seçmenlerin %60'ı soruyu doğru cevaplıyor (bu arada cevabı ben de bilmiyorum :) Aynı konuda oy veren başka bilim insanlarının bir derlemesini alıyoruz ama astronomik bir bakış açısıyla ve sadece %60'ı haklılar. Sonra iki toplantıyı (biyologlar ve astronomlar) bir araya getiriyoruz ve aynı soruyu soruyoruz. Bir mucize eseri cevabın doğruluğunun %60'ın üzerine çıkacağını söylüyorsanız, o zaman istatistikleri incelemeniz gerekir.

Örnek pek iyi değil...

Algoritmik kompozisyonlar (komiteler) oluşturmanın birçok yolu vardır. Oy vermeyi öneriyorsunuz, deneyimlerime göre bunun en iyi yoldan uzak olduğunu söyleyebilirim, basit tartım genellikle daha iyidir.

Basit ağırlıklandırma yardımcı olmazsa, tüm temel algoritmalar için hata işlevi aynıdır -> sistematik hata . otokorelasyon(FunkOsh[i]||FunkOsh[i+1]) genellikle anlamlıdır > 0,8. Ve temel algoritmaların hata fonksiyonlarının korelasyonu sadece 1'e meyillidir, ancak bunun pahasına, o zaman bir gelişme olmalı mı? Komiteler, temel algoritmaların birbirini telafi edeceğine inanılarak oluşturulur, en azından bir miktar fayda olması için hata fonksiyonları arasında korelasyon olmaması gerekir.

AdaBoost'u da unutmayalım - gerçekten işe yarıyor ama kendi tuzakları var.

 
gpwr >> :

Bu forumdaki çoğu nöroyazarın yaptığı gibi, öğretmensiz öğrenme hakkında yapılan yorumlara bakılırsa muhtemelen unutmuşsunuzdur. Neden, NN'yi ticarette kullanıyorsanız, kesinlikle NN'ye bir şeyler öğretmeniz gerekiyor? Kendimize ticaret yapmayı yeterince öğretemiyoruz. Ağlar komitesinden bahsederken, her bir NN'nin birbirinden bağımsız olarak eğitildiğini mi kastediyorsunuz? Ve neden birbirlerinden ayrı sinyal veriyorlar? Bir NN ve hatta bir NN komitesi kurarken, tek doğru çözüm "denetimsiz öğrenme" olacaktır. Beyinde beynin birkaç bölümü ve bir düzineden fazla alt bölümü vardır. Her biri, kendi dışındaki bilgileri işleyerek işlevini yerine getirir. Ve bu "komite"nin sahibinin kararı bir tane alır. O nasıl çalışır? Bu, ağlar komitesinin birbiriyle bağlantılı olarak çalışması gerektiğinden mümkündür - bir kompleks içinde, aksi takdirde hiçbir şey işe yaramaz, "bölünmüş bir kişilik" meydana gelir.

 
StatBars >> :

biraz önümde :)

 
gpwr >> :

Ağlar komitesine gelince, kendi fikrim var: tüm bunlar işe yaramaz. İşte ağ komitelerine inanan herkes için bir soru. Diyelim ki bir ağ, vakaların %60'ında doğru sinyalleri veriyor. Başka bir ağ, vakaların %60'ında da doğru sinyalleri verir. Şimdi bu iki ağı birleştirelim ve her iki ağ tarafından aynı anda seçilen doğru sinyalleri hesaplayalım. Yani, her iki ağ da "al" veya "sat" gösteriyorsa, ilgili "al" veya "sat" sinyali verilir. Bir ağ "al" ve diğeri "sat" verirse, sinyal verilmez. Bu sinyallerin doğru olma olasılığı nedir?

Aynı soruyu farklı bir şekilde formüle edebilirsiniz. Herkesin "Mars'ta yaşam olup olmadığı" sorusuna oy verdiği bir bilim insanı toplantısı yapıyoruz. biyolojik açıdan. Seçmenlerin %60'ı soruyu doğru cevaplıyor (bu arada cevabı ben de bilmiyorum :) Aynı konuda oy veren başka bilim insanlarının bir derlemesini alıyoruz ama astronomik bir bakış açısıyla ve sadece %60'ı haklılar. Sonra iki toplantıyı (biyologlar ve astronomlar) bir araya getiriyoruz ve aynı soruyu soruyoruz. Bir mucize eseri cevabın doğruluğunun %60'ın üzerine çıkacağını söylüyorsanız, o zaman istatistikleri incelemeniz gerekir.

doğru bir sinyal olasılığı (0,6 * 0,6) / (0,6 * 0,6 + 0,4 * 0,4) \u003d %69,23, bu teoride)

bilim adamlarının toplanması örneği yanlıştır. olasılıktan ortalamaya.

istatistiğin yanında matematiğin başka eğlenceli tarafları da var :)

 
gpwr писал(а) >> Test örneğindeki hatanın azalması durana kadar ağın eğitilmesi gerektiği her yerde yazıyor.

Aslında, her şey çok daha karmaşık. Test örneğinde minimum hataya kadar eğittiğinizde, büyük olasılıkla aşırı eğitimli bir ağ elde edersiniz......