人工神经网络:手写数字图像分类实战
一、神经网络基础概念
神经网络是一种数学函数,其结构大致基于人类大脑的结构。与大脑中存在的“有机”神经网络相区分,我们称其为人工神经网络。大脑由大量相互连接的神经元组成,当思考特定想法时,特定神经元会产生电活动,这在大脑扫描中表现为不同区域的点亮。
在我们用 Python 构建的神经网络中,神经元数量远少于人类大脑,一个特定神经元的激活程度由一个称为激活值的单一数字表示。当一个神经元激活时,它可能会导致相邻连接的神经元也激活,从而实现从一个想法到另一个想法的关联,可视为创造性思维。
从数学角度看,神经网络中一个神经元的激活是与其相连神经元激活值的函数。例如,若一个神经元与四个激活值分别为 $a_1$、$a_2$、$a_3$ 和 $a_4$ 的神经元相连,那么它的激活值就是应用于这四个值的某个数学函数,如 $f(a_1, a_2, a_3, a_4)$。
二、使用神经网络进行数据分类
我们将使用神经网络解决的问题是分类问题,具体是对低分辨率手写数字图像(0 - 9)进行分类。目标是构建一个人工神经网络,使其能够识别给定图像中的数字,达到与人类相近的分类水平。
在之前的分类问题中,是对二维向量进行二分类。而在这个问题中,我们处理的是 8x8 像素的灰度图像,每个像素由一个表示亮度的数字描述,将 64 个像素的亮度值视为 64 维向量,要将每个 64 维向量归入十个类别之一,以指示它代表的数字。
我们要构建的神经网络分类函数将是一个有 64 个输入和 10 个输出的函数,即从 $\mathbb{R}^{64}$ 到 $\mathbb{R}^{10}$ 的非线性向量变换
超级会员免费看
订阅专栏 解锁全文
386

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



