app推广的网站,三门网站建设,理财产品网站开发文档,广告公司简介100字神经网络中的损失函数#xff1a;
1.神经网络的复杂度#xff1a;多用神经网络的层数和神经网络的参数的个数表示。
2.层数隐藏层的层数1个输出层#xff0c;总参数总的权重w与总的偏置项b。
3.自定义损失函数#xff1a;
通过每个需要预测的结果y与标准答案y_比较
1.神经网络的复杂度多用神经网络的层数和神经网络的参数的个数表示。
2.层数隐藏层的层数1个输出层总参数总的权重w与总的偏置项b。
3.自定义损失函数
通过每个需要预测的结果y与标准答案y_比较计算其损失累计和即loss(y_,y)sum{f(y_,y)},其中y_是标准答案数据集的y为预测答案计算出的。 函数f定义如下 当yy_时f(y_,y)w1*(y_-y);yy_时 f(y_,y)w1*(y_-y);其中w1和w2为两个相互的矛盾通过这样权衡以达到最优。 4.在tensorflow中通过tf.reduce_sum()实现
losstf.reduce_sum(tf.where(greater(y,y_),w1*(y_-y),w1*(y_-y))),其中tf.greater(yy_)判断两参数大小然后根据判断结果选择计算式子。 5.交叉熵(Cross Entropy):表征两个概率分布之间的距离
H(y_,y)-Sum(y_*logy),y_表示标准答案的概率分布y表示预测结果的概率分布。通过交叉熵可以判断那个预测结果与标准答案更接近。 6.在tensorflow中通过tf.reduce_mean(y_*tf.log(tf.clip_by_value(y,1e-12,1.0)))实现当y小于1e-12时y为1e-12大于1.0时y为1.0。 7.当n分类的n个输出(y1,y2,...,yn)通过softmax()函数便满足了概率分布要求
任意xP(Xx)属于[0,1]且sum(P(Xx))1 8.softmax(y_i){e^{y_i}}/sum{^n,_j1}{e^{y_i}},
cetf.nn.sparse_softmax_cross_entropy_with_logits(logitsy,labelstf.argmax(y_,1))
cemtf.reduce_mean(ce) 实现了先使数据满足概率分布在计算交叉熵的方法。 9.常用的激活函数
f(x)0,x小于等于0时 f(x)x,x大于0时即tf.relu();
f(x)1/(1e^{-x}),即tf.nn.sigmoid();
f(x)(1-e^{-2x})/(1e^{-2x}),即tf.nn.tanh(); #实例应用 #导入模块生成数据集
import tensorflow as tf
import numpy as np
SIZE8
seed23455
COST 1
PROFIT9 rdm np.random.RandomState(seed) Xrdm.rand(32,2)
Y[[x1x2(rdm.rand()/10.0-0.05)] for (x1,x2) in X]#合格为1不合格为0 #定义神经网络的输入参数和输出定义前向传播的过程
xtf.compat.v1.placeholder(tf.float32,shape(None,2))
y_tf.compat.v1.placeholder(tf.float32,shape(None,1))
w1tf.Variable(tf.random.normal([2,1],stddev1,seed1))
ytf.matmul(x,w1) #定义损失函数及反向传播方法
#loss_msetf.reduce_mean(tf.square(y_-y))
losstf.reduce_sum(tf.where(tf.greater(y,y_),(y-y_)*COST,(y_-y)*PROFIT))
train_steptf.compat.v1.train.GradientDescentOptimizer(0.001).minimize(loss) #生成会话训练
with tf.compat.v1.Session() as sess:
init_optf.compat.v1.global_variables_initializer()
sess.run(init_op) steps2000
for i in range(steps):
start(i * SIZE) % 32
endstartSIZE
sess.run(train_step,feed_dict{x:X[start:end],y_:Y[start:end]}) if i % 500 0:
print(i)
print(sess.run(w1))
print(\n)
print(训练结束参数w1:\n,sess.run(w1))