@深度学习笔记(二)

第二天(神经网络基础一)

需要掌握及应用
- 掌握
* 知道逻辑回归的算法计算输出、损失函数
* 知道导数的计算图
* 知道逻辑回归的梯度下降算法
* 知道多样本的血量计算
- 应用
* 应用完成向量化运算
* 应用完成一个单神经元神经网络的结构

1.1 Logistic 回归

  • 逻辑回归是一个主要用于二分分类类的算法。那么逻辑回归是给定一个x,输出一个该样本属于1对应类预测概率y = P(y = 1|x) (给定x,y=1的等概率假设Probability)

Logistic 回归中使用的参数如下:

  • 输入的特征向量:x ∈ Rnx,x是一个nx维的特征向量,用于训练的标签:y ∈ 0,1
  • 参数:权重: ω ∈ Rnx,偏置:b ∈ R
  • 输出预测结果: y ^= σ( ωTx+b) = σ( ω1x1+ ω2x2 + … + b) = σ(θTx) (y^表示预测概率值,y为目标值0或者1,T:转置,可以将矩阵n行一列转置成一行n列,σ:用来描述任一过程参数的平均值的分布或离散程度,这个公式最重要)
    • sigmoid 函数 s = σ( ωTx+b) = σ(z) = 1/1+e-z
    • 如果z的结果非常大,那么s的结果趋近于1
    • 如果z的结果非常小,那么s的结果趋近于0
  • 输出y^ =P(y=1|x) 的结果。

逻辑回归损失函数

不使用平方差损失(因为这种损失有多个局部最小点,导致优化过程中很难找到损失最小的点)
逻辑回归一般使用L(y^,y) = -(ylogy^) - (1-y)log(1-y^))
在这里插入图片描述
目标值为1:损失为-log(y^) , 想要损失越小,y^趋近于1
目标值为0:损失为-log(1-y^) ,想要损失越小,y^ 趋近于0
损失函数是在单个训练样本中定义的,它衡量了在单个训练样本上的表芯。代价函数衡量的是在全体m训练样本上的表现,即衡量参数 ω 和b 的效果,所有m训练样本的损失平均值J( ω,b) = 1/m∑mi=1L(y^(i),y(i))

梯度下降方法

  • 目的:使损失函数的值找到最小值
  • 方式:梯度下降
  • 函数的梯度指出了函数的最陡增长方向。梯度的方向走,函数增长的就越快。那么按梯度的负方向走,函数值自然就降低的最快了。模型的训练目标即是寻找合适的ω 与b 以最小化代价函数值。
  • 梯度下降算法
    • 按照梯度下降方向进行优化损失直到最小
    • ω更新算法:ω: = ω - a *dJ(ω,b)/dω
    • b更新算法:b: = b - a *dJ(ω,b)/db
      梯度下降图

导数

导数可以理解成在某一点处的斜率。

  • 各点的导数值一样时,f(a) = 4a的导数可以记作df(a)/da
  • 当增加自变量一个不可估计的小的值,应变量增加的相对于自变量的倍数。
    常见导数

导数计算图与链式法则

假设J(a,b,c) = 3(a +bc)
(从前往后的计算过程,从后往前的导数过程,梯度计算导数,链式法则,说明导数是连续传播的)
导数计算图

逻辑回归的梯度下降

逻辑回归的梯度下降过程计算图,首先从前往后的计算图得出如下:
z = ωTx+b
y^ = a = σ(z)
L(y^,y) = -(yloga) - (1-y)log(1-a))
那么计算图从前向后的过程为,假设样本有两个特征
计算图
一个样本:w = (w1,w2) x = (x1,x2)
计算出J关于z的导数
计算出J关于z的导数
所以我们这样可以求出总损失相对于w1,w2,b参数的某一点导数。
参数的导数如下:
参数的导数
计算出来之后,更新w1,w2,b的值
逻辑回归的梯度下降
根据梯度下降公式,按照得出来的梯度来更新,如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值