数字识别神经网络的实现
·
git clone https://github.com/mnielsen/neural-networks-and-deep-learning.git
核心代码

声明了一个神经网络的class,在这个class中:
- sizes表示各层中神经元的数量;
- 例如,如果我们想创建⼀个在第⼀层有 2 个神经元,第⼆层有3个神经元,最后层有1个神经元的Network对象,net = Network([2, 3, 1]);
- bias and weights;
- Network 对象中的偏置和权重都是被随机初始化的;
- 这样的随机初始化给了我们的随机梯度下降算法⼀个起点;
- 注意Network初始化代码假设第⼀层神经元是⼀个输⼊层,并对这些神经元不设置任何偏置
定义sigmoid函数
![]()
对Network类添加⼀个feedforward⽅法
对于⽹络给定⼀个输⼊,返回对应的输 出

增加随机梯度下降算法

开始训练
最后,我们将使⽤随机梯度下降来从MNISTtraining_data学习超过30次迭代期,⼩批量数据⼤⼩为10,学习速率 ![]()
对于某些问题:
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)