(一)逻辑回归及其代价函数 --- 吴恩达深度学习笔记
创始人
2024-02-06 05:49:51
0

逻辑回归 — 适用于二分类问题

使用逻辑回归算法会得到的输出标签y,y在监督问题中全是0或者1,因此这是一种针对二分类问题的算法。

给定的输入特征向量x和一幅图像对应,我们希望识别这是否是一张猫的图片。因此我们想要一种算法能够输出一个预测值, 我们称之为y帽(yhat y^\widehat{y}y​),这代表对真是标签Y的估计。形式上讲yhat是当给定特定输入特征x时,预测标签y为1的概率。换种说法就是当x是一张图像时,你想要yhat告诉你这张图是猫的概率。

x是一个xnx_nxn​维的向量,约定逻辑回归的参数是w,w也是一个xnx_nxn​维的向量,另外,参数b是一个实数,因此给定了一个输入x,以及参数w和b,那么如何产生输出yhat呢?

尝试让 y^=w.T∗x+b\widehat{y} = w.T*x+by​=w.T∗x+b,这是输入x的一个线性函数输出,事实上,如果使用线性回归,就是这样操作的,但是这对二分类并不是一个好的算法,因为你希望yhat能够输出y为1的概率。因此yhat的值应该在0和1之间。而这种算法很难实现这个要求。因为w.T∗x+bw.T*x+bw.T∗x+b可能会比1大很多或者是一个负数,这对于概率就失去了意义。

让逻辑回归中的输出yhat等于这个值应用sigmoid函数的结果。

Givex,wanty^=P(y=1∣x),其中(0≤y^≤1)Give\ \ x, want \ \ \widehat{y} = P(y =1 | x) \ \ ,其中 (0 ≤ \widehat{y} ≤1)Give  x,want  y​=P(y=1∣x)  ,其中(0≤y​≤1)

在这里插入图片描述

sigmoid函数是这样的,如果水平轴的标签为z,那么函数sigmoid(z)是这样的,它从0平滑地升高到1,它会在0.5处和竖直轴交叉。
在这里插入图片描述

因此这就是sigmoid(z)函数,这里z表示(w.T∗x+b)(w.T*x+b)(w.T∗x+b)。

当z是一个实数,sigmoid(z)就等于11+e−z\frac 1 {1+e^{-z}}1+e−z1​

这里需要注意几件事情,如果z非常大时,e^(-z)就会接近0,所以sigmoid(z)就约等于11+0\frac 1 {1+0}1+01​,即等于1。就如上图显示,如果z非常大时,sigmoid(z)也就会越接近1。相反的,如果z非常小时,sigmoid(z)也就会越接近0。

因此当你实现逻辑回归时,你的目标是尽力学到参数w和b,因此yhat就能很好地估计y等于1的概率。

当进行神经网络编程时,我们通常会将参数w和参数b分开看待。这里的b对应一个偏置量。

一些其他的课程会这样做
在这里插入图片描述

事实上,实现神经网络时,将b和w当做互相独立的参数会更加简单。

接下来为了改变参数w和b,需要定义一个代价函数(逻辑回归代价函数)。

逻辑回归代价函数

为了优化逻辑回归模型的参数w和b,需要定义一个代价函数。
在这里插入图片描述

为了了解你的模型参数,这里有一组用于优化m参数的示例。,你会很自然想找出参数w和b,至少在获得训练集和输出值时,对于训练集的假定,我们只需提出y-hat(i)将接近从训练集中获得的实际y_i。为了更详细的描述上述方程式。
上标括号指的是数据
X、Y、Z以及其他字母与i-th训练示例相关联

损失函数(误差函数)可以用来检测算法运行情况,如在算法输出时定义损失,yhat和实标Y有可能是一个或者半个平方误差L(y^,y)=12(y^,y)2L(\widehat{y},y) = \frac 1 2(\widehat{y},y)^2L(y​,y)=21​(y​,y)2,你可以如此操作,但是在一般逻辑回归里不进行此操作,因为当研究参数时,我们讨论的优化问题会变为非凸问题,所以优化问题会产生多个局部最优解,梯度算法也就无法找到全局最优解。

