如何构建机器学习系统(第二课第三周)

如何评价一个算法的性能

一、模型分别在训练集和测试集上面的误差

常见的,我们可以将数据集划分为训练集和测试集,计算模型在它们上面的错误率,从而来评估模型,做出下一步决策。

例如使用正则化逻辑回归模型的训练误差和测试误差如下:

在这里插入图片描述

二、模型选择

在由不同参数构成的拟合函数或者模型上面测试模型的泛化能力,从而做出判断,但是这里测试出的泛化能力(测试误差)可能偏于理想化。原因是我们是根据计算出来的测试误差来决定使用哪一个模型,再将这个测试集的泛化能力作为模型的泛化能力。如何解决这个问题?

我们可以将原本的数据集分成训练集、交叉验证集、测试集。训练集用来训练各个模型,交叉验证集用来选择哪个模型(比如线性拟合函数的阶数),测试集来评估模型的泛化能力。(只使用训练集和验证集来做决定,而不是测试集)

在这里插入图片描述

划分各个数据集的作用如下:

在这里插入图片描述

三、方差和偏差

方差越大,表示模型在交叉验证集上面的预测效果不好,也叫做叫交叉验证误差;偏差越大,表示模型在测试集上面的误差较大。

我们可以通过比较分析模型在验证集上面的方差和偏差来分析模型是否适合该数据,同时也可以看出模型欠拟合或者是过拟合。

在这里插入图片描述

根据模型的方差和偏差,我们在使用正则化时如何确定正则化参数的值。下面是在使用正则化解决多项式时不同正则化参数的值对偏差和方差的影响。

在这里插入图片描述

根据上面的影响,我们应该如何对正则化参数做出调整呢?下面的图示(左图)代表选择不同的正则化参数值,方差和偏差的变化i情况;右图代表选择不同的多项式阶数,方差和偏差的变化情况。

在这里插入图片描述

四、建立基线标准

我们如何判断一个模型的训练误差是不是很大,往往会将它和我们的基线标准做对比。(与人类水平相比较或者是与现有其他算法的指标进行比较),请看如下示例:判断出模型是否具有高偏差或者高方差,从而对模型做出决策。

在这里插入图片描述

五、学习曲线

下面给出了一个学习曲线的示例:训练误差随着数据的增多而逐渐变大,验证误差始终要比训练误差高(我们是使用训练集训练模型的)。

在这里插入图片描述

下面是一个基础的线性回归,当数据量增大时,训练误差会不断地增大,逐渐趋于平稳,当模型出现高偏差时,可能说明模型根本不适合拟合该数据集,后面不论怎么增加数据量,训练误差都不会有太大地变化。所以在投入大量时间去搜集数据时,首先看看你地算法是否具有高偏差。

在这里插入图片描述

下面是一个多项式的学习曲线,随着数据的增多,模型的训练误差逐渐增加(增长趋势缓慢),验证误差逐渐下降,趋于人类水平;总结下来当模型具有高方差时,增加数据样本数量是一个很好的提升模型性能的方法。

在这里插入图片描述

六、解决高方差或者高偏差

下面列举出了几个用于解决高方差和高偏差的方法,在实际应用中我们可以选择使用。

在这里插入图片描述

总结:当模型遇到了高方差问题,我们可以通过增加数据集数据、增加正则化系数、简化模型。

​ 当模型遇到了高偏差问题,我们可以增加特征数量、减小正则化系数、复杂化模型。

七、将上述概念融入神经网络(方差-偏差权衡)

下面的方法在某些方面可以帮助我们得到一个好的模型,但是不总是有用的。并且也存在着空间和时间资源的问题。

在这里插入图片描述

事实证明,往往我们向复杂的神经网络中加入正则化之后,他的效果跟简单的神经网络差不多甚至更加好。如何实现神经网络的正则化呢?

在这里插入图片描述

八、开发机器学习系统的过程

AI = Code + Data

开发机器学习系统的过程正如下面所示的这样一个循环迭代的过程。

在这里插入图片描述

增加数据的一些技巧:

当我们想要获取更多数据用于训练时,我们往往可以先对模型验证集进行错误分析,发现错误的趋势,寻找该方面更多的数据集来进行训练。

数据增强:通过对现有数据进行改造得到该数据的衍生数据(扭曲、失真、添加噪声)。在图像和语音方面应用最多。

合成数据:自己通过一些工具构建一些数据。(计算机视觉任务)

九、迁移学习

如下图所示,迁移学习指的是先用一个神经网络训练与实际任务无关的数据集,得到各个层的参数(有监督预训练);然后修改输出层(微调),接下来有两种方式:1、重新训练输出层的参数;2、将刚开始得到的参数值作为初始值进行梯度下降,然后重新训练整个神经网络。

在这里插入图片描述

为啥可以这样做呢?

比如说,通过训练一些猫狗的图片,神经网络会学习到识别图片的边缘或者是图片的一些其他的特征,(即学习到相同尺寸图像得一些结构特征)将这个神经网络应用到其他的数据集上面也是通用的。需要注意的是如果你的最终目的是训练几个计算机视觉任务,那么在预训练的时候,输入X的类型要与实际的数据集一直,即特征的大小(图像的尺寸)要一致。

十、机器学习生命周期

在这里插入图片描述

其中最后的生产部署:常见的就是使用API接口调用服务器进行推理,返回预测结果。在此之前,机器学习模型已经部署到了服务器上面。

十一、精确率和召回率

当精确率和召回率都很高时,我们说这个算法的效果很好。

在这里插入图片描述

根据上面的精确率和召回率,尝试优化我们的模型。

我们在训练逻辑回归模型时,常常会设置阈值,阈值的大小会影响精确率和召回率,示例如下:

在这里插入图片描述

阈值高的时候,常常有很高的精确率和很低的召回率;阈值很低的时候,结果相反。

当我们在根据精确率和召回率的值选择模型时,涉及到对两者的权衡,这时候,我们可以使用F1分数来进行抉择。

在这里插入图片描述

F1分数实际上就是在计算精确率和召回率的调和平均值。(强调更小的那一方)

本周结束,完成练习:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值