Deep Learning 用逻辑回归训练图片的典型步骤. 学习Coursera上吴恩达老师Deep Learning第一课程前两周的笔记.
1. 处理数据
1.1. 向量化(Vectorization)
将每张图片的高和宽和RGB展为向量, 最终X的shape为 (height*width*3, m)
.
1.2. 特征归一化(Normalization)
对于一般数据,使用标准化(Standardization), z_i = (x_i - mean) / delta
, mean
与 delta
代表X的均值和标准差. 最终特征处于[-1, 1]区间.
对于图片, 可直接使用Min-Max Scaling, 即将每个特征除以255(每个像素分为R, G, B, 范围在0~255)使得值处于[0, 1].
2. 初始化参数
一般将 w
和 b
随机选择. 作业为了方便设为0了.
3. 梯度下降(Gradient descent)
根据 w
, b
和训练集,来训练数据. 需要设定迭代次数与学习率.
以下为大循环(迭代次数)中内容:
3.1. 计算代价函数
对于
1 | # 激活函数 |
3.2. 计算反向传播的梯度
即计算导数. > 注: 此处
根据
1 | dw = X.dot((A - Y).T) / m |
3.3. 更新 w
, b
1 | w = w - learning_rate * dw |
4. 预测测试集
使用训练出来的 w
, b
, 对测试集使用 y_pred = sigmoid(wx+b)
, 计算得预测的概率, 对其取整, 例如大于0.7则判定为'是', 否则为'否'. Coursera作业是0.5就判定为'是', 那么使用内建函数四舍五入即可.
v1.5.2