基于卷积神经网络的猫狗识别
过拟合与数据增强
- 过拟合
就是太过贴近于训练数据的特征了,在训练集上表现非常优秀,近乎完美的预测/区分了所有的数据,但是在新的测试集上却表现平平,不具泛化性,拿到新样本后没有办法去准确的判断。 - 数据增强
在不实质性的增加数据的情况下,从原始数据加工出更多的表示,提高原数据的数量及质量,以接近于更多数据量产生的价值。其原理是,通过对原始数据融入先验知识,加工出更多数据的表示,有助于模型判别数据中统计噪声,加强本体特征的学习,减少模型过拟合,提升泛化能力。
基于卷积神经网络的猫狗识别
配置环境
打开 cmd 命令终端,创建虚拟环境。
conda create -n tf1 python=3.6
激活环境:
activate
conda activate tf1
如下图所示:
安装 tensorflow、keras 库。
在新建的虚拟环境 tf1 内,使用以下命令安装两个库:
pip install tensorflow==1.14.0 -i “https://pypi.doubanio.com/simple/”
pip install keras==2.2.5 -i “https://pypi.doubanio.com/simple/”
安装 nb_conda_kernels 包。
conda install nb_conda_kernels
安装完后如下图所示:
重新打开 Jupyter Notebook(tf1)环境下的。
猫狗数据分类建模
点击【New】→【Python[tf1环境下的]】创建 python 文件。
将下载的猫狗图片数据集解压缩,并放在一个没有中文路径下,如下图所示: