「形式ニューロン」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
Melan (会話 | 投稿記録)
人工神経へのリダイレクト
 
Ertyupoi (会話 | 投稿記録)
人工神経 2015年2月6日 (金) 14:19 から分割
1行目: 1行目:
[[1943年]]、[[ウォーレン・マカロック]]と[[ウォルター・ピッツ]]が世界初の人工神経 Threshold Logic Unit を発表した<ref>{{Cite journal
#redirect [[人工神経]]
|author=Warren S. McCulloch
|author2=Walter Pitts
|title=A logical calculus of the ideas immanent in nervous activity
|journal=The bulletin of mathematical biophysics
|volume=5
|issue=4
|year=1943
|month=December
|publisher=Kluwer Academic Publishers
|pages=115-133
|doi=10.1007/BF02478259
}}</ref>。これを'''形式ニューロン'''({{lang-en-short|formal neuron}})とも呼ぶ。伝達関数としては[[ヘヴィサイドの階段関数]]を使い、入出力の値は 0 または 1 の二値だけをとる。

===擬似コード===
以下の[[擬似コード]]はマカロックとピッツの形式ニューロンの実装例である。入力は[[真理値]](真または偽)、出力も真理値である。[[オブジェクト指向]]的モデルとなっている。トレーニング方法は定義されていない。関数型のモデルであれば、TLUクラスの代わりにTLUという関数が、入力ベクトルと重み付けベクトルとしきい値を引数とし、真理値を出力とするものになるだろう。

'''class''' TLU '''defined as:'''
'''data member''' threshold ''':''' number
'''data member''' weights ''': list of''' numbers '''of size''' X
'''function member''' fire( inputs ''': list of''' booleans '''of size''' X ) ''':''' boolean '''defined as:'''
'''variable''' T ''':''' number
T '''←''' 0
'''for each''' i '''in''' 1 '''to''' X ''':'''
'''if''' inputs(i) '''is''' true ''':'''
T '''←''' T + weights(i)
'''end if'''
'''end for each'''
'''if''' T > threshold ''':'''
'''return''' true
'''else:'''
'''return''' false
'''end if'''
'''end function'''
'''end class'''

2015年2月6日 (金) 14:31時点における版

1943年ウォーレン・マカロックウォルター・ピッツが世界初の人工神経 Threshold Logic Unit を発表した[1]。これを形式ニューロン: formal neuron)とも呼ぶ。伝達関数としてはヘヴィサイドの階段関数を使い、入出力の値は 0 または 1 の二値だけをとる。

擬似コード

以下の擬似コードはマカロックとピッツの形式ニューロンの実装例である。入力は真理値(真または偽)、出力も真理値である。オブジェクト指向的モデルとなっている。トレーニング方法は定義されていない。関数型のモデルであれば、TLUクラスの代わりにTLUという関数が、入力ベクトルと重み付けベクトルとしきい値を引数とし、真理値を出力とするものになるだろう。

 class TLU defined as:
  data member threshold : number
  data member weights : list of numbers of size X
  function member fire( inputs : list of booleans of size X ) : boolean defined as:
   variable T : number
   T  0
   for each i in 1 to X :
    if inputs(i) is true :
     T  T + weights(i)
    end if
   end for each
   if T > threshold :
    return true
   else:
    return false
   end if
  end function
 end class
  1. ^ Warren S. McCulloch; Walter Pitts (December 1943). “A logical calculus of the ideas immanent in nervous activity”. The bulletin of mathematical biophysics (Kluwer Academic Publishers) 5 (4): 115-133. doi:10.1007/BF02478259.