関数上でhlintを実行すると、weightDelta
Etaが減少することが示唆され続けます。別の関連するイータ削減の質問を読みましたが、この場合に理解を移すことができないようです。
module StackQuestion where
import qualified Data.Vector as V
type Weights = V.Vector Double
type LearningRate = Double
weightDelta :: LearningRate -> Double -> Double -> Weights -> Weights
weightDelta n r y ws = V.map update ws
where update w = diff * n * w
diff = r - y
自由な構文を指すように「減らす」ために私が行おうとするすべての変更は、それを壊してしまいます。変更はどこで行われるのでしょうか。また、将来的にeta reduceの提案を回避するための直感やトリックはありますか?