问题描述
我尝试通过线性回归制作模型'sinx / x'。为了将模型制作成像ax ^ 2 + bx ^ 4 + ... mx ^ 2n ...这样的形状,我对此进行了编码。但是,效果不佳。如何获得正确的模型“ sinx / x”作为形状?
import tensorflow as tf
from math import sin
sin_xlist = []
sin_ylist = []
#jump = float(input('jump : '))
jump = 0.000007
n = 0
while n < 3.141592:
sin_xlist.append(n)
sin_ylist.append(sin(n)) # 나중에 sinx/x로 고치기
n += jump
print(len(sin_xlist),len(sin_ylist))
X = tf.placeholder(tf.float32)
Y = tf.placeholder(tf.float32)
w0 = tf.Variable(tf.random_uniform([1],-1.0,1.0))
w1 = tf.Variable(tf.random_uniform([1],1.0))
w2 = tf.Variable(tf.random_uniform([1],1.0))
w3 = tf.Variable(tf.random_uniform([1],1.0))
w4 = tf.Variable(tf.random_uniform([1],1.0))
b = tf.Variable(tf.zeros([1]))
hypo = w0 + w1*(X**2) + w2*(X**4) + b
cost = tf.reduce_mean(tf.square(hypo - Y))
optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.000005)
train = optimizer.minimize(cost)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
for step in range(100001):
cost_,train_ = sess.run([cost,train],Feed_dict={X:sin_xlist,Y:sin_ylist})
if step%500==0:
print("#",step,cost_)
sess.run(hypo,Feed_dict={X:0})
print(sess.run(w1))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)