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
作者:
创建日期: 2023-08-16
作者: