コードを持っています:
//e = 1/2*Sum((yi -di)^2)
let error y d =
let map =
Array.map2 (fun y d -> (y - d) ** 2.0) y d
let sum =
Array.sum map
(sum / 2.0)
let error2 y d =
Array.map2 (fun y d -> (y - d) ** 2.0) y d
|> Array.sum
|> (/) 2.0
私が理解したように、これらの関数は同じ結果を生成するはずですが、結果には大きな違いがあります。誰でもこれを説明できますか?
ps 簡単な例:
let test = [|1..10|]
let res = test
|> Array.sum
|> (/) 5
テスト = 11 (sum(1..10) = 55、次に 55 / 5) が期待されますが、Array.sum パイプラインの後、(結果としてテスト = 0) が機能しません。