用Python进行神经网络逻辑回归

本文介绍了如何使用Python进行神经网络逻辑回归,涉及初始化参数、计算成本函数和梯度、优化算法(梯度下降)。通过numpy、matplotlib等库处理数据,实现模型训练和预测,并可视化成本函数变化。最后,展示了在不同学习率下模型的性能,并对新图片进行预测。
摘要由CSDN通过智能技术生成

学习内容:

使用神经网络进行逻辑回归,学习算法的总体框架,包括初始化参数、计算成本函数和梯度、使用优化算法(梯度下降)

使用到的包:

numpy, matplotlib.pyplot, h5py, scipy, PIL.Image, scipy.ndimage, (lr_utils.load_dataset)

读取图片:

plt.imshow(train_set_x_orig[index]

了解训练集和测试集的维度:

train_set_x_orig 是shape为 (m_train, num_px, num_px, 3) 的array

可以通过train_set_x_orig[0]来取得m_train

为方便计算,一般要将图片的形状由(num_px, num_px, 3)转化为(num_px * num_px * 3, 1),使每一列的数组代表一张平铺的图片。

X_flatten = X.reshape(X.shape[0], -1).T

对每个像素进行归一化预处理

train_set_x = train_set_x_flatten/255.
test_set_x = test_set_x_flatten/255.

需要定义的函数:

def sigmoid(z):

s = 1 / (1 + np.exp(-z))

return s

这里z = np.dot(w.T, x) + b

---------------------------------------

def initialize_with_zeros(dim):

w = np.zeros((dim, 1))

b = 0

return w, b

这里dim = num_px * num_px * 3

----------------------------------------

def propagate(w, b, X, Y):

m = X.shape[1]  # number of examples

A = sigmoid(np.dot(w.T, X) + b) # forward 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值