- # Model architecture parameters
- n_stocks = 500
- n_neurons_1 = 1024
- n_neurons_2 = 512
- n_neurons_3 = 256
- n_neurons_4 = 128
- n_target = 1
- # Layer 1: Variables for hidden weights and biases
- W_hidden_1 = tf.Variable(weight_initializer([n_stocks, n_neurons_1]))
- bias_hidden_1 = tf.Variable(bias_initializer([n_neurons_1]))
- # Layer 2: Variables for hidden weights and biases
- W_hidden_2 = tf.Variable(weight_initializer([n_neurons_1, n_neurons_2]))
- bias_hidden_2 = tf.Variable(bias_initializer([n_neurons_2]))
- # Layer 3: Variables for hidden weights and biases
- W_hidden_3 = tf.Variable(weight_initializer([n_neurons_2, n_neurons_3]))
- bias_hidden_3 = tf.Variable(bias_initializer([n_neurons_3]))
- # Layer 4: Variables for hidden weights and biases
- W_hidden_4 = tf.Variable(weight_initializer([n_neurons_3, n_neurons_4]))
- bias_hidden_4 = tf.Variable(bias_initializer([n_neurons_4]))
- # Output layer: Variables for output weights and biases
- W_out = tf.Variable(weight_initializer([n_neurons_4, n_target]))
- bias_out = tf.Variable(bias_initializer([n_target]))
懂得输入层、隐蔽层和输出层之间变量的维度变换对于懂得全部收集是十分重要的。作为独裁感知机的一个经验性轨则,后面层级的第一个维度对应于前面层级权重变量的第二个维度。这可能听起来比较复杂,但实际上只是将每一层的输出作为输入传递给下一层。偏置项的维度等于当前层级权重的第二个维度,也等于该层中的神经元数量。
设计神经收集的架构
- # Cost function
- mse = tf.reduce_mean(tf.squared_difference(out, Y))
在定义完神经收集所须要的权重矩阵与偏置项向量后,我们须要指定神经收集的拓扑构造或收集架构。是以占位符(数据)和变量(权重和偏置项)须要组合成一个持续的矩阵乘法体系。
此外,收集隐蔽层中的每一个神经元还须要有激活函数进行非线性转换。激活函数是收集体系构造异常重要的构成部分,因为它们将非线性惹人了体系。今朝有异常多的激活函数,个中最常见的就是线性修改单位 ReLU 激活函数,本模型也将应用该激活函数。
下图将展示本文构建的神经收集架构,该模型重要由三个构建块构成,即输入层、隐蔽层和输出层。这种架构被称为前馈收集或全连接收集,前馈表示输入的批量数据只会大年夜左向右流动,其它如轮回神经收集等架构也许可数据向河道动。
前馈收集的核心架构
- 损掉函数
该收集的损掉函数主如果用于生成统??测与实际不雅察到的练习目标之间的误差值。对回归问题而言,均方误差(MSE)函数最为常用。MSE 计算猜测值与目标值之间的平均平方误差。
推荐阅读
敏捷框架比较:Scrum vs Kanban vs Lean vs XP
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 在这篇文┞仿中, Alesia Krush将对四种最风行的敏捷开辟办法进行比较,给出了每种办法的优缺点。市场上有>>>详细阅读
地址:http://www.17bianji.com/lsqh/39204.html
1/2 1