机器学习?必须先懂损失函数!

大家在学习机器学习时,常常遇到损失函数,也许会有困惑。今天小编将自己的理解分享下,希望大家喜欢。

1

为什么有损失函数?

机器学习的任务是寻找一个函数

使得为了评价函数的好坏,

我们有了损失函数

站在训练集的角度上

评价决策函数好坏就产生了经验风险函数

为了使得经验风险函数逼近理想中的期望风险函数最小值,于是就产生了经验风险最小化准则,为了达到这个目标,寻找

经验风险最小化准则容易导致在训练集上的错误率低,在未知数据上错误率高,这种现象称为过拟合。为了解决过拟合现象,在经验风险函数上加上参数正则化,就有了结构风险最小化准则

2

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

0-1损失函数:

平方损失函数:

交叉熵损失函数 :

假设

模型预测的第i个类的条件概率为

从概率论角度,很显然

负对数损失函数:

我们采用负对数损失函数

也可以写成

负对数损失函数,也叫交叉熵损失函数。

3

怎么选用损失函数?

在有监督学习中,回归模型通常采用平方损失函数,分类模型常采用0-1损失函数和负对数损失函数;具体到回归问题,通常有我们所用的MSE(Mean Square Error)。

对于分类问题,我们在0-1损失函数的基础上有精确率(precision)和召回率(recall)。

我们通常关注正类:

TP——将正类预测为正类数;

FN——将正类预测为负类数;

FP——将负类预测为正类数;

TN——将父类数预测为负类数。

我们通常做不到同时增加Pecision,降低Recall,或者提高Recall,降低Precision,这就叫做Precison /Recall的权衡。

为了评价不同分类模型的效果,我们采用了F1得分,当Precision和Recall都很高的时候,F1得分也高。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180212G04A0F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励