0

ANDゲートをエミュレートするための原始的なニューラルネットワークを構築しています。損失関数は MSE です。

def mse(predicted, desired): 
    return np.square(np.subtract(predicted, desired)).mean()

以下に、予測目的の出力 (別名ラベル) があります。

predicted = np.array
    ([[0.5000, 0.5000],   # 0 AND 0
      [0.4721, 0.5279],   # 0 AND 1
      [0.3049, 0.6951],   # 1 AND 0
      [0.3345, 0.6655]])  # 1 AND 1

desired = np.array
    ([[1, 0],   # False
      [1, 0],   # False
      [1, 0],   # False
      [0, 1]])  # True

各行 (上記のマトリックスの両方) は、1 つのケースを示します。ベクトルに分割するのではなく、すべてのケースをこのようにまとめておきたいと思います。問題は、各行を個別に処理する必要があることです。

次の結果を得ようとしていますが、まだできませんでした:

returned output = 
    [0.2500,  # 1st CASE ERROR
     0.2786,  # 2nd CASE ERROR
     0.4831,  # 3rd CASE ERROR 
     0.1118]  # 4th CASE ERROR

私は次の機能を試しました...

np.apply_along_axis(mse, 1, predicted, desired)

しかし、一度に行ではなく、 「欲望」がマトリックス全体として渡されているため、機能しませんでした。それで、「mse関数」の実装やループを変更せずにそれを達成する方法はありますか?

4

1 に答える 1