神经网络优化过程
1. 预备知识
- tf.where(条件语句,真返回A,假返回B)
tf.where() 条件语句真返回A,条件语句假返回B
- np.random.RandomState.rand(维度)
返回一个[0,1)之间的随机数
- np.vstack(数组1,数组2)
将两个数组按垂直方向叠加
- np.mgrid[起始值:结束值:步长,起始值:结束值:步长,···]
返回若干组维度相同的等差数组
- x.ravel()
将x变成一维数组,“把 . 前变量拉直”
- np.c_[数组1,数组2,···]
使返回的间隔数值点配对
2. 神经网络(NN)复杂度
NN复杂度:多用NN层数和NN参数的个数表示
-
空间复杂度:用神经网络层数和神经网络中待优化参数的个数表示
- 层数 = 隐藏的层数+1个输出层(输入层没有运算,不计入)
- 总参数 = 总w+总b
-
时间复杂度:用神经网络中乘加运算的次数表时
- 有几条权重线就有几次乘加运算
w和b的个数是按照下图所示求得
3. 学习率
-
lr为学习率,表征了参数更新的幅度
学习率过小,参数w更新过慢
学习率过大,参数w不收敛
可以用指数衰减学习率找到合适的学习率