質問: loaded_model.predict(test) ``` print(pre)とすると、、、 ``` [[ ], : : [1.4403468e-14 2.7438103e-08 5.1739965e-13 3.3624038e-11 1.0000000e+00 1.7220916e-10]] ``` このようにテストデータの分だけ出力が帰ってきます。 しかし、最後の行の右から2番目の値はすでに「1」となっており6つの値を足すと1を超えてしまうのは明らかです... なぜこのようなことが起きるのでしょうか。 ご存知の方は教えていただきたいです。よろしくおねがいします。
回答: ディープラーニングは7桁程度の精度を持つ float32 (単精度) 演算ということを考えると、これは1とみなしてよいです。 厳密に1にならないのは丸め誤差の影響なので、気にする必要はありません。 ``` print(np.sum([1.4403468e-14, 2.7438103e-08, 5.1739965e-13, 3.3624038e-11, 1.0000000e+00, 1.7220916e-10])) # 1.000000027644468 ```