2009-12-09 11 views
6

मैं इनपुट I1, i2, और i3 के लिए मानों (0 या 1) के नीचे दिखाए गए आर्टिकियल न्यूरॉन के लिए निर्धारित करने की कोशिश कर रहा हूं जिसके लिए यह आग लगेगा (i0 पूर्वाग्रह वजन के लिए इनपुट है और हमेशा होगा -1)।कैसे निर्धारित किया जाए कि कृत्रिम न्यूरॉन किस मूल्य पर आग लगाएगा?

वजन

W0 = 1.5

W1 = -1

डब्ल्यू 2 = 1 हैं, और डब्ल्यू 3 = 2.

सक्रियण समारोह नीचे दी गई छवि में दिखाया गया मान लें।

कृपया अपने उत्तर,

मैरी जे

पी एस स्पष्ट रूप में मैं कुछ उदाहरण किया है और अभी भी मैं पूरी तरह से सिद्धांत :(

बहुत धन्यवाद समझ नहीं पा रहा हूँ। छवि नीचे:

image

उत्तर

3

आप मूल रूप से न्यूरॉन उत्पादन, जहां i1, i2, और i3 कर सकते हैं प्रत्येक के लिए निम्न समीकरण है मान 0 या 1:

2*i3 + i2 - i1 - 1.5 >= 0 

सबसे पहले, चलिए उच्चतम सकारात्मक वजन वाले मूल्य को देखते हैं। यदि i3 0 है, तो आप बाईं ओर के लिए सबसे अधिक प्राप्त कर सकते हैं -0.5, इसलिए i3 को गैर-शून्य आउटपुट प्राप्त करने के लिए 1 होना चाहिए। समीकरण तब बन जाता है:

i2 - i1 + 0.5 >= 0 

अब नकारात्मक वजन वाले मूल्य को देखें। यदि i1 0 है, तो आउटपुट हमेशा शून्य से अधिक होगा चाहे i2 क्या हो। यदि i1 1, i2 को गैर-शून्य आउटपुट होने के लिए 1 होना चाहिए।

इसलिए इन संयोजनों जो एक गैर शून्य उत्पादन बनाने:

i1 i2 i3 

0  0  1 
0  1  1 
1  1  1 
+0

धन्यवाद gnovice, मुझे आश्चर्य है कि क्या आप मेरे दूसरे प्रश्न का उत्तर दे सकते हैं? अगर मैं अपने उदाहरण के लिए http://en.wikipedia.org/wiki/Artificial_neuron छद्म कोड एल्गोरिदम लागू करता हूं तो परिणाम आपके उत्तर के समान होगा? –

+0

@mary: हां, वह छद्म कोड दिखाता है कि आप आउटपुट के मूल्य की गणना कैसे करेंगे (0 के थ्रेसहोल्ड मान के साथ)। यह अनिवार्य रूप से ऊपर दिए गए सूत्र का उपयोग करता है: यदि सूत्र सत्य का मूल्यांकन करता है (यानी बाएं तरफ भारित इनपुट का योग थ्रेसहोल्ड से अधिक है) तो न्यूरॉन से एक गैर-शून्य आउटपुट होता है। एकमात्र मुद्दा आपको ध्यान रखना होगा कि क्या ">" या "> =" का उपयोग किया जाना चाहिए (यानी यदि भारित इनपुट के लिए 0 योग 0 या 1 आउटपुट उत्पन्न करता है)। – gnovice

+0

आपके अतिरिक्त स्पष्टीकरण, gnovice के लिए धन्यवाद। मैं इसके बारे में निश्चित नहीं था। आपके उत्तर के लिए बहुत धन्यवाद! –

3

ऐसा लगता है कि यह सिर्फ कर रहा हूँ हो रहा है in * Wn को संकलित करने का एटर और यह निर्धारित करना कि i1,2,3 के संयोजन सकारात्मक परिणाम देते हैं। केवल 8 क्रमपरिवर्तन हैं, इसलिए इसे हाथ से चलाएं।

2

मैं ऐ की सरसरी ज्ञान है, लेकिन जहाँ तक मुझे पता है:

आदानों की राशि (सिग्मा i_n * W_n) फायरिंग सीमा से अधिक हो गया है। दूसरी तस्वीर आपको फायरिंग थ्रेसहोल्ड बताती है, पहली तस्वीर आपको इनपुट और उनके वजन बताती है।

तुम बस यह पता लगाने की जो रकम (पूर्वाग्रह मत भूलना) वांछित सीमा/तीव्रता में परिणाम होगा है

3

एक अधिक सामान्य तरीके से इस समस्या को हल करने के लिए, क्या चर हैं पर पहले देखो और क्या तय मानकों हैं।

मूल रूप से आप w= [1.5, -1, 1, 2]वजन इनपुट दिया जाता है वेक्टर और हस्तांतरण समारोहg(x) = (sign(x)+1)/2, और आप में इनपुट वेक्टर को खोजने के लिए इतना है कि चाहते हैं: g(डब्ल्यू* में ') = +1 (एक पंक्ति और कॉलम वेक्टर के उत्पाद के रूप में), इसलिए:

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] 

आम तौर पर आप कंप्यूटिंग डेरिवेटिव द्वारा इस समीकरण को हल करेंगे, लेकिन जानकारी के बाद से में केवल मूल्यों 0 या 1, हम बस सभी मामलों की गणना कर सकते हैं ले जा सकते हैं (2^n या 8 मामले होते हैं):

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 * 

इसलिए हमें के मान में प्राप्त करें जिसके लिए उपर्युक्त अभिव्यक्ति सकारात्मक है।