1.0 二分类 Binary Classification
在二分类问题中,结果是一个离散的值。
比如输入一张图片,判断图片中有猫(1) OR 没有猫(0):
这里的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
我们已经有
我们想要找到最佳的使得最小。
从总体来说,我们希望找到上图最低点的global optima,具体方法看下图, image.png
假设与之间存在如图所示的函数关系,那么可以通过
来更新,同理,
为了简略,以后都写作。
5.0&6.0 导数&导数例子
略
7.0&8.0 计算图&计算图的导数计算
简单理解,就是复合函数,链式求导。
前向 | 后向 |
---|---|
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循环的算法对比:
网友评论