一、问题描述


假设我们要分类一个问题,且只是是与不是的问题,比如是否是一只猫,只能是(1)或(0)。而且这个目标拥有n个特征,我们得到的是一个关于输入x的线性函数,我们可以得到:

z= w1*x1+w2*x2+....+wn*xn+b


上述的公式对于描述我们要得到0和1并不是一个很好的描述,因为结果可能有很多种结果,非常大的数或很小的负数。所以将上述的结果作为sigmoid函数自变量,公式及图形如下,当结果z非常大时,结果将趋于1;当结果非常小时,结果将趋于0。







二、代价函数



为什么需要代价函数:

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

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

损失函数又叫做误差函数,用来衡量算法的运行情况,



我们在逻辑回归中用到的函数是:







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

当时损失函数,如果想要损失函数尽可能得小,那么就要尽可能大,因为sigmoid函数取值,所以会无限接近于1。

当时损失函数,如果想要损失函数尽可能得小,那么就要尽可能小,因为sigmoid函数取值,所以会无限接近于0。

 损失函数是在单个训练样本中定义的,它衡量的是算法在单个训练样本中表现如何,为了衡量算法在全部训练样本上的表现如何,我们需要定义一个算法的代价函数,算法的代价函数是对
个样本的损失函数求和然后除以:  损失函数只适用于像这样的单个训练样本,而代价函数是参数的总代价,所以在训练逻辑回归模型时候,我们需要找到合适的和
,来让代价函数  的总代价降到最低。