【学习笔记】Make Your Own Neural Network (Tariq Rashid)

英文版《Make Your Own Neural Network 》目标:了解神经网络基础,Pyhton3.5实现,轻松动手实现。最近的学习内容,全书200多页,英文版的非常容易读,作者的语言很幽默直白。了解神经网络的基础、并且用Python3实现。在MNIST手写数据集上进行训练测试。概要       介绍神经网络的基础,以及用python3.5实现一个三层的网络,对于一...
摘要由CSDN通过智能技术生成

英文版《Make Your Own Neural Network 》

目标:了解神经网络基础,Pyhton3.5实现,轻松动手实现。

最近的学习内容,全书200多页,英文版的非常容易读,作者的语言很幽默直白。了解神经网络的基础、并且用Python3实现。在MNIST手写数据集上进行训练测试。

概要

       介绍神经网络的基础,以及用python3.5实现一个三层的网络,对于一个具体的手写数据集MNIST进行训练以及测试。其中包括网络节点数的设计、激活函数的选择等。对于网络达到的效果进行评价,创造了一个分类准确率。之后,对于网络的性能提升做出思考(改造网络的方式):1)调整学习率learning rate 2)增加训练次数epoch 3)改变网络的结构。对比了这三个参数的影响。

思考神经网络的问题:比如隐层神经元个数的确定、网络的层数等等,初始化权值矩阵的随机性等。明确整个网络的训练过程是随机的。

最后,探讨了网络内部的东西,反向运行网络,输出结果看到网络记住的是什么东西。直观上感受网络如何做到分类工作。

More Fun:对于数据集进行拓展,比如自己手写的数据集、添加噪声的数据集、以及旋转变化后的数据集,我们的神经网络也能达到很好的效果^-^

附录内容(选择性学习):A.关于微积分。求导、以及链式求导法则的理解。B.利用树莓派编程。

学习问题总结

【思考几个问题】

1.神经网络的基本内容:输入层、隐层、输出层。每一层中节点的个数->与输入的样本有什么样的关系?输入的数据量是否影响着隐层神经元的个数?事先如何确定隐层神经元的个数?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
A step-by-step gentle journey through the mathematics of neural networks, and making your own using the Python computer language. Neural networks are a key element of deep learning and artificial intelligence, which today is capable of some truly impressive feats. Yet too few really understand how neural networks actually work. This guide will take you on a fun and unhurried journey, starting from very simple ideas, and gradually building up an understanding of how neural networks work. You won't need any mathematics beyond secondary school, and an accessible introduction to calculus is also included. The ambition of this guide is to make neural networks as accessible as possible to as many readers as possible - there are enough texts for advanced readers already! You'll learn to code in Python and make your own neural network, teaching it to recognise human handwritten numbers, and performing as well as professionally developed networks. Part 1 is about ideas. We introduce the mathematical ideas underlying the neural networks, gently with lots of illustrations and examples. Part 2 is practical. We introduce the popular and easy to learn Python programming language, and gradually builds up a neural network which can learn to recognise human handwritten numbers, easily getting it to perform as well as networks made by professionals. Part 3 extends these ideas further. We push the performance of our neural network to an industry leading 98% using only simple ideas and code, test the network on your own handwriting, take a privileged peek inside the mysterious mind of a neural network, and even get it all working on a Raspberry Pi. All the code in this has been tested to work on a Raspberry Pi Zero.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值