网站开发项目范围说明书意义,上海营销型网站,网站建设对于企业的必要性,沈阳专业网站制作公司#codinggbk进阶篇相关数据#xff1a;标签#xff1a;要预测的事物特征#xff1a;用于描述数据的输入变量样本#xff1a;数据的特定实例有标签的样本#xff1a;{特征#xff0c;标签}无标的样本#xff1a;{特征#xff0c;...}模型#xff1a;将样本映射到预测标签…#codinggbk进阶篇相关数据标签要预测的事物特征用于描述数据的输入变量样本数据的特定实例有标签的样本{特征标签}无标的样本{特征...}模型将样本映射到预测标签有内部参数描述参数通过学习而来。通过有标签的样本来确定所以权重w和偏差b的最优值。损失是对糟糕预测的惩罚损失是一个数值表示对单个样本而言模型的预测准确度。定义损失函数L1损失基于模型预测的值与标签的实际值之差的绝对值平方损失(L2损失)均方误差(MSE):平均平方误差收敛总体损失不再变化或变化极其缓慢梯度是一个向量表示某一函数在该点处的方向导数最大即该方向变化最快变化率最大。f(x)dx/xy,沿着梯度的反方向能很快收敛。梯度下降法学习率步长设置要合理才能很快收敛不会出现左右震荡现象。超参数指机器学习在训练之前需要设置的参数好的超参数可以提高学习效率和效果。如学习率隐含层层数等。扩展篇#codinggbkfrom pylab import mpl
mpl.rcParams[font.sans-serif] [SimHei] #设置绘图显示中文
mpl.rcParams[axes.unicode_minus] False #防止中文乱码有时候第一句不能完全避免显示错误#导入tensorflow 模块
import tensorflow.compat.v1 as tf
import matplotlib.pyplot as plt
import numpy as np#回归模型实践
#拟合函数y4.5x3
#样本数据有误差
dx np.linspace(-1, 1, 50)#等差数列
eps np.random.randn(*dx.shape) * 0.4#*dx.shape表示吧x拆分为一个一维数组randn参数为一个整数类型的值而x.shape为一个元组
dy 4.5 * dx 3 epsprint(dx,dx)
print(dy, dy)#构建模型X
#定义x,y占位符
x tf.placeholder(float32, namex)
y tf.placeholder(float32, namey)#模型形参不是占位符变量
def model(a, b, c):return tf.multiply(a, b) c#此处参数定义为形参#创建变量
w tf.Variable(1.0, namew)
b tf.Variable(0.0, nameb)#构建预测调用预测模型需要用到占位的变量
pred model(x, w, b)#迭代次数
train_c 15
#学习率Y
learning_rate 0.05#L2损失函数y需要用到占位变量
loss_fun tf.reduce_mean(tf.square(y - pred))#梯度下降优化器
op tf.train.GradientDescentOptimizer(learning_rate).minimize(loss_fun)sesstf.Session()
init tf.global_variables_initializer()
sess.run(init)fig plt.figure()
plt.subplots_adjust(wspace 0.2, hspace 0.4)#设置子图间距离
ax fig.add_subplot(221)list_loss []
list_w []
list_b []for i in range(train_c):for x_, y_ in zip(dx, dy): #Zip将x,y一维数组组合成一个一维数组,每个元素为x,y对_, loss sess.run([op, loss_fun], feed_dict{x: x_, y: y_}) #将取出来的x_,y_数据输入到占位符XY中去#获取w和b的值b0 b.eval(sessionsess)w0 w.eval(sessionsess)ax.plot(dx, w0 * dx b0)#用于可视化损失值的变化list_loss.append(loss)list_w.append(w0)list_b.append(b0)ax.set_title(随机样本/y4.5x3)
ax.scatter(dx, dy)#散点图
ax.plot(dx, 4.5 * dx 3, colorred)ax fig.add_subplot(222)
ax.set_title(损失loss)
ax.plot(list_loss, cb,marker.)axfig.add_subplot(223)
ax.set_title(权重w)
plt.plot(list_w, cg,marker)axfig.add_subplot(224)
ax.set_title(偏差b)
ax.plot(2,2,list_b, cyellow,marker*)#预测
x1 3.9
predictsess.run(pred,feed_dict{x:x1})
print(预测值,predict)plt.show() 附: 本文章学习自中国大学mooc-深度学习应用开发-Tensorflow实战