机器学习——如何评价回归模型

本内容整理自coursera,欢迎交流转载。

如何定义损失

我们用如下符号表示回归模型的损失(loss):

L(y,fw^(x⃗ ))
举个栗子,我们可以使用局对误差或者方差表示 损失函数:
L(y,fw^(x⃗ ))=|yfw^(x⃗ )|
L(y,fw^(x⃗ ))=|yfw^(x⃗ )|2

三种误差

training error

根据如上对损失函数的定义,training error可以表示为:

Training error= average.loss in Training set= 1NNi=1L(y,fw^(x⃗ ))

注意:这里的计算实在training set上进行的。

例如我们可以用squared error来表示损失函数,那么
Trainingerror(w^)=1NNi=1|yfw^(x⃗ )|2
由于training error是在训练集计算的,所以随着模型复杂度的增加,training error逐渐减小。

generalization error(泛化误差)

泛化误差表示为我们所有可能遇到的数据的误差,
generalization error=Ex,y[L(y,fw^(x⃗ ))]
这里的 Ex,y 指的是所有世界上可能的数据, w^ 是我们在training set得到的拟合系数向量。
所以说泛化误差是永远无法得到的。随着模型的复杂度的增加,泛化误差先变小,然后由于过拟合而变大。

test error(测试误差)

Test error=avg.loss in test set=1Ntesti in test setL(y,fw^(x⃗ i))

注意:这里的 w^ 依旧是在训练集你喝的道德系数向量。

下面比较一下三种误差:
这里写图片描述

误差的三个来源

主要来自以下三个方面:

  • noise(噪声)
  • bias(偏差)
  • variance(方差)

噪声是不可消除的。
Bias定义为:

假设我们有好多拟合函数,在不同的训练集拟合。我们把这些函数平均得到一个 fw¯(x⃗ ) ,那么我们的 Bias(x⃗ )=fw(true)(x⃗ )fw¯(x⃗ ) ,由这个定义我们可以得知较低的模型复杂度会有较高的偏差,即 Low complexityhigh bias .

方差:随着模型复杂度增加,方差增加
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痴澳超

如果感觉博客有帮助,请我喝杯咖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值