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

学习内容:

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

使用到的包:

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 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值