最近在学习吴恩达的Deep Learning 系列课程,首先在此对吴老师表示深深的谢意。第一次接触深度学习方面的知识,更是第一次用代码编程实现深度学习的算法。所以在完成老师的作业过程中,遇到很多问题,最终在度娘的帮助下,花了一天的时间,终于把编程实现了逻辑回归神经网络的算法,特此记录一下,当做学习笔记,方便以后查阅。
首先根据网上的资料,搭建了Python开发环境。第一次是在Windows 10系统下Pythong3环境下jupyter notebook中编写代码的,但是在导入第三方库matplotlib、from PIL import Image、from scipy import ndimage时总是报各种错误,之后又根据网上的各种解决方案,改为Python2,报错。最后实在Ubuntu系统,python3环境中实现的。
源码下载:链接: https://pan.baidu.com/s/1ttaeYhzvFP4581YcNmmEEg 密码: 26fm
环境:Ubuntu + python3 + jupyter notebook
逻辑回归模型的一般学习算法架构包括:
Build the general architecture of a learning algorithm, including:
- Initializing parameters
- Calculating the cost function and its gradient
- Using an optimization algorithm (gradient descent)
首先,导入必要的第三个库(包)
import numpy as np
import matplotlib.pyplot as plt
import h5py
import scipy
from PIL import Image
from scipy import ndimage
from lr_utils import load_dataset #自定义的模块,需要与当前代码文本在同一文件夹下
第二步:数据预处理
# 加载给定的数据集
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
m_test = test_set_x_orig.shape[0] #测试数据就的总数m
num_px = train_set_x_orig.shape[1] #图片像素
# Reshape the training