深度学习——用神经网络解决非线性问题
2018-12-29 15:24
274 查看
参考书籍:《深度学习——基于Python语言和TensorFlow平台》
已知德智育三项成绩,总分大于等于95即可当选三好学生。用1代表是,用0代表否。线性问题是可以传递的,非线性问题则是所谓的“一票否决制”,如果在一串连续的关系中有一个非线性关系出现,一般来说,整个问题都将成为非线性的问题。
激活函数sigmoid: 将线性化的关系转换成非线性化关系的函数,可以把任何数字变成一个0到1范围之间的数字。
import tensorflow as tf import random import numpy as np random.seed() # 批量生成随机训练数据 rowCount = 5 # np.full函数的作用是生成一个多维数组,并用预定的值来填充 xData = np.full(shape=(rowCount, 3), fill_value=0, dtype=np.float32) yTrainData = np.full(shape=rowCount, fill_value=0, dtype=np.float32) goodCount = 0 # 生成随机训练数据的循环 for i in range(rowCount): xData[i][0] = int(random.random() * 11 + 90) xData[i][1] = int(random.random() * 11 + 90) xData[i][2] = int(random.random() * 11 + 90) xAll = xData[i][0] * 0.6 + xData[i][1] * 0.3 + xData[i][2] * 0.1 if xAll >= 95: yTrainData[i] = 1 goodCount = goodCount + 1 else: yTrainData[i] = 0 print("xData=%s" % xData) print("yTrainData=%s" % yTrainData) print("goodCount=%d" % goodCount) x = tf.placeholder(shape=[3], dtype=tf.float32) # yTrain因为只是一个普通数字,不是向量,如果要给它一个形态的话,可以用一个空的方括号"[]"来表示 yTrain = tf.placeholder(shape=[], dtype=tf.float32) # tf.zeros([3]返回一个全值为0的3维向量 w = tf.Variable(tf.zeros([3]), dtype=tf.float32) b = tf.Variable(80, dtype=tf.float32) wn = tf.nn.softmax(w) n1 = x*w n2 = tf.reduce_sum(n1) - b # tf.reduce_sum函数的作用是把作为它的参数的向量中的所有维度的值相加求和 y = tf.reduce_sum(n2) loss = tf.abs(y-yTrain) optimizer = tf.train.RMSPropOptimizer(0.1) train = optimizer.minimize(loss) sess = tf.Session() init = tf.global_variables_initializer() sess.run(init) for i in range(2): for j in range(rowCount): result = sess.run([train, x, yTrain, wn, b, n2, y, loss], feed_dict={x: xData[j], yTrain: yTrainData[j]}) print(result)
相关文章推荐
- 【神经网络与深度学习】caffe静态链接库“Unknown layer type: Convolution (known types: )”和“ 磁盘空间不足”问题的解决办法
- 机器学习/深度学习测试题(二)—— 单层线性神经网络求解异或问题
- 【深度学习】神经网络异或问题
- 神经网络,如何解决非线性问题
- 深度学习与神经网络学习与遇到的问题及解决(第一章)
- 深度神经网络:特点、问题及解决
- 深度学习解决多视图非线性数据特征融合问题
- 深度学习解决多视图非线性数据特征融合问题
- 深度学习解决多视图非线性数据特征融合问题
- 神经网络(6)---一些神经网络学习复杂非线性问题的例子(2)
- 深度学习解决多视图非线性数据特征融合问题
- 深度学习解决多视图非线性数据特征融合问题
- 神经网络(5)---一些神经网络学习复杂非线性问题的例子(1)
- 深度学习解决多视图非线性数据特征融合问题
- 如何比较Keras, TensorLayer, TFLearn ?——如果只是想玩玩深度学习,想快速上手 -- Keras 如果工作中需要解决内部问题,想快速见效果 -- TFLearn 或者 Tensorlayer 如果正式发布的产品和业务,自己设计网络模型,需要持续开发和维护 -- Tensorlayer
- 神经网络与深度学习(5):梯度消失问题
- 深度学习解决多视图非线性数据特征融合问题
- Coursera deeplearning.ai 深度学习笔记2-1-Practical aspects of deep learning-神经网络实际问题分析(初始化&正则化&训练效率)与代码实现
- 深度学习之四:使用Theano编写神经网络
- 神经网络浅讲:从神经元到深度学习