2009-12-09 16 views
6

I1, i2 ve i3 girişleri için (0, önyargı ağırlığının girişidir) değerlerin altında (0 veya 1) gösterilen sanatsal nöron için belirlemeye çalışıyorum ve her zaman 1).Yapay nöronun hangi değerde ateşleneceği nasıl belirlenir?

ağırlıkları

W0 = 1.5

W1 = -1

W2 = 1, ve W3 = 2

aşağıdaki resimde gösterilen aktivasyon fonksiyonu varsayalım. Ben birkaç örnek yaptık ve hala tam olarak teoriyi :(

çok teşekkür ederiz anlamak mümkün değilim

,

Mary J.

PS cevap netleştirmek edin. Görüntü aşağıda:

image

cevap

3

Temelde nöron çıkışı, i1, i2 ve i3 can biri için aşağıdaki denklem var 0 veya 1:

değerine sahip olan en yüksek değere bakalım. i3 0 ise, sol taraf için en fazla -0,5 olabilir, bu nedenle i3 sıfır olmayan bir çıktı almak için 1 olmalıdır. Denklem daha sonra şu şekilde olur: Negatif ağırlıklı değere bakın. i1 0 ise, i2 ne olursa olsun, çıktı her zaman sıfırdan büyük olacaktır. i1 1 ise, i2, sıfır olmayan bir çıkış olması için 1 olmalıdır.

Bu nedenle sıfır olmayan bir çıktı oluşturmak için aşağıdaki kombinasyonları vardır:

i1 i2 i3 

0  0  1 
0  1  1 
1  1  1 
+0

Teşekkürler gnovice, başka bir soruma cevap verebilir misiniz? Örneğime http://en.wikipedia.org/wiki/Artificial_neuron psödocode algoritmasını uygularsam, sonuç cevabınla aynı olur mu? –

+0

@mary: Evet, bu sözde kod, çıktının değerini nasıl hesaplayacağınızı gösterir (eşik değeri 0 ile). Esasen yukarıda verdiğim formül kullanır: eğer formül doğru olarak değerlendirilirse (yani, sol taraftaki ağırlıklı girdilerin toplamı eşikten büyükse), nörondan sıfır olmayan bir çıktı vardır. Dikkat etmeniz gereken tek konu, bir ">" veya "> =" kullanılmasının gerekip gerekmediğidir (yani, ağırlıklı girişler için 0 toplamı 0 veya 1 çıktı veriyorsa). – gnovice

+0

Ek açıklamalarınız için teşekkürler, gnovice. Bundan emin değildim. Cevabınız için çok teşekkürler! –

3

sadece ben, sanki gibi görünüyor in * Wn toplanması ve i1,2,3'ün hangi kombinasyonlarının pozitif bir sonuç verdiğini belirleme. Sadece 8 permütasyon var, bu yüzden sadece el ile çalıştırın.

2

I AI yüzeysel bilgiye sahip, ancak bildiğim kadarıyla: girdilerin

toplamı (Sigma i_n * W_n) ateşleme eşikten daha büyük olması gerekir. ikinci resim size ateşleme eşiğini anlatıyor, ilk resim size girdileri ve ağırlıkları anlatıyor.

Sadece istenen eşik/şiddetinde sonuçlanacak toplamları (önyargı unutmayın) bulmalıyız

3

daha genel bir şekilde bu sorunu çözmek için, öncelikle değişkenler ne bakmak ve hangi sabit parametrelerdir.g(içinde * ağırlık:

Temelde= [1.5, -1, 1, 2] ağırlık ağırlıkları girişi vektör verildi ve transfer fonksiyonug(x) = (sign(x)+1)/2 ve kadar bu giriş vektörü bulmak istiyoruz edilir) = +1 (satırın ve sütun vektörünün ürünü olarak), bu nedenle:

g(sum_over_i(w_i*in_i)) = 1    # product of vectors 
g(w0*in0 + w1*in1 + w2*in2 + w3*in3) = 1  # roll out the sum 
g(-1.5 - in1 + in2 + 2*in3) = 1    # replace the values of w and in 
0.5*(sign(-1.5 - in1 + in2 + 2*in3)+1) = 1  # definition of g(x) 
sign(-1.5 - in1 + in2 + 2*in3) = 1    # simplify 
-1.5 - in1 + in2 + 2*in3 >= 0     # by def: [sign(x)=1 iff x>=0] 
( 2^n veya 8 durumlar vardır)

Normalde türevleri hesaplayarak bu denklemi çözmek, ancak girişler beri yılında yalnızca değerleri 0 veya 1, biz sadece bütün davaları numaralandırabilmesidir alabilir:

in1 in2 in3 -1.5-in1+in2+2*in3 
----------------------------------- 
0 0 0   -1.5 
0 0 1   0.5 * 
0 1 0   -0.5 
0 1 1   1.5 * 
1 0 0   -2.5 
1 0 1   -0.5 
1 1 0   -1.5 
1 1 1   0.5 * 

Bu nedenle, yukarıdaki ifadenin pozitif olduğu numaralı değerlerini elde ederiz.