本文是基于吴恩达老师的《深度学习》第一课第四周课后题所做,目的是使用深层神经网络对小喵图片进行识别。该算法的实现共分:模型搭建、模型测试、结果分析和模型应用四个步骤,详述如下。本文所用辅助程序在这里。
一、模型搭建
数据集与《基于逻辑回归算法的“喵”图识别》一致,可以参考该文章“数据处理”部分。
train_set_x_orig, train_set_y, test_set_x_orig, test_set_y, classes = load_dataset()
m_train = train_set_x_orig.shape[0]
m_test = test_set_x_orig.shape[0]
num_px = train_set_x_orig[0].shape[0]
train_set_x_flatten = train_set_x_orig.reshape(m_train,-1).T
test_set_x_flatten = test_set_x_orig.reshape(m_test,-1).T
train_set_x = train_set_x_flatten / 255
test_set_x = test_set_x_flatten / 255
程序所用的第三方库如下,其中lr_utils和dnn_utils_v2是吴恩达老师给出的辅助文档,其中分别包含数据集和sigmoid与relu函数。文件链接:
import matplotlib.pyplot as plt
import scipy
from PIL import Image
from scipy import ndimage
from lr_utils import load_dataset
from dnn_utils_v2 import sigmoid, sigmoid_backward,relu,relu_backward
按照深层神经网络算法的思路,我们可将算法划分成以下七个步骤来实现,在实现一步程序后可以通过吴恩达老师给出的辅助程序生成的参数进行验证。
1.确定网络深度及各层神经元个数。吴恩达老师在视频中讲解深层神经网络各层神经元个数逐层减少,类似一个从局部到整体的过程,而且网络层数L和各层神经元个数n[l],属于需要调节的超参数,可结合具体的业务需求进行调整,本文选用的网