TensorFlow における初期化
良い初期化は、大域的最小値を見つけるまでに必要な時間を短縮できます。この演習では、クレジットカードの延滞(デフォルト)を予測するニューラルネットワーク用に、重みとバイアスを初期化します。直感を養うために、便利な関数や高水準の keras 操作は使わず、低水準の線形代数的なアプローチで進めます。入力特徴量の数も 3 から 23 に拡張します。tensorflow からは Variable(), random(), ones() がインポート済みです。
この演習はコースの一部です
Introduction to TensorFlow in Python
演習の手順
- 1 層目の重み
w1を、正規分布からのサンプルで形状[23, 7]のVariable()として初期化します。 - 1 層目のバイアスは ones を使って初期化します。
- 正規分布からのサンプルを用いて、
w2を形状[7, 1]のVariable()として初期化します。 b2をVariable()として定義し、初期値を 0.0 に設定します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define the layer 1 weights
w1 = ____(random.normal([____, ____]))
# Initialize the layer 1 bias
b1 = Variable(____([7]))
# Define the layer 2 weights
w2 = ____
# Define the layer 2 bias
b2 = ____