目录
一、神经网络的梯度下降
正向传播的方程:
反向传播方程:
二、随机初始化
如果你要初始化成
0
,由于所有的隐含单元都是对称的,无论你运行梯度下降多久,他 们一直计算同样的函数。这没有任何帮助,因为你想要两个不同的隐含单元计算不同的函数, 这个问题的解决方法就是随机初始化参数。
初始化如下:
这里的0.01是为了使得产生的随机数数值小一点,避免数值太大梯度下降很慢,学习变慢。当然,也可以选择其他的相对小的书值,并不一定必须是0.01。
三、深层神经网络
神经网络的层数是这么定义的:
从左到右,由
0 开始定义。当我们算神经网络的层数时, 我们不算输入层,我们只算隐藏层和输出层。
前向传播步骤,输入
,输出
:
![](https://img-blog.csdnimg.cn/114f038fe3ac4936abfa8c9d753a7e4b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcXFfNDU5NDgwODg=,size_17,color_FFFFFF,t_70,g_se,x_16)
![](https://img-blog.csdnimg.cn/2150b42bd3d444efbe640b9ec7421e28.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAcXFfNDU5NDgwODg=,size_13,color_FFFFFF,t_70,g_se,x_16)
其中
就是样本的输入特征X。
反向传播步骤,输入为,输出为
,
,
最后给出的整体流程如下图:
四、矩阵的维数
向量化后
五、参数VS超参数
超参数实际控制了最后的参数W和b的值,比如如算法中的 learning rate (学习率)、iterations(梯度下降法循环的数量)、L(隐藏 层数目)、
(隐藏层单元数目)、choice of activation function(激活函数的选择)
寻找超参数的最优质走 Idea—Code—Experiment—Idea 这个循环,尝试各种不同的参数,实现模型并观察是 否成功,然后再迭代。