ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2.3 逻辑回归的代价函数(Logistic Regression Cost Function)

2021-12-07 15:58:00  阅读:177  来源: 互联网

标签:Function 逻辑 函数 代价 损失 Cost Logistic hat log


逻辑回归的代价函数2.3-吴恩达老师课程


逻辑回归的代价函数(也翻译作成本函数)。

为什么需要代价函数:
代价函数是衡量我们训练的模型的好坏程度。
为了训练逻辑回归模型的参数 w w w和参数 b b b,我们需要一个代价函数,通过训练代价函数来得到参数 w w w和参数 b b b。先看一下逻辑回归的输出函数:
在这里插入图片描述
为了让模型通过学习调整参数,你需要给予一个 m m m样本的训练集,这会让你在训练集上找到参数 w w w和参数 b b b,来得到你的输出。

对训练集的预测值 y ^ \hat{y} y^​,我们更希望它会接近于训练集中的 y y y值。

损失函数:
损失函数又叫做误差函数,用来衡量算法的运行情况,Loss function: L ( y ^ , y ) L(\hat{y},y) L(y^​,y)
通过损失函数来衡量预测输出值和实际值有多接近。一般我们用预测值和实际值的平方差或者它们平方差的一半,但是通常在逻辑回归中我们不这么做,因为当我们在学习逻辑回归参数的时候,会发现我们的优化目标不是凸优化,只能找到多个局部最优值,梯度下降法很可能找不到全局最优值,虽然平方差是一个不错的损失函数,但是我们在逻辑回归模型中会定义另外一个损失函数。
在这里插入图片描述

凸优化

在这里插入图片描述

多个局部最优解

逻辑回归中用到的损失函数是: L ( y ^ , y ) = − y l o g ( y ^ ) − ( 1 − y ) l o g ( 1 − y ^ ) L(\hat{y},y)=-ylog(\hat{y})-(1-y)log(1-\hat{y}) L(y^​,y)=−ylog(y^​)−(1−y)log(1−y^​)

当使用平方误差作为损失函数的时候,你会想要让这个误差尽可能地小,对于这个逻辑回归损失函数,我们也想让它尽可能地小,为了更好地理解这个损失函数怎么起作用,我们举两个例子:
当 y = 1 y=1 y=1时损失函数 L = − l o g ( y ^ ) L=-log(\hat{y}) L=−log(y^​),如果想要损失函数 L L L尽可能得小,那么 y ^ \hat{y} y^​就要尽可能大,因为sigmoid函数取值 [ 0 , 1 ] [0,1] [0,1],所以 y ^ \hat{y} y^​会无限接近于1。
当 y = 0 y=0 y=0时损失函数 L = − l o g ( 1 − y ^ ) L=-log(1-\hat{y}) L=−log(1−y^​),如果想要损失函数 L L L尽可能得小,那么 y ^ \hat{y} y^​就要尽可能小,因为sigmoid函数取值,所以会无限接近于0。
就是如果 y y y等于1,我们就尽可能让 y ^ \hat{y} y^​变大,如果等于0,我们就尽可能让 y ^ \hat{y} y^​变小。

损失函数是在单个训练样本中定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对 m m m个样本的损失函数求和然后除以 m m m: J ( w , b ) = 1 m s u m i = 1 n ( − y ( i ) l o g y ^ ( i ) − ( 1 − y ( i ) ) l o g ( 1 − y ^ ( i ) ) ) J(w,b)={{1}\over{m}}sum_{i=1}^n(-y^{(i)}log\hat{y}^{(i)}-(1-y^{(i)})log(1-\hat{y}^{(i)})) J(w,b)=m1​sumi=1n​(−y(i)logy^​(i)−(1−y(i))log(1−y^​(i)))损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的 w w w和 b b b,来让代价函数 J J J的总代价降到最低。

标签:Function,逻辑,函数,代价,损失,Cost,Logistic,hat,log
来源: https://blog.csdn.net/qq_41415238/article/details/121770375

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有