神经网络算法——总结篇

神经网络算法——总结篇本文是吴恩达《机器学习》视频笔记第57篇,对应第5周第7个视频。

大家好,欢迎来到IT知识分享网。

本文是吴恩达《机器学习》视频笔记第57篇,对应第5周第7个视频。

“Neural Networks Learning:——Putting it together”

神经网络算法——总结篇

前面几个小节都讲了神经网络的一些东东,因为神经网络在机器学习中的地位实在是太重要了,所以需要单独一节把前面学到的事总结一下。

确定神经网络的结构

神经网络的结构呢,无非就是输入层、输出层外加隐藏层,那隐藏层有几层?每一层有多少个神经元?输入层、输出层分别又有多少个单元?

那这些多少,到底该是多少呢?在进行神经网络训练之前必须回答这些问题。

首先,输入层的单元数是由你的自变量的维度决定的;

其次,输出层的单元数又是由要分类的问题最终分成多少个类来决定的。

因此,神经网络结构的选择问题,实质上就是要确定隐藏层的层数以及各隐藏层的单元数目。

以3个输入单元、4个输出单元的神经网络为例,常见的隐藏层的设置如下图所示。

神经网络算法——总结篇

按分类的效果来说呢,隐藏层的单元数是越多越好的,但是过多的神经元会让训练相当的缓慢,因此需要平衡一下,一般将隐藏层的单元数设置为输入层单元数的2~4倍为宜。而隐藏层的层数呢就以1、2、3层比较常见。

神经网络训练的一般步骤

Step1:随机初始化权重;

Step2:实现前向传播算法,拿到各个输入的激活函数;

Step3:编码计算代价函数;

Step4:实现反向传播计算激活函数的偏导数。

看一下伪代码:

神经网络算法——总结篇

代码中的m是训练样本的个数。

Step5:使用梯度检验验证反向传播计算偏导数的代码是否正确,如果正确就关闭掉梯度检验部分的代码。

Step6:结合一些更优秀的算法算出能使代价函数最小的那些参数。

神经网络算法——总结篇

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/89003.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信