Neural network Haskell中的点积

Neural network Haskell中的点积,neural-network,Neural Network,大家好,我正在尝试做两个列表的点积,但它给了我一个错误 •无法匹配预期的类型“[c]” 下面是函数定义 dotp :: Num a => [a] -> [a] -> a dotp a b | length a == length b = sum (zipWith (*) a b) 这是我愿意使用点积的函数 错误发生在DOTF中,我不知道问题出在哪里,谢谢 networkUpdate :: Network -> [Double] -> [Double] ->

大家好,我正在尝试做两个列表的点积,但它给了我一个错误 •无法匹配预期的类型“[c]”

下面是函数定义

dotp :: Num a => [a] -> [a] -> a 
dotp a b | length a == length b = sum (zipWith (*) a b)
这是我愿意使用点积的函数

错误发生在DOTF中,我不知道问题出在哪里,谢谢

networkUpdate :: Network -> [Double] -> [Double]  -> Network 
networkUpdate  (Network ls) xs ys = (Network ls')
              where {
                     
                     ls' = [l1,l2];
                 
                     err = zipWith (-) (ys) (networkRecall (Network ls) xs);
                     erh = zipWith (*) (networkRecall (Network ls) xs) err;
                     dote =  sum (zipWith (*) erh  (networkRecall (Network ls) xs));
                     dotfinal = map (dote *) (layerRecall (l1) xs);
                     dotff = dotp dotfinal xs;

                     l1 = zipWith (+) l1 dotff ;
                     l2 =  updateLayer l2 (layerRecall (l1) xs) ys;
                    

              }