机器学习中常见的损失函数和代价函数

损失函数 (loss function) 是用来估量在一个样本点上模型的预测值 h(x) 与真实值 y 的不一致程度。它是一个非负实值函数,通常使用 L(y, h(x)) 来表示。

 

损失函数可由 y 的类型来分类,而第三章提升树的梯度提升法在高层面上讲是相同的,不同的是用的不一样损失函数。

 

如果 y 是离散型变量 (对应着提升分类树 y 和 sign(h) 取 -1 和 1)

 

  • 0-1 损失函数 (misclassification)

  • 指数损失函数 (adaBoost)

  • 对数损失函数 (logitBoost)

  • 支持向量损失函数 (support vector)

机器学习中常见的损失函数和代价函数

如果 y 是连续性变量 (对应着提升回归树 y 和 h 取任意实数)

 

  • L损失函数 (regression boost)

  • L损失函数

  • Huber 损失函数

机器学习中常见的损失函数和代价函数

下表列出了每个损失函数的具体表达式:

机器学习中常见的损失函数和代价函数

当 y 是离散性变量时对应的问题都是分类问题

 

  • 真实值 y 和预测值 sign(h) 都规定只能取正负 1

  • 损失函数里面都有 y∙h 这一项而且函数是它的减函数。在这里我们用 1 表示正类-1 表示反类,那么 y∙h > 0 代表预测结果和真实结果一致,因而损失值低些;反之 y∙h < 0 代表预测结果和真实结果不一致,因而损失值高些

 

当 y 是连续性变量时对应的问题都是回归问题

 

  • 真实值 y 和预测值 h(x) 可以取任意实数

  • 损失函数里面都有 |y – h(x)| 这一项而且函数是它的增函数。当真实值 y 和预测值 h(x) 之间差别越大(小),损失值越高(低)

 

代价函数 (cost function)就是所有样本点上的损失函数的加总。代价函数越小,模型的鲁棒性 (robustness) 就越好。

文章参考地址:https://mp.weixin.qq.com/s/mf4QIw6pILRoin50O4t1pg