零基础机器学习数字识别MNIST(on going)
本人之前并未涉及机器学习,但是在嵌入式中都会涉及视觉,借校内比赛从零学习,进行MNIST数字识别模型的搭建。
随着学习进度更新,每天更新。2023-11-28 18:26:44 星期二
一、环境搭建
进行本模型的搭建,需要以下内容:
- Python环境:利用Anaconda管理
- 开源机器学习平台:PyTorch 或 Tensorflow(CPU/GPU)
- 若希望使用NVIDIA GPU运行Tensorflow,则需安装cuDNN、CUDA
本教程暂以Tensorflow为平台,CPU/GPU两版本选其一即可。
(一)安装Anaconda
(二)安装Tensorflow
(三)NVIDIA GPU:安装cuDNN、CUDA
二、理论原理
2. Softmax 归一化:\(p(y) = e^z_y / \sum e^z_i\)
目的:使各个类别的概率值在 [0, 1] 范围内,提高模型的稳定性,防止模型过拟合。
过拟合:过拟合是机器学习模型在训练数据上表现良好,但在测试数据上表现不佳的现象。过拟合通常发生在模型的复杂度过高或训练数据的噪声过大的情况下。
过拟合会影响模型的泛化能力,即模型在未见过的数据上的表现能力。过拟合的模型在训练数据上表现良好,是因为模型学会了训练数据中的噪声,而这些噪声在测试数据中并不存在。因此,过拟合的模型在测试数据上表现不佳。