結果として Matrix を取得するには、Vector に RowVector を掛ける必要があります。ただし、F# ライブラリには * 演算子のそのような実装はありません。これどうやってするの?
//wj(t+1)=wj(t) - a * (yk-dk)* xjk
let weightsDeltaRule (w : matrix, x : vector, y : vector, d : vector) (a : float) =
let delta = y - d
w - a * (Vector.transpose x) * delta
更新:
vector<'T> * rowvec<'T> -> matrix<'T>
rowvec<'T> * vector<'T> -> 'T