前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Logistic Regression Cost Function

Logistic Regression Cost Function

作者头像
mathor
发布2019-12-30 15:41:59
4070
发布2019-12-30 15:41:59
举报
文章被收录于专栏:mathormathor

这个节里,我们讲逻辑回归的代价函数(也翻译作成本函数)

为什么需要代价函数:

为了训练逻辑回归模型的参数$\omega$和参数$b$,我们需要一个代价函数,通过训练代价函数来得到参数和参数。先看一下逻辑回归的输出函数:

AwBztA.png
AwBztA.png

为了让模型通过学习调整参数,你需要给予一个$m$样本的训练集,这会让你在训练集上找到参数$\omega$和参数$b$,,来得到你的输出

我们定义$\hat{y}$为训练集的预测值,我们更希望它会接近于训练集中的$y$值。上标$(i)$的含义是指明数据表示第$i$个训练样本

损失函数:

损失函数又叫做误差函数,用来衡量算法的运行情况,$Loss\ function:L(\hat{y},y)$

我们通过这个损失函数$L$来衡量预测输出值和实际值有多接近。一般我们用预测值和实际值的平方差或者它们平方差的一半,但是通常在逻辑回归中我们不这么做,因为当我们在学习逻辑回归参数的时候,会发现我们的优化目标不是凸优化,只能找到多个局部最优值,梯度下降法很可能找不到全局最优值,虽然平方差是一个不错的损失函数,但是我们在逻辑回归模型中会定义另外一个损失函数

我们在逻辑回归中用到的损失函数是:$L(\hat{y},y)=-ylog(\hat{y})-(1-y)log(1-\hat{y})$

为什么要用这个函数作为逻辑损失函数?当我们使用平方误差作为损失函数的时候,你会想要让这个误差尽可能地小,对于这个逻辑回归损失函数,我们也想让它尽可能地小,为了更好地理解这个损失函数怎么起作用,我们举两个例子:

当$y=1$时损失函数$L=-log(\hat{y})$,如果想要损失函数$L$尽可能得小,那么就要$\hat{y}$尽可能大,因为sigmoid函数取值范围是$[0,1]$,所以$\hat{y}$会无限接近于1

当$y=0$时损失函数$L=-log(1-\hat{y})$,如果想要损失函数$L$尽可能得小,那么就要$\hat{y}$尽可能小,因为sigmoid函数取值范围是$[0,1]$,所以$\hat{y}$会无限接近于0

在这门课中有很多的函数效果和现在这个类似,就是如果$y$等于1,我们就尽可能让$\hat{y}$变大,如果$y$等于0,我们就尽可能让$\hat{y}$变小。 损失函数是在单个训练样本中定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对$m$个样本的损失函数求和然后除以$m$:$J(\omega,b)=\frac{1}{m}\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})=\frac{1}{m}(-y^{(i)}log\hat{y}^{(i)}-(1-y^{(i)})log(1-\hat{y}^{(i)}))$损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的$\omega$和$b$,来让代价函数$J$的总代价降到最低

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档