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関数」の実装やループを変更せずにそれを達成する方法はありますか?