基于神经网络的手写数字识别(上)

本文从数学和生物学角度介绍了BP神经网络的基本原理,用于模拟神经细胞的工作模式。通过权重和阈值的调整,实现了函数的拟合过程。以手写数字识别为例,讨论了在多输入、多输出情况下训练神经网络的挑战,并预告了反向传播和梯度下降法在解决大规模参数调整问题中的应用。
摘要由CSDN通过智能技术生成

导读:

近期人工智能火热,十分好奇,决定了解一些基础知识。

本篇博客将从一个数学系渣渣本科生的角度,以学习记录的方式,整理关于BP神经网络的基础知识,以及实现一个简单的BP神经网络实现手写数字识别。

网络上关于 手写数字识别BP神经网络实现 的博客和教程很多,有些写的十分详细,质量很高,但是有些教程存在一些关键性问题,我在学习的时候被坑了不少。例如有些博客中对于神经网络训练的原理讲解十分详细,但事实上对于 具体的 手写数字识别 的训练过程并没有考虑多样本,多输出的情况应该如何调整相应算法,导致训练结果只适合于单张特例学习,或者某样本集的学习,不符合普遍的数字识别。或者考虑到了上述问题,但对原理缺乏介绍。本篇博客将针对这些问题给出详细的解释。

由于本人相关知识水平,文字水平有限,难免出现错误,有些可能是思路上的重大错误。望海涵。

开始进入正题吧。

机器学习基础中的基础:BP神经网络(下称BPnet)

计算机作为一种计算工具,想让其拥有学习功能,自动的学习某种简单的行为模式,看起来是不合实际的。但是,如果把机器学习看作是一种 函数的拟合过程 一切似乎又变得合理起来。为什么要这样说?

我们先看看生物的学习过程:

对于地球上的生物,学习可能就是完成某一条件反射的建立,例如听到下课铃,就想到吃午饭。

大脑是怎么运作的呢?主流的想法是,接受到声波之后,由听力系统产生的神经信号传播到大脑,引起特定区域的神经细胞活跃,这些活跃的神经细胞继续影响其他神经细胞,一系列的神经兴奋与抑制完成的对信号的处理,然后指导身体做出动作,完成条件反射。

模拟这个过程:


图1-1

(图中的每一个小圆点都是一个神经节点。)

每一个小圆点的工作模式是这样的:


左侧的若干条线段代表若干个输入,右侧的线段代表输出。对应多个输入,小圆点会给出唯一的输出。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值