cost function and loss function

在机器学习领域我们经常会遇到cost function和loss function(也叫error function),而这两个function实际是有区别的。loss function通常用于衡量单个样本其预测值和实际值的“差距”,而cost function通常是针对样本集中的所有样本,而且是一个平均值。

Loss Function

既然loss function是用于衡量预测值和实际值之间的"差距",那么我们其实有很多的衡量手段,比如通过方差,如下:


1.1-loss function

但是,在logistic regression算法中使用方差的方式无法得到凸函数(convex),也就无法得到全局最小值,所以,我们在logistic regression中使用不同的loss function,如下:

1.2-loss function2

需要注意的是,不论是哪个函数,都是针对单个样本的,所以都带有上标 (i)

Cost Function

cost function 是针对整个样本集的,因此它的计算公式需要将所有的loss function的结果进行加总然后求平均值,如下:


2.1-cost function

Derivative

针对loss function和cost function的求导如下:


3.1-derivative of loss function and cost function
  • cost function J针对某个权重w的求导实际是loss function针对w的导数之后再求平均值

完整的计算过程比较复杂,如下图所示:


3.2-gradient decent procedure
  • 目前针对w和b的求导均是通过两个for循环来进行求导,但是后续我们实际可以通过vectorization的方式进行并行计算。
  • 注意dw的计算过程实际是通过计算每个样本的loss function对w的导数,然后累加,然后再计算平均值。有了dw之后,再进行梯度下降。

你可能感兴趣的:(cost function and loss function)