私は現在、コンピューター サイエンスの教科書でいくつかの概念に取り組んでいます。線形代数は頻繁に使用され、教科書に示されている例はすべて Numpy を使用しています。
特に 1 つの表現は、まったく役に立たない表現のように思えて、私を完全に混乱させました。教科書からそのままコピーすると、次のように書かれています。
normalisers = sum(exp(outputs),axis=1)*ones((1,shape(outputs)[0]))
exp
したがって、単純化のためにを削除します(ここでの問題には関係ありません)。
sum(outputs,axis=1)*ones((1,shape(outputs)[0]))
ここoutputs
で、 は 2 次元 Numpy array
(行列) です。
私が知る限り、これはoutputs
行列内のすべての行を合計し、結果のベクトルを要素ごとにすべて 1 のベクトルで乗算するだけです。では... ここですべての 1 を掛ける意味は何ですか? 値を変更するつもりはまったくありません。
これは教科書の誤りですか、それとも、すべて 1 を掛けると、ここの値にどのような影響があるかわかりませんか? この時点で、私は Numpy にある程度慣れているだけなので、この表現の意味を単に誤解しているだけなのかどうかはわかりません。