一个神经网络

版权声明:仅用于个人学习,分享收获。 https://blog.csdn.net/qq_33431972/article/details/86697260

机器学习

训练
喂入
历史数据
模型
新数据
模型
预测结果

机器学习三要素:数据、算法、算力


神经元模型

w1
w2
w3
输入1
求和
输入2
输入3
非线性函数
输出

1、机器学习,就是在任务 T 上,随经验 E 的增加,效果 P 随之增加。
2、机器学习的过程是通过大量数据的输入,生成一个模型,再利用这个生成的
模型,实现对结果的预测。
3、庞大的神经网络是基于神经元结构的,是输入乘以权重,再求和,再过非线
性函数的过程。

文件读操作
import pickle
开:文件变量 = open(”文件路径文件名”, ”rb”)
取:放内容的变量 = pickle.load(文件变量)
关:文件变量.close()

文件写操作
import pickle
开:文件变量 = open(”文件路径文件名”, ”wb”)
存:pickle.dump(待写入的变量,文件变量)
关:文件变量.close()


神经网络的实现过程:

第一步:准备好数据集

第二步:NN结构,前向传播

第三步:迭代优化,反向传播

第四步:给入新数据—预测结果


第一步:准备好数据集
第二步:NN结构,前向传播

输入数据的特征
创建入口

#x训练入口(2个特征值)     y_历史数据(1个答案)
#占位
x=tf.placeholder(tf.float32,shape=(None,2))
y_=tf.placeholder(tf.float32,shape=(None,1))
#权重w,随机生成
w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
w2=tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
#矩阵运算
a=tf.matmul(x,w1)	#隐藏层
y=tf.matmul(a,w2)	#输出层
#得出,预测y
第三步:迭代优化,反向传播
#定义损失函数及反向传播
#历史数据-预测值
loss = tf.reduce_mean(tf.square(y_-y))
train_step = tf.train.GradientDescentOptimizer(0.001).minimize(loss)
#生成会话
with tf.Session() as sess:
	sess.run(tf.global_variables_initializer())
    #训练模型
	for i in range(轮数):
		sess.run(train_step,feed_dict={x:数据集,y_:数据集})

要会话train_step ,需要知道喂入哪些数据
反推
train_step ----->> loss
loss ----->> y,y_(已有)
y ----->> x(已有)
得: x,y_

第四步:给入新数据—预测结果

猜你喜欢

转载自blog.csdn.net/qq_33431972/article/details/86697260