logistic回归成本函数

        为了训练logistic回归模型的参数w及b,需要定义一个成本函数,即用logistic回归训练的成本函数。

为了让模型来通过学习调整参数,要给一个m个样本的训练集。而是对一个训练样本x来说的,对于每个训练样本,使用上标i,方便引用说明、区分样本。即训练样本(i)对应的预测值是(i),是用训练样本通过sigmoid 函数作用到得到的。这里用上标i来指明数据,表示x、y或z和第i个训练样本的关系,和第i个样本有关,这就是上标i的含义。

        损失函数也叫作误差函数,他们可以用来衡量算法的运行情况。可以定义损失函数为(-y)的平方,或者他们差平方的½。但通常在logistic回归中,大家都不这么做,因为在学习参数的过程中,会发现之后讨论的优化问题会变成非凸的,最后会得到很多个局部最优解,梯度下降法可能找不到全局最优解。损失函数L,是来衡量预测输出值和y的实际值有多接近。误差平方看起来是一个合理的选择,但是用这个的话,梯度下降法就不太好用。所以在logistic回归中,我们会定义一个不同的损失函数,它起着与误差平方相似的作用,但会给我们一个凸的优化问题,它很容易去做优化。

        logistic回归中的损失函数为:

        损失函数越小越好,下图绿色部分是损失函数这样定义的原因解释推理。即当y=1时,尽可能地让很大,因为处于0到1之间,所以是让尽可能接近于1;当y=0时,尽可能地让很小,因为处于0到1之间,所以是让尽可能接近于0。这样的话预测值和实际值之间的误差就会很小,表示训练效果好。

        损失函数L是在单个训练样本上定义的,它衡量了在单个训练样本上的表现,只适用于单个训练样本。

        下面定义一个成本函数,它衡量的是在全体训练样本上的表现,J(w,b),基于参数的总体成本函数。

        所以在训练logistic回归模型时,我们要找到合适的参数w和b,让下面这里的成本函数J尽可能地小。logistic回归模型可以被看作一个非常小的神经网络。

你可能感兴趣的:(logistic回归成本函数)