基础!!!吴恩达deeplearning.ai:模型评估

本文介绍了如何评估神经模型的性能,特别是在房价预测中的线性回归模型,通过训练集和验证集划分来检查过拟合,以及使用代价函数(如平方误差或交叉熵)来衡量模型效果。还提及了如何将这种方法扩展到分类问题中。
摘要由CSDN通过智能技术生成

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏


如果你已经训练了一个神经模型,你该如何评估这个模型的性能呢?你将会发现,采取系统的方法来评估模型将会给你指出一条更清晰的道路。让我们看看该怎么做吧。

评估房价预测模型

在这里插入图片描述
上图是一个房价预测模型,可以看出它采用的是一个线性回归。其中特征向量一开始仅仅包含房屋大小。很明显,这个模型与训练集拟合得很好,但是你也应该看出,以上拟合并不能很好地适应新的训练示例,有些过拟合了。
但是如果我们增加特征的数量,例如卧室的数量,房屋的层数,房屋的年龄等。那么对于曲线的绘制将因为特征的增多而更加困难。同时这也使得评估模型的性能更加困难以下是你可以使用的技术。

模型评估

我们采取的方法是,将训练数据拆分为两个部分,训练集trainset和验证集test set,其中训练集占大部分(例如70%),验证集占小部分(例如30%),我们可以先利用训练集训练数据,然后在验证集进行验证。
在这里插入图片描述
对于训练集,我们表示数据用 ( x ( 1 ) , y ( 2 ) ) (x^{(1)},y^{(2)}) (x(1),y(2))的方式,在本例中训练集的样本为7;对于验证集,我们用 ( x t e s t ( 1 ) , y t e s t ( 1 ) ) (x_{test}^{(1)},y_{test}^{(1)}) (xtest(1),ytest(1))来表示,样本数为3。

线性回归模型评估步骤(具有平方误差的成本回归)

首先,通过最小化代价函数来拟合参数:
J ( w , b ) = m i n w , b [ 1 2 m t r a i n ∑ ( f ( x ) − y ) 2 + λ 2 m t r a i n ∑ w j 2 ] J(w,b)=min_{w,b}[\frac{1}{2m_{train}}\sum (f(x)-y)^2+\frac{\lambda}{2m_{train}}\sum w_j^2] J(w,b)=minw,b[2mtrain1(f(x)y)2+2mtrainλwj2]
然后为了说明这个模型的性能如何,你可以测试下拟合后的参数在验证集下的代价函数为多少:
J t e s t ( w , b ) = 1 2 m t e s t [ ∑ ( f ( x ) − y ) 2 ] J_{test}(w,b)=\frac{1}{2m_{test}}[\sum(f(x)-y)^2] Jtest(w,b)=2mtest1[(f(x)y)2]
然后再在训练集计算一次(注意,这里不包含正则化项):
J t r a i n ( w , b ) = 1 2 m t r a i n [ ∑ ( f ( x ) − y ) 2 ] J_{train}(w,b)=\frac{1}{2m_{train}}[\sum(f(x)-y)^2] Jtrain(w,b)=2mtrain1[(f(x)y)2]
利用以上的方法分析房价预测的例子
在这里插入图片描述

可以得到J_train会很低,而J_test会很高(因为已经过拟合了)。通过J的检验可以得出结论,尽管模型在训练集表现出色,但是并不擅长将新示例泛化到不在训练集的新数据点。

如何应用于分类问题

同样还是利用代价函数:
J ( w , b ) = − 1 m ∑ [ y ( I ) l o g ( f ( x ) ) + ( 1 − y ( i ) ) ( 1 − f ( x ) ) ] + λ 2 m ∑ w j 2 J ( w , b ) = − 1 m t e s t ∑ [ y t e s t ( I ) l o g ( f ( x t e s t ) + ( 1 − y t e s t ( i ) ) ( 1 − f ( x t e s t ) ) ] J ( w , b ) = − 1 m t r a i n ∑ [ y t r a i n ( I ) l o g ( f ( x t e s t ) ) + ( 1 − y t e s t ( i ) ) ( 1 − f ( x t e s t ) ) ] J(w,b)=-\frac{1}{m}\sum[y^{(I)}log(f(x))+(1-y^{(i)})(1-f(x))]+\frac{\lambda}{2m}\sum w_j^2\\ J(w,b)=-\frac{1}{m_{test}}\sum[y_{test}^{(I)}log(f(x_{test})+(1-y^{(i)}_{test})(1-f(x_{test}))]\\ J(w,b)=-\frac{1}{m_{train}}\sum[y_{train}^{(I)}log(f(x_{test}))+(1-y^{(i)}_{test})(1-f(x_{test}))] J(w,b)=m1[y(I)log(f(x))+(1y(i))(1f(x))]+2mλwj2J(w,b)=mtest1[ytest(I)log(f(xtest)+(1ytest(i))(1f(xtest))]J(w,b)=mtrain1[ytrain(I)log(f(xtest))+(1ytest(i))(1f(xtest))]
原理和线性回归是一样的。
对于分类问题,相比计算误差,还有另一种方法来评估模型,就是计算模型分类错误的次数:
在这里插入图片描述
上图的意思是,分别计算下训练集和验证集中预测错误的个数,并把这个个数作为代价函数。如果概率大于0.5,关于这里示例预测就为1,反之为0,然后再判断预测与样本实际y是否相符,不相符就计数+1,最后看count了多少个,越多说明模型效果越差。
为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

江安的猪猪

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值