Neural Networks
放下扳手&拿起键盘
学成文武艺,货卖帝王家。
展开
-
避免过拟合问题——正则化
正则化思想:在损失函数中加入刻画模型复杂度的指标。 优化对象: J(θ)+λR(w) 其中: J(θ)代表损失函数;λ代表模型复杂损失在总损失中的比例;R(w) 代表模型的复杂程度。 刻画模型复杂程度的函数:1.L1正则化 2.L2正则化 原则:通过限制权重的大小,使得模型不能任意拟合训练数据中的随机噪音。 例子:import tensorflow as tfweights=tf.原创 2017-11-29 10:21:11 · 386 阅读 · 0 评论 -
滑动平均模型
滑动平均模型:在一定程度下提高最终模型在测试数据上的表现。 函数实现:tf.train.ExponentialMovingAverage() 例子:import tensorflow as tf#step1:定义一个变量用于计算滑动平均;初始值=0;数据类型:float32v1=tf.Variable(0,dtype=tf.float32)#step2:定义一个变量用于模拟神经网络中迭代次数;原创 2017-11-29 14:30:13 · 935 阅读 · 0 评论 -
通过变量实现神经网络的参数并实现前向传播的过程
前向传播 1.前向传播的组成:(1)神经网络的输入(2)神经网络的连接结构(3)每个神经元中的参数 2.原理:给定神经网络的输入、神经网络的结构以及边上的权重,就可以通过前向传播算法来计算出神经网络的输出。 例子:import tensorflow as tf #声明w1、w2两个变量。参数seed可以保证每次运行得到的结果是一样的。w1=tf.Variable(tf.random_nor原创 2017-11-24 16:33:37 · 552 阅读 · 0 评论 -
通过placeholder实现前向传播算法
placeholder 功能:提供input数据。 原理:Tensorflow通过其定义一个位置,这个位置中的数据在程序运行时再指定。 参数:(1)数据类型:必须被指定(2)数据维度:不一定要给出,但是给出可以降低出错概率。 例子:import tensorflow as tf #定义变量w1=tf.Variable(tf.random_normal([2,3],stddev=1))w原创 2017-11-25 11:01:32 · 232 阅读 · 0 评论 -
一个简单损失函数
损失函数:刻画当前预测值和真实值之间的差距。import tensorflow as tf #定义损失函数-交叉熵cross_entropy=-tf.reduce_mean(y_*tf.log(tf.clip_by_value(u,1e-10,1.0)))#定义学习率learning_rate=0.001#定义优化器train_step=tf.train.AdamOptimizer(lear原创 2017-11-25 11:15:49 · 471 阅读 · 0 评论 -
完整神经网络:计算前向传播结果+通过损失函数利用反向传播算法来调参
前言:作为入门神经网络,该代码的基本流程,值得学习。import tensorflow as tffrom numpy.random import RandomState# batch_size为每次训练样本个数;迭代次数=样本总数/批尺寸batch_size=8#定义神经网络参数w1=tf.Variable(tf.random_normal([2,3],stddev=1,seed=...原创 2018-03-04 17:47:12 · 3965 阅读 · 1 评论