3.机器学习策略

优化策略

  当我们训练一个模型时,可以使用很多方法优化模型,比如收集更多不同的训练集,梯度下降训练算法,尝试亚当而不是梯度下降,尝试更大的网络,尝试更小的网络,尝试退出,添加L2正则化等等,方法很多,如何选择正确的方法很重要。

正交化方法

  正交化方法就是指只调一个参数,保持其他参数不变,使得模型的某一个性能改变的一种方法。
  一般来说机器学习目标有四个:适合成本函数的训练集,在成本函数上很好地拟合验证集,在成本函数上很好地拟合测试集,在现实世界中表现出色。这四个目标都有专门的达成方法,比如优化训练集性能可以用Adam算法优化,或者使用正交集等,调节这些方法的参数可以一对一的调整某个性能。

评价指标

  F1 score算法原理,见9.机器学习系统设计

  除了F1 score之外,我们也可以使用平均值作为对模型的简单评估,选择平均错误率最小的模型。
  实际上,衡量一个模型优劣的指标有很多,有时将所有因素综合考虑是很困难的。因此我们可以设置一个阈值,只要模型的某个指标作为优化指标,其他没那么重要的指标满足阈值即可。

评价集和测试集

  合理设置评价集和测试集能提高训练效率。首先应当保证测试集和训练集来自统一分布。如果测试集,评价集与训练集不是来自同一个分布,可以考虑将所有数据混合再随机分组,或者将测试集分出来一部分与训练集或评价集交换。
  其次要考虑评价集和测试集得分成,这个之前讲过,数据少的时候可以分为6:2:2,数据多了就要分绝大部分数据给训练集,百万级别的数据集训练集要占99%。此外测试集起无偏估计的作用,可以没有。

什么时候应该改变模型评价指标

  有时应该改变算法优劣的衡量标准,比如说一个图片识别的算法模型,其中A模型比B模型准确率高,但A模型有时会通过一些不合法的图片,因此实际使用时更倾向于使用B模型。这时就需要改变代价函数,对模型通过不合法图片时增加一个代价值,这样可以有效减少不合法图片的通过。

人的表现

  将机器的表现和人类水平作比较,如图,其中蓝线代表人的表现,绿线是模型的准确率的上限,机器学习的准确率一路上升,超过人类水平后上升幅度会降低,直到接近上限。
在这里插入图片描述
   实际上,对于物品识别这种问题,人类的错误率是很低的,此时我们将人类的错误率近似成模型的误差率上限。因此我们通常将训练误差和人类识别表现误差的差值称为偏差,将测试集和评价集误差的差值称为方差,通过这两个值可以直到模型是否发生过拟合或欠拟合
   不过人类的错误率难以定义,不同人对于识别的准确度不一样。此外,有很多方面机器学习的准确已经超越人类,这使得上述的方法难以界定过拟合和欠拟合。因此这需要其他方法。
   当训练集和测试集或评价集来自不同的分布时,这个方法也不能判断欠拟合和过拟合,这时候可以设置train-dev集,这个集的误差和验证集的误差的差值反映了数据不匹配的问题。
   解决欠拟合的方法:训练更大的模型,训练更长/更好的优化算法:momentum、RMSprop、Adam等,NN架构/超参数搜索等。解决过拟合的常用方法包括:更多数据,正规化:L2、辍学、数据扩充,NN架构/超参数搜索等。

错误分析

  错误分析很重要,它可以让我们知道对于某一个问题是否值得改进。比如说一个识别猫的模型对于狗的图片识别度比较差,这需要一段时间寻找狗的样本重新训练,这时我们可以做错误分析,简单分析训练后模型的准确度提升,预测这个工作是否值得。
  此外,在样本中存在着一些标签错误的样本,由前文可知随机的标签错误样本对梯度下降算法得到的模型影响不大。但如果是系统性错误的样本对于模型的影响不小。解决办法就是利用错误分析,比如说统计验证集中的标签错误,统计预测结果中因为标签错误导致预测错误的比例,来决定是否需要手动修复样本。
  修复样本需要注意对训练集进行同样的操作以确保样本的一致性,以及保证算法的正确。

构建机器学习模型

  一般来说我们可以先快速构建一个简单的模型,然后再进行反复迭代修复欠拟合和过拟合的问题。

迁移学习

  迁移学习就是将一个训练好的模型的一部分应用到其他功能的模型中去。比如说将识别猫的模型用于识别狗,就可以利用原有的模型,利用样本训练改变神经网络输出层的参数w和b,其它层的权重系数保持不变。当然,如果训练样本多的话,也可以重新训练所有系数,保留神经网络结构。如果权重系数w和b是直接用之前的模型的,则称为pre-training过程,重新训练参数的过程称为fine-training。迁移学习需要啷个任务输入一致。
  迁移学习的原理是神经网络的前面部分是检测图片的某些固有特征的,这是所有识别模型都需要的部分,因此可以利用之前的模型。
  迁移学习也可以保留神经网络的一部分或者重新添加新的隐藏层。

多任务学习

  多任务学习就是使神经网络同时执行多个任务,比如说从同一张图片里区分出行人和车辆,这时候可以令输出(四分类)为{1,1,0,0}。为了实现这种模型,其代价函数要同时统计两个或以上的代价:
在这里插入图片描述

  多分类学习和softmax回归的区别是softmax的回归输出只有一个1而多分类问题有多个。当然,多分类学习问题也可以使用多个神经网络来代替。总的来说,多任务学习要求每个任务的训练量很相似。

端对端深度学习

  端到端深度学习的含义是直接训练由输入到输出的模型,忽略中间的过程。比如说语音识别,可以从音频到特征识别再到组词再输出,也可以一步到位由音频直接到输出。
在这里插入图片描述
  但这种方法并不全是好处,它需要海量的数据,且可能忽略其中对准确度又影响的步骤。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值