函数L被成为损失函数,需要进行设定,才能在实标为y时,对输出值yhat进行检测,平方误差整体是个合理的选择,除了无法让梯度下降算法良好运行,所以在逻辑回归中,我们回设定一个不同的损失函数充当平方误差,这样能产生一个凸象最优问题,将使之后的优化问题变得容易。所以,实际使用的逻辑回归损失函数为

L(y^,y)=−(ylogy^+(1−y)log(1−y^))L(\widehat{y},y) = -(ylog\widehat{y} + (1-y)log(1-\widehat{y}))L(y​,y)=−(ylogy​+(1−y)log(1−y​))

为什么使用这个损失函数有意义,如果使用平方误差,平方误差需要尽可能小,在此逻辑回归损失函数里,我们也要让这个数值尽可能小。
举个例子:
1、我们假定y=1,L(y^,y)=−logy^L(\widehat{y},y) = -log\widehat{y}L(y​,y)=−logy​,要使得L特别小,那么就要使得logy^log\widehat{y}logy​数值必须特别大,但是y^\widehat{y}y​时sigmoid函数,它无法大于1,也是是说如果y=1,y^\widehat{y}y​值要尽可能打,但却打不过1,所以y^\widehat{y}y​要无限接近1。
2、我们假定y=0,即损失函数L(y^,y)=−log(1−y^)L(\widehat{y},y) = -log(1-\widehat{y})L(y​,y)=−log(1−y​),所以在学习过程中,需要将损失函数值变小,意味着log(1−y^)log(1-\widehat{y})log(1−y​)的值要大,即要使得y^\widehat{y}y​尽可能的小。即如果y=0,损失函数将会作用于参数使得yhat无限趋近于0.

目前有很多函数具有拉菲拉效应,也就是如果y=1,yhat的值要变大;如果y=0,yhat的值要变小。

接下来设定代价函数,来检测优化组的整体运行情况,所以运用参数w和b的代价函数J是取m(训练集)的平均值、损失函数的总和运用于训练集,你的逻辑回归算法预计的输出值,用于一组特定的w和b参数。
所以我们要做的是损失函数适用于像这样单一的训练集。
代价函数:
CostFunction:J(w,b)=1m∑i=1mL(y^,y)=−1m(∑i=1m(y(i)logy^(i)+(1−y(i))log(1−y^(i))))Cost \ Function: \ J(w,b) = \frac 1 m\displaystyle\sum_{i=1}^mL(\widehat{y},y) = -\frac 1 m(\displaystyle\sum_{i=1}^m(y^{(i)}log\widehat{y}^{(i)} + (1-y^{(i)})log(1-\widehat{y}^{(i)}) ))Cost Function: J(w,b)=m1​i=1∑m​L(y​,y)=−m1​(i=1∑m​(y(i)logy​(i)+(1−y(i))log(1−y​(i))))

L(y^,y)=−(ylogy^+(1−y)log(1−y^))L(\widehat{y},y) = -(ylog\widehat{y} + (1-y)log(1-\widehat{y}))L(y​,y)=−(ylogy​+(1−y)log(1−y​)),此损失函数,只适用于单个的训练样本。

Cost Function基于参数的总损失,所以在训练逻辑回归模型时,我们要找到合适的参数w和b,让代价函数J尽可能地小。
逻辑回归可以被看作是一个非常小的神经网络。

Tips:符号定义

x:表示一个nxn_xnx​维数据,为输入数据,维度为(nxn_xnx​,1)

y:表示输出的结果,取值为(0,1)

(x(i),y(i))(x^{(i)},y^{(i)})(x(i),y(i)):表示第i组数据,可能是训练数据,也可能是测试数据,此处默认为训练数据。

X=[(x(1),x(2),...,x(m))]X=[(x^{(1)},x^{(2)},...,x^{(m)})]X=[(x(1),x(2),...,x(m))]:表示所有训练数据集的输入值,放在一个nxn_xnx​x m的矩阵中,其中m表示样本数目。

Y=[(y(1),y(2),...,y(m))]Y=[(y^{(1)},y^{(2)},...,y^{(m)})]Y=[(y(1),y(2),...,y(m))]:表示所有训练数据集的输出值,维度为 1 x m。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...