1.0 二分类 Binary Classification
在二分类问题中,结果是一个离散的值。
比如输入一张图片,判断图片中有猫(1) OR 没有猫(0):
binary classification
这里的X为特征向量,共有12288维。
python trick----对图片x做归一化,
:
这里的在numpy里:
np.linalg.norm(x, axis=1, keepdims=True),
2.0 logistic回归
给定,
,这里
.
在logistic回归中的参数包括:
-
sigmoid
可见,如果很大,
,
反之,如果很小,
。
3.0 logistic回归的损失函数
为了求得最优的,我们需要定义损失函数。
对于第个训练样本
,它的预测值为
那么对于一个训练集,若共有个样本,
我们希望:
在NG的课程里,loss function和 cost function虽然都表示损失函数,但是有区别:
- loss function,衡量某个样本预测值
和真实值
之间的差距,比如常见的MSE,
或者,在分类问题中常用的,
理解
:
如果, 此时
, 我们希望
。
如果, 此时
,我们希望
.
- cost function,是对整个训练集的loss之和求平均,衡量整个训练集预测值和真实值之间的差距,
4.0 梯度下降法 Gradient Descent
我们已经有
我们想要找到最佳的使得
最小。
image.png
从总体来说,我们希望找到上图最低点的global optima,具体方法看下图,
image.png
假设与之间存在如图所示的函数关系,那么可以通过
来更新,同理,
为了简略,以后
都写作
。
5.0&6.0 导数&导数例子
略
7.0&8.0 计算图&计算图的导数计算
简单理解,就是复合函数,链式求导。
computation graph
| 前向 | 后向 |
|---|---|
9.0 logistic回归中的梯度下降
image.png
首先,回顾一下logistic回归,
设,即
那么,
| 前向 | 后向 | 简写 |
|---|---|---|
每次更新,
的求解过程:
已求的,那么
已知,那么
所以,
10.0 logistic regression on m examples
我们知道对某一个样本,有
其中,
而对整个训练集,
每次更新,
现在开始计算参数,
设初始值,,
11.0 向量化 Vectorization
向量化可以优化上述算法,更快,更简约。
举例,已知,
12.0 logistic回归的向量化
TIP:尽可能避免显式的for循环。
13.0 m个样本的向量化
12.0只是对一个样本进行向量化,那么对训练集的m个样本可以进行向量化吗?
| 样本1 | 样本2 | ... | 样本m |
|---|---|---|---|
| ... | |||
| ... |
可见,设,是所有样本的向量化,且
,
已经的向量化为,
所以,
Z = np.dot(w.T, X) + b
同理,的向量化,
14.0 m个样本的向量化后的梯度计算
设,
.
这时,再与初始的,包含多个for循环的算法对比:













网友评论