吴恩达神经网络和深度学习第二周----逻辑回归详解


本人也是刚刚接触深度学习,内容大部分都是按自己的理解来写的,比较白话,若有错误,可以评论指出。本文章中的逻辑回归公式主要基于矩阵讨论,不讨论for循环的情况

2.1二分分类

关于二分分类问题,这个与逻辑(logistic)回归是紧密相关的。简单来说,就是你输入一个n维的x向量,即一个1行n列的矩阵,这里的每个元素代表着一个特征,当输入这些特征值,经过一系列的计算(具体实现后续在后续课程),最后会得出一个0或1的答案,1则表示正确,0则表示错误。逻辑回归在吴恩达的机器学习课程中有具体实现。

备注:RGB照片每个像素有三个通道分别为R,G,B。

在这里插入图片描述
吴恩达课程中举了一个图片中是否为猫的一个例子,具体实现就是将图片中三个通道的像素值提取出来并放进一个矩阵,课程中的照片为64x64像素,每个像素有三个通道,随意取出(或遍历)照片中一个5行4列的像素矩阵(就相当于这张照片中抠一张5个像素乘以4个像素的一张小照片),将其中的像素值存放一个5x4x3(乘3的原因是因为他有RGB三个通道)行1列的特征矩阵,每个元素的值就是像素值,也代表这张照片的特征。
在这里插入图片描述
将该矩阵进行一系列的计算,最后会得出一个0(无猫)或1(有猫)的结果,即起到判断这张照片中有没有猫的作用。

2.2logistic回归sigmoid function

该小节大部分内容在上面已经具体表达过,课程中具体特别提到的就是一个
sigmoid function在这里插入图片描述
可以看出,当可以看出这是一个单调递增函数,且竖轴不小于0,不大于1,z轴就是通过特征矩阵x与参数矩阵的值(这里我们假设只有一个样本),就是一个1行n列(n个特征)与n行1列的参数矩阵(后面会讲)相乘最后得出1个z值。简单来说这个函数的作用可以理解为z为1的概率,竖轴(y轴)的值越大,为1的概率越大,用上面的例子来说,就是这张照片里有猫的概率越大。超过0.5的则预测为1,低于0.5的则预测为0。

2.3logistic回归函数损失函数

这一节的主要内容就是以下这个式子:在这里插入图片描述
为了方便我用y’代替公式中有y hat,即预测值
在这里插入图片描述
我们先将cost function中的负号往里提,则有,-log(y’)和-log(1-y ’ ),先不管y上的i值,
下面是-log(y’)和-log(1-y ’ ),y’的取值为0到1,因为sigmoid function的取值范就为0到1
在这里插入图片描述
可以看出越往0的地方竖轴值越大越靠近1则越靠近零,而真实值y为0或者1,当y = 1时-ylog(y’)这一项有效,-(1-y)(log(1-y)为0,不难看出,由sigmoid function得出的y’越大对应的-log(y’)的值越小,对应的代价越小,也可以理解为越准,y’越小,对应的-log(y’)的值越大,代价越大,理解成越不准。
接下来看-log(1-y’)
在这里插入图片描述
可以看出y’越往1,所对应的-log(1-y’)越大,当我们的y为0时,当y = 1时-ylog(y’)为0,-(1-y)(log(1-y)有效,当我们的y‘值越小所对应的的-log(1-y’),代价越小,即预测结果较准,反之,y’值越大,对应的代价越大,即越不准。

所以对应的理解就是当我们的cost function越小(结果越准)对应的-log(1-y’)和-log(y’)会越小,真实值y为1时,对应的预测值y’越大,真实值为0时,对应的y’值越小。前面的真实值y或者(1-y)的作用为判断作用,不参与计算。

开始我们忽略的i值只是代表第i个样本,总体的cost function可以理解为,i个样本预测后加起来的代价。下面我们利用矩阵来理解这个式子在干什么。在这里插入图片描述

2.4梯度下降法

梯度下降法就是利用求导的方式适当的减小或者增加w(参数矩阵)和b,最后得出代价较小的w(参数矩阵)和b,具体的公式如下
在这里插入图片描述
蓝色方框的其实是等于(y’-y)*x(后面计算图会证明),y’是预测值,y是真实值,x是对应的特征值。假设w由i个参数θ,θ1,θ2…θi组成的一个向量矩阵,1个b,对应的就是一个样本有i个特征,当我们更新参数θ1时,更新后的θ1就等于更新前的θ1减去一个常数(α)乘以一个未知数A1,这个未知数A是由i个样本各自的预测值减去各自的真实值乘以各自样本的第1个特征,最后将所有结果加起来得出的,以此类推,要更新θ2,更新后的θ2就等于更新前的θ2减去一个常数(α)乘以一个未知数A2,这个未知数是由所有样本各自的预测值减去各自的真实值乘以各自样本的第2个特征,b值比较特殊,更新b时蓝色方框的值就等于i个样本各自的预测值减去各自的真实值,再将所有结果相加就为这个蓝色方框的值。最后的出的是该次梯度下降后的更新的w矩阵和常数b。

下面我们利用矩阵来理解一下这个公式在做的东西
在这里插入图片描述

总结一下梯度下降的作用,我们需要不断调整w矩阵和b来使我们的代价函数最小,当我们的导数值A越小,可以理解为越靠近最小值(可能是局部最小),此时的A值也会越小,w也会减小的越慢,反之如果我们我们的导数值A越大,可以理解为距离最小值(可能是局部最小)较远,此时的w和b就会减小的较大。以此实现不断调整w矩阵和b来使cost function尽量小。

2.5-2.6导数相关(略)

2.7计算图

我们写计算图的目的就是为了求出在这里插入图片描述
在这里插入图片描述
这个是吴恩达视频里的计算图求导过程,有点小乱。
在这里插入图片描述
这个是我整理出来的求导过程,需要多元求导的高数基础。
在这里插入图片描述
在这里插入图片描述

通过这样的过程,我们可以得到新的w1,w2和b,或者说使cost function更小的w2和b

逻辑回归训练流程图

Created with Raphaël 2.2.0 输入x特征矩阵并设置一个训练次数m等参数 计算cost function 以及更新参数矩阵 w和b 次数大于m ? 输出w矩阵和b yes no

这是本人的第一次博客,如果有错误以及不恰当的描述,评论指出。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值