目录

1.定义

(1)神经网络的计算过程包括正向传播和反向传播

(2)符号

2.逻辑回归模型(Logistic Regression)

(1)定义:

(2)sigmoid函数:

(3)损失函数 Loss function

(4)成本函数 Cost function

3.梯度下降法

(1)用处:用于训练 w 和 b

(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;

更多推荐