神经网络入门:手写数字识别实战
1. 神经网络基础概念
神经网络(ANNs)的历史可以追溯到20世纪40年代初,其核心思想是借鉴神经科学,模拟大脑部分功能的算法。在神经网络中,神经元是基本组成单元,它们形成层,层与层之间以特定方式连接构成网络。输入数据通过神经元在层间传递信息,当信号足够强时神经元被激活,数据最终到达输出层得到预测结果。将预测结果与预期输出对比计算误差,网络利用该误差学习并改进未来预测。
不过,虽然神经网络的架构类比大脑有一定帮助,但也不能过度强调,因为有时这种类比可能会产生误导。可以将神经网络看作是试图揭示生物体学习的指导原则,就像飞机利用空气动力学原理,但并不试图复制鸟类的飞行方式。
2. 简单用例:手写数字分类
2.1 MNIST数据集
MNIST数据集包含60,000张28×28像素的手写数字图像,每个图像都标注了对应的数字标签(0 - 9)。在进行实验前,需要先安装NumPy库,若使用pip,可在shell中运行 pip install numpy ;若使用Conda,可运行 conda install numpy 。
2.2 数据预处理
- One-hot编码 :由于数据集中的标签是0到9的整数,使用one-hot编码将数字转换为长度为10的向量,除对应位置为1外,其余位置为0。例如,数字2的one-hot编码表示为
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0]。以下是实现one-hot编码的代码:
超级会员免费看
订阅专栏 解锁全文
24万+

被折叠的 条评论
为什么被折叠?



