数学建模常见算法的通俗理解(3)

11  Logistic模型(计算是/否的概率)

11.1  粗浅理解

我们有m张图片,并且获取了这些图片的特征向量的矩阵,我们需要判断这些图片中是否满足我们某个要求,如是否含有猫🐱这种动物。那么此时我们的每张图片传进模型后的输出就是一个概率。因为概率的大小都是趋于0到1之间的,此时我们就不能利用简单的线性回归来作为输出。我们可以考虑使用logistic回归。logistic回归函数的参数也是一个大小为n的向量,它可以看成是对应每个像素的权重,并且还含有一个b的标量表示偏移。而要实现逻辑回归就需要控制y的输出位于0到1之间,这里利用的方法是使用sigmoid函数,它可以将输出y控制到0-1之间,sigmoid函数如下:

它的函数表达式是: 

 我们可以看到这个函数将输出控制在0-1之间。此时我们的logistic回归的表达式就是:

损失函数和代价函数:
上面我们讨论了logistic回归,我们的目的是要使用这个回归来得到预测输出y,但是我们知道,我们需要一个标准来衡量我们的输出是否好,即训练值中的输出和预测是否一致。而这个衡量标准就是损失函数。对于单个样本,我们定义一个函数loss来计算真实值和预测值的误差:loss=ylog(y^)+(1−y)log(1−y^)
 

当然,你也可以定义一些别的函数作为损失函数,比如就是我们常见的表示数据之间拟合度的函数,不过这些函数会在后面我们拟合时不好拟合,所以我们选择了之前的损失函数。

我们之前使用的loss损失函数只能说是某个样本的拟合情况,而我们需要统计的是对于整个数据集中对应的所有数据的损失函数,我们利用符号J来表示这个函数,这个函数叫做代价函数。J就直接与我们需要训练的W和b相关:

梯度下降法:
之前我们看了代价函数J,我们的目的是需要让它能够变得最少。我们采用的方法就是梯度下降法,即通过求导数的方式将其一步步变化以达到最优解。而我们对于两个变量w和b的处理方式是

上面的两条式子就是用于计算最符合条件(J最小)时的w和b。我们需要变化w和b,使其不断接近最优解,其中式子中的是代表学习率,它的意义是控制w每次变化时变化的步长,而偏导就是控制每次变化的方向。其实就是下图所示从某点开始逐渐往w,b最小的位置移动。

 关于梯度下降我们常用得到求导方法是链式法则

如我们的训练参数只有W1,W2,输入量是X1和X2。我们需要的是J对b、W1和W2进行求导,而这个过程无疑是一个循序渐进的求导过程,因为输出结果到输入结果之间隔着很多中间量,所以我们求导的时候一般都需要使用到链式法则。

我们先从一个样本开始:先算出这个样本的预测值(a),我们知道:

,根据 我们可以得到损失函数

loss=ylog(y^)+(1−y)log(1−y^)

之后我们可以根据链式法则倒过来求出,而b和W2也类似

在得到损失函数后我们就可以进一步求出

  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜只因C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值