十の並列した脳

何でも勉強する,毎週月木曜に投稿予定

「初探機器學習使用Python」まとめ#9 第八章 類神經網路

「初探機器學習使用Python」(↓の中国語版 )

Thoughtful Machine Learning with Python: A Test-Driven Approach

Thoughtful Machine Learning with Python: A Test-Driven Approach

 

 

#9では第八章について扱う。

 

 

何謂類神經網路?

類神經網路(neural network)は,言うなれば複雑な関数である。

f:id:ryosuke_okubo:20190417193818p:plain

 

類神經網路歷史

省略。

 

布林邏輯

省略。

 

感知器

感知器布林邏輯的概念為基礎,而更進一步納入額外的模糊邏輯(fuzzy logic)。感知器會依某個臨界值的符合與否而傳回相關的結果。(p135)

単語

意訳

「parceptronはブール論理の概念に基づいており、さらに追加してファジー論理を組み込んでいる。parceptronはあるしきい値が満たされているかどうかに応じて,関連する結果を返す。」

f:id:ryosuke_okubo:20190417200940p:plain
 感知器類神經網路の元となる概念であり,入力に重みをかけて0か1の出力を返す。

 

如何建構前饋類神經網路?

類神經網路的特點是使用加權函數神經元)隱藏層,而能夠有效的建立可映射許多函數的網路。若無函數隱藏層,類神經網路只是一組簡單的加權函數。(p135)

単語

  • 加權函數:weighting function,重み付け関数
  • 神經元:neuron,神経
  • 映射:反射する,マッピングする

意訳

ニューラルネットワークの特徴は,重み付け関数(ニューロン)を使って層を隠すことで,効果的に多くの機能をマッピングできるネットワークを確立することができる。 もし関数の隠れ層が存在しない場合は,ニューラルネットワークは単純な重み関数のセットになる。」 

 

詳しい構造は以下の通りである。

f:id:ryosuke_okubo:20190417195504p:plain

  • 輸入層(input layer)

     入力を受ける。 

  • 隱藏層(hidden layer)

     関数を複雑にする。

     ここで類神經網路では,シグモイド関数などの活化函數(activation function)を通すのが特徴である。

  • 輸出層(output layer)

     隱藏層までかけられた重みをもとに出力する。

 

重みを学習する方法には,

  • 倒傅遞(Back propagation)
  • QuickProp
  • RProp

などがある。

此演算法用於找出每個神經元的最佳權重,主要透過迭代ーiterations(也稱為回合ーepochs)作業實現。對於每個回合,訓練演算法會遍歷整個類神經網路,並將結果與預期內容相比較。此時,可從過去的誤估結果中學習。(p145)

単語

  • 迭代:iteration,反復
  • 回合:epoch
  • 遍歷:traversing,横断する

意訳

「このアルゴリズムは,主に反復(エポックとして知られている)を通じて,各ニューロンの最適な重みを見つけるために使用される。 各エポックで,訓練アルゴリズムニューラルネットワーク全体を横断し,その結果を期待される内容と比較する。 この時点で,過去の誤差から学習することができる。」

 

誤差の最小化をするには,梯度下降演算法(Gradient descent algorithm)が用いられる。

 

建立類神經網路

省略。

 

本章總結

類神經網路演算法是機器學習工具箱中的強大工具之一。類神經網路以函數模型映射先前觀察的內容。儘管類神經網路被宣稱為黑盒子模型,然而可以用少許的數學與例子來理解當中的概念。類神經網路的應用不少,例如將字母頻率映射到語言類型或手寫偵測。(p159)

単語

意訳

ニューラルネットワークアルゴリズムは,機械学習ツールボックスの強力なツールの1つである。 ニューラルネットワークは関数モデルを用いて事前の観察データをマッピングするだけである。 ニューラルネットワークブラックボックスモデルとして宣言されているが,概念の理解に多少の数学や事例を使用することができる。 文字の頻度を言語型にマッピングしたり,手書き文字を検出したりするなど、ニューラルネットワークにはさまざまな用途がある。」

 

次回↓

作成中