ニューラルネットワークの計算を体験

テキストP55の図4-4-01に書いてあるニューラルネットワークの計算をPythonでやってみる。まず、入力層のデータ「2, 3, 1」をNumpy配列で定義する。

import numpy as np
x = np.array([2, 3, 1])

リスト1.入力層のデータx

次に、ノード11の重み「3, 1, 2」とバイアス「1」を定義する。

w11 = np.array([3, 1, 2])
b11 = 1

リスト2.ノード11の重みとバイアス

同様に、ノード12の重み「-2, -3, -1」とバイアス「3」を定義する。

w12 = np.array([-2, -3, -1])
b12 = 3

リスト3.ノード12の重みとバイアス

テキストP56の図4-4-02に書いてある「重みと入力値の積和+バイアス」の計算は次のようになる。

u11 = sum(w11 * x) + b11
u12 = sum(w12 * x) + b12

リスト4.「重みと入力値の積和+バイアス」の計算

活性化関数「ReLU」は関数として以下のように定義する。

def ReLU(u):
  return u if u > 0 else 0

リスト5.活性化関数「ReLU」

これを使って、テキストP57の図4-4-03に書いてあるノード11とノード12の最終的な出力値は次のようになる。

z11 = ReLU(u11)
z12 = ReLU(u12)
z = np.array([z11, z12])

リスト6.ノード11とノード12の最終的な出力値

最後に、テキストP58の図4-4-04に書いてある出力値に得られた結果は次のように計算する。

w21 = np.array([3, 2])
b21 = -2
y = ReLU(sum(w21 * z) + b21)

リスト7.出力値に得られた結果

0 件のコメント:

コメントを投稿

機械学習

機械学習は、コンピュータがデータからその背後にあるルールやパターンを自動で「学習」し、その学習結果に基づいてそれぞれの目的に合ったデータの分析を行う手法です。 本講義ではこの機械学習を診療情報管理で応用するための基本的な概念を講義し、簡単な機械学習のプログラムを作成できるようにな...