この計算をできるだけ迅速に行うために探します。私はn×m numpyの配列としてXを持っています。だから、基本的に、Yはまた、ここで、i n×m個され、j個の要素が「1/sum_jあるnumpy配列の計算/操作
Y_11 = 1/(exp(X_11-X_11) + exp(X_11-X_12) + ... exp(X_11 - X_1N)).
またはY_00
1/np.sum(np.exp(X[0,0]-X[0,:]))
のために:私は、次のようにYを定義したいですexp(X_ij - X_ij ')
ヒントは素晴らしいでしょう!ありがとう。
要求されるように、サンプル・コードは:
np.random.seed(111)
J,K = 110,120
X = np.random.rand(J,K)
Y = np.zeros((J,K))
for j in range(J):
for k in range(K):
Y[j,k] = 1/np.sum(np.exp(X[j,k]-X[j,:]))
# note each row will sum to 1 under this operation
np.sum(Y,axis=1)
「exp」呼び出しは、2番目の式のどこにありますか? – user2357112
私がexp()を落としたことを発見してくれてありがとう。私もいくつかのコードを追加しました。 – Kevin
これは良い質問です。将来的には、今のように前書きを書くことができれば素晴らしいだろう。 –