《neural networks and deep learning》——使用神经网络识别手写数字

英文在线阅读:http://neuralnetworksanddeeplearning.com/
中文名:《神经网络和深度学习》
中文译文:http://download.csdn.net/download/u012123511/

1.1 感知机

示例如下:

这里写图片描述

感知机有三个输入,x 1 ,x 2 ,x 3 。通常可以有更多或更少输入。Rosenblatt 提议一个简单的规则来计算输出。他引入权重,w 1 ,w 2 ,…,表示相应输入对于输出重要性的实数。神经元的输出,0 或者 1,则由分配权重后的总和。

一个简单的数学模型:

这里写图片描述

1.2 S型神经元

这里写图片描述

1.3 运行源码

Python 2.7.13 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:17:26) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information. 
>>> import mnist_loader
>>> training_data, validation_data, test_data = \
            mnist_loader.load_data_wrapper()
>>> import network
// 在加载完 MNIST 数据之后,我们将设置一个有 30 个隐藏层神经元的 Network。我们在导入如上所列的名为 network 的 Python 程序
*/
>>> net = network.Network([784, 30, 10])
//使用随机梯度下降来从 MNIST training_data 学习超过 30 次迭代期,小批量数据大小为 10,学习速率 η = 3.0>>> net.SGD(training_data, 30, 10, 3.0, test_data=test_data)
Epoch 0: 9087 / 10000
Epoch 1: 9237 / 10000
Epoch 2: 9320 / 10000
Epoch 3: 9345 / 10000
Epoch 4: 9385 / 10000
Epoch 5: 9380 / 10000
Epoch 6: 9397 / 10000
Epoch 7: 9429 / 10000
Epoch 8: 9411 / 10000
Epoch 9: 9442 / 10000
Epoch 10: 9428 / 10000
Epoch 11: 9456 / 10000
Epoch 12: 9454 / 10000
Epoch 13: 9483 / 10000
Epoch 14: 9471 / 10000
Epoch 15: 9498 / 10000
Epoch 16: 9502 / 10000
Epoch 17: 9476 / 10000
Epoch 18: 9523 / 10000
Epoch 19: 9485 / 10000
Epoch 20: 9540 / 10000
Epoch 21: 9491 / 10000
Epoch 22: 9501 / 10000
Epoch 23: 9522 / 10000
Epoch 24: 9515 / 10000
Epoch 25: 9486 / 10000
Epoch 26: 9518 / 10000
Epoch 27: 9532 / 10000
Epoch 28: 9506 / 10000
Epoch 29: 9518 / 10000

>>> training_data,validation_data,test_data = mnist_loader.load_data_wrapper()

问题2:试着创建一个仅有两层的网络 —— 一个输入层和一个输出层,分别有 784 和 10 个神经元,没有隐藏层。用随机梯度下降算法训练网络。你能达到多少识别率?

>>> net = network.Network([784,10])
>>>net.SGD(training_data,30,10,3.0,test_data=test_data)
Epoch 0: 4984 / 10000
Epoch 1: 5047 / 10000
Epoch 2: 5247 / 10000
Epoch 3: 5925 / 10000
Epoch 4: 5954 / 10000
Epoch 5: 5974 / 10000
Epoch 6: 5980 / 10000
Epoch 7: 6070 / 10000
Epoch 8: 6849 / 10000
Epoch 9: 6875 / 10000
Epoch 10: 6953 / 10000
Epoch 11: 7471 / 10000
Epoch 12: 7536 / 10000
Epoch 13: 7549 / 10000
Epoch 14: 7552 / 10000
Epoch 15: 7564 / 10000
Epoch 16: 7580 / 10000
Epoch 17: 7564 / 10000
Epoch 18: 7585 / 10000
Epoch 19: 7591 / 10000
Epoch 20: 7582 / 10000
Epoch 21: 7600 / 10000
Epoch 22: 7625 / 10000
Epoch 23: 7593 / 10000
Epoch 24: 8216 / 10000
Epoch 25: 8304 / 10000
Epoch 26: 8337 / 10000
Epoch 27: 8321 / 10000
Epoch 28: 8356 / 10000
Epoch 29: 8358 / 10000
>>> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值