机器学习yearning总结【一】
作者头像
  • 2018-11-06 15:09:09 1

近期,吴恩达(机器学习和深度学习领域的专家)发布了一篇文章《机器学习战略》,分享了一些关于机器学习的经验和解决问题的方法,特别是如何更快更准确地构建预测模型。

机器学习为何需要策略

假设你已经拥有一个猫咪识别的深度神经网络模型,但其准确度不够高。团队提出了多种改进方案: 1. 获取更多的猫咪数据 2. 收集多样化的训练数据 3. 增加梯度下降的迭代次数 4. 尝试更大或更小的网络结构 5. 加入正则化

面对这些选项,如果不经过深思熟虑,可能会选错方向,导致长时间的努力却毫无成效。这篇文章正是为了指导你如何根据线索判断哪些方法有效,哪些无效,从而高效提升模型性能。

规模驱动机器学习的发展

机器学习之所以如今受到广泛关注,主要是因为: 1. 数据量的增加:现代人使用手机和电脑的时间增多,使得数据收集变得更加容易。 2. 计算能力的提升:硬件的进步让我们有能力处理海量数据。

然而,传统的机器学习模型(如逻辑回归)在数据量增大时,性能提升会逐渐趋缓。相比之下,新的神经网络模型能够更好地处理大量数据,提升算法性能。

开发集和测试集

过去,大家习惯将数据随机分为70%的训练集和30%的测试集。但这种方法可能导致训练集与真实数据分布不一致,从而影响模型的泛化能力。因此,我们需要明确: - 训练集:用于训练模型 - 开发集:用于调整参数、选择特征 - 测试集:用于评估模型性能

合理选择开发集和测试集,尤其是当数据有限时,需要采取额外措施来获取更多数据。开发集和测试集应尽量反映实际应用场景中的数据分布,避免因数据分布不同而导致模型性能偏差。

开发集和测试集应同分布

如果开发集和测试集的分布不同,会导致模型在开发集上表现良好但在测试集上表现不佳。反之,如果分布相同,则测试集效果不佳可能意味着过拟合。在这种情况下,可以通过增加数据量来优化模型。

开发集和测试集的大小

开发集和测试集的大小取决于目标。例如,如果两个算法的准确度相差很小(如0.1%),那么100个样本的开发集显然不够,至少需要10000个样本。测试集的大小应足以提供可靠的评估结果,通常占总数据的30%。但在大数据背景下,这一比例正在逐步降低。

单一指标与满意度指标

在评估模型时,常会遇到召回率和准确率之间的权衡。此时,可以采用综合指标如F1分数。然而,满意度不仅仅取决于整体指标,还需考虑用户体验。例如,智能语音系统可能更关注假负例率,要求系统在24小时内最多允许两次误判。

快速迭代

对于新问题,不断尝试不同的方法并进行分析是必要的。这包括提出假设、编码实现和实验验证的过程。

何时修改开发集、测试集和指标

当模型训练结果与预期不符时,需要重新审视开发集、测试集和评估指标。例如,如果模型认为A优于B,但实际上B更优,可能是由于: 1. 开发集和测试集分布不同 2. 模型在开发集上过拟合 3. 当前指标不符合实际需求

这些问题需要及时调整,以确保模型符合预期目标。

    本文来源:图灵汇
责任编辑: :
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
yearning机器总结学习
    下一篇