我用haskell写了一个神经网络。我的代码基于此http://www-cs-students.stanford.edu/~blynn/haskell/brain.html。我通过以下方式调整了前馈方法:
feedForward :: [Float] -> [([Float], [[Float]])] -> [Float]
feedForward = foldl ((fmap tanh . ) . previousWeights)
previousWeights 是:
previousWeights :: [Float] -> ([Float], [[Float]]) -> [Float]
previousWeights actual_value (bias, weights) = zipWith (+) bias (map (sum.(zipWith (*) actual_value)) weights)
我真的不明白fmap tanh .
从我读到的 fmap 应用于两个函数的内容就像一个组合。如果我更改fmap
formap
我会得到相同的结果。