前馈神经网络入门:感知机与手写数字识别
在当今的人工智能领域,深度学习已经成为了一股强大的驱动力,尤其在计算机视觉方面,取得了令人瞩目的成就。我们将从一个具体的问题入手,即手写数字识别,来深入探讨前馈神经网络的基本原理和应用。
手写数字识别问题
手写数字识别是计算机视觉中的一个经典问题,它的目标是将输入的手写数字图像准确地分类为 0 到 9 中的某一个数字。为了实现这个目标,我们需要处理一系列复杂的步骤。
首先,我们需要将现实世界中的光线信息转化为计算机能够处理的数字信号。这包括使用相机聚焦光线,通过光传感器将光线转化为电信号,最后将图像离散化为二维数组。幸运的是,我们有一个现成的数据集——Mnist 数据集,它已经完成了这些工作。在这个数据集中,每个图像都是一个 28 * 28 的整数数组,其中 0 代表白色,255 代表黑色,中间的数字表示不同程度的灰色,这些数字被称为像素值。
从这些图像中,我们可以观察到一些简单的特征。例如,数字 7 的左上角像素通常较暗,而中间部分可能较亮;数字 1 则相反,它通常不占据左上角,但中间部分较亮。基于这些观察,我们可以设计一些启发式规则来进行分类,但在本文中,我们将采用机器学习的方法。
机器学习中的手写数字识别属于监督学习问题,即我们为计算机提供每个训练示例的正确答案。这与半监督学习和无监督学习不同,后者在后续的应用中会有所涉及。抽象来看,我们面临的是一个分类问题,即根据一组输入(像素值)将其分类为有限数量的类别之一。
感知机:二元分类的基础
为了简化问题,我们首先从二元分类开始,即判断一个图像是否为数字 0。感知机是最早用于二元分类的机器学习模型之一,它的设计灵感来源