0
最適化問題を解決したいと思いますが、オプティマイザは機能しません。私は与えられた値との差が最小である一連の解を期待していますが、私の計算されたsoftmax関数は常に1です。重みと偏りは反復では更新されないからです。どちらもゼロのテンソルです。この問題を解決するにはどうすればよいですか?オプティマイザは変数を最適化しません
#KI-Model
x = tf.placeholder(tf.float32, [None, 5], name='input') #x_1-x_5
#Init
W = tf.Variable(tf.zeros([5,1]), dtype=tf.float32)
b = tf.Variable(tf.zeros([1]), dtype=tf.float32)
#Sigmoid
y = tf.nn.softmax(tf.matmul(x, W) + b)
#Training
y_tensor = tf.placeholder(tf.float32, [None, 1], name='output')
loss = y-y_tensor
cost = tf.square(loss)
optimizer = tf.train.GradientDescentOptimizer(0.003).minimize(cost)
#Start
session = tf.Session()
init = tf.global_variables_initializer()
session.run(init)
#init first 1000 training_batches
for i in range(1000):
batch_xs.append([dataA[i], dataB[i], dataC[i], dataD[i],
dataE[i]])
batch_ys.append([solution[i]])
for i in range(10000):
session.run(optimizer, feed_dict={x:batch_xs, y_tensor:batch_ys})
print(session.run(y, feed_dict={x:batch_xs, y_tensor:batch_ys}))
こんにちは、あなたの答えをありがとう、マタン。効果は同じです。計算されたfunktionは常に1であり、偏りと重みは更新されませんでした。私が現時点で見る問題は次のとおりです。入力値が1から離れており、出力値も1から離れています。計算された関数はシグモイド関数の線形結合です。これらの関数は最大値が1に達します。これにより、複数のシグモイド関数の組み合わせが最大で1になります。だから、私は1を超えることはできませんが、それは回帰の最も適した値です。数学の問題と思われる – USBstick