跳转至

0102

Assignment 1 - 结合神经网络思想实现逻辑回归

1 加载相关包与数据集

  • 查看数据集内容及其大小形状

2 数据预处理

2.1 重塑数据集

  • 将数据集的每一列扁平化,就是把每张图像平展成一个向量
  • 当你想将形状为 (a, b, c, d) 的矩阵 \(X\) 扁平化为形状为 (b*c*d, a) 的矩阵 \(X\_flatten\) 时,有一个技巧:
  • X.T 是矩阵 \(X\) 的转置矩阵
X_flatten = X.reshape(X.shape[0], -1).T

2.2 中心化、标准化数据集

  • 对于图像数据集,将数据集每行除以 255

3 构建模型

3.1 创建辅助函数

  • sigmoid 函数

3.2 初始化模型参数

  • 将权重 \(w\) 初始化为 0 向量
  • 偏差 \(b\) 初始化为常量 0

3.3 前向传播与后向传播

  • 先推导出函数公式最简
  • 通过前向传播计算成本函数 Cost
  • 通过后向传播计算出梯度 Grads:{dw, db}

3.4 循环优化

  • 利用公式:\(\theta=\theta-\alpha d\theta\) 进行梯度下降
  • 使得权重 \(w\) 和偏差 \(b\) 尽可能的低

3.5 生成预测标签

  • 先计算出概率
  • 然后用 np.around() 作用于整个数组,将数组元素转换为 0,1 标签

3.6 构建主模型

  • 将上述内容集成在一起

最后更新: 2023-08-16
创建日期: 2023-08-16
作者: gis-xh