# -*- coding: utf-8
-*-
"""
Spyder Editor
This is a temporary
script file.
"""
import tensorflow as
tf
from numpy.random
import RandomState
batch_size = 8
w1 =
tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
w2 =
tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
x=
tf.placeholder(tf.float32,shape=[None,2],name='x-input')
y_=tf.placeholder(tf.float32,shape=[None,1],name='y-input')
a=tf.matmul(x,w1)
y=tf.matmul(a,w2)
y=tf.sigmoid(y)
#定义损失函数来刻画预测值与真实值的差距
cross_entropy =
-tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-10,1.0))+(1-y)*tf.log(tf.clip_by_value(1-y,1e-10,1.0)))
train_step =
tf.train.AdamOptimizer(0.001).minimize(cross_entropy)
#softmax封住后的交叉熵
#cross_entropy =
tf.nn.softmax_cross_entropy_with_logits(labels=y_,logits=y)
rdm = RandomState(1)
dataset_size=128
X =
rdm.rand(dataset_size,2)
print(X)
Y = [[int
(x1+x2<1)] for (x1,x2) in X]
print(Y)
with tf.Session() as
sess:
init_op = tf.global_variables_initializer()
sess.run(init_op)
print(sess.run(w1))
print(sess.run(w2))
STEPS = 5000
for i in range(STEPS):
start = (i*batch_size) % dataset_size
end = min(start+batch_size,dataset_size)
sess.run(train_step,
feed_dict={x:X[start:end],y_:Y[start:end]})
if i % 1000 == 0 :
total_cross_entropy =sess.run(cross_entropy,feed_dict={x:X,y_:Y})
print("after %d trainingstep(s),cross entropy on all data is %g"%(i,total_cross_entropy))
print(sess.run(w1))
print(sess.run(w2))
二分类问题
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 译者:Jinkey(微信公众号 jinkey-love)英文原版地址:点击跳转 在看完本教程之后你将学会: 如何加...