逻辑回归模型与梯度下降法(笔记)(吴恩达深度学习)
·
目录
(2)运用逻辑回归模型 与 梯度下降法 针对单个样本的训练例子
(3)运用逻辑回归模型 与 梯度下降法 针对m个样本的训练例子
1.定义
(1)神经网络的计算过程包括正向传播和反向传播
- 正向传播(forward propagation):计算成本函数
- 反向传播(backward propagation):反向求导(求成本函数对w, b的导数)
(2)符号
- (x, y):表示一个样本
- x:表示一个特征向量
- y:0或1,表示分类结果
- n或n(x):特征向量的维度
- m:样本个数
2.逻辑回归模型(Logistic Regression)
(1)定义:
- 逻辑回归是一种用于二分分类任务的监督学习算法,它通过Sigmoid函数将线性回归的连续输出映射到【0,1】区间,概率大于0.5归为正类,小于0.5归为负类。
- 线性回归模型:z = w的转置x + b
(w 为权重,x 为特征,b 为偏置,得到连续输出z)
(2)sigmoid函数:
- y^ = σ(z) = 1 / (1+e^{-z})
- z为线性回归函数,通过给sigmoid函数将输出z压缩到(0,1)区间
(3)损失函数 Loss function
- 用于衡量算法在单个样本的表现效果(L越小表示效果越好)
- 形式:L(y^, y) = -【 ylogy^ + (1-y)log(1-y^) 】
- 这种形式对应了y的两种取值情况:
y = 1时,L= - log(y^)想要足够小,y^就要足够大,最大趋近于1。
y = 0时,L=- log(1-y^)想要足够小,(1-y^)要足够大,y^就要足够小,最小趋近于0。
(4)成本函数 Cost function
- 用于衡量w和b在全体训练样本的表现效果
- 形式:J(w,b) = 1/m ΣL(y^, y),J越小越好
3.梯度下降法
(1)用处:用于训练 w 和 b
- 成本函数 J(w, b)是一个凸平面

从一维来训练(针对 w 和 b 都一样):

重复进行对 w 和 b 的更新操作:
- w := w - α dJ(w)/d(w) (:=表示更新;α是学习率,控制梯度下降法中的步长)
- b := b - α dJ(b)/d(b)
- 直到找到最低点,对应的就是最好的w,b
(2)运用逻辑回归模型 与 梯度下降法 针对单个样本的训练例子
-
样本x =(x1, x2),相应的权重w维度也是2,即(w1,w2)
-
首先进行正向传播计算损失函数
z = w转置x + b = w1x1 + w2x2 + b
y^ = a = σ(z) = 1 / (1+e^{-z})
L(a, y) = -(yloga + (1-y)log(1-a))
-
然后反向传播求导 dw1. dw2, db



- 最后使用梯度下降法进行w1, w2 ,b的更新
w1 := w1 - αdw1
w2 := w2 - αdw2
b := b - αdb
(3)运用逻辑回归模型 与 梯度下降法 针对m个样本的训练例子
- 样本xi =(xi1, xi2),权重w = (w1,w2)
- 其实就是重复针对1个样本的训练过程,最后求平均值
- 因为在m个样本的训练中

- 最后再用梯度下降法
w1 := w1 - αdw1
w2 := w2 - αdw2
b := b - αdb
# 1.初始化
J=0; dw1=0; dw2=0; db=0;
# 2.for循环遍历训练集,并且计算相应的每个训练样本的导数
for i = 1 to m
z(i) = x(i)w+b;
a(i) = 1 / (1 + np.exp(-z(i))); #a[i] = sigmoid(z(i))
J += -[y(i)log(a(i))+(1-y(i))log(1-a(i));
dz(i) = a(i)-y(i);
dw1 += x1(i)dz(i);
dw2 += x2(i)dz(i);#n=2,两个特征w1,w2
db += dz(i);
# 3.最终对所有的m个训练样本都进行了这个计算,你还需要除以m,计算平均值
J /= m;
dw1 /= m;
dw2 /= m;
db /= m;
更多推荐
所有评论(0)