0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实践机器学习的10个小秘诀

Dbwd_Imgtec 来源:cg 2018-12-14 14:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

对于开发人员而言,基于云的机器学习工具带来了使用机器学习创造和提供新的功能的可能性。然而,开发者想要在它们的应用程序中融入机器学习,通常会犯一些错误,本文列了十条注意点以飨读者。

在提供发现埋藏数据深层的模式的能力上,机器学习有着潜在的能力使得应用程序更加的强大并且更能响应用户的需求。精心调校好的算法能够从巨大的并且互不相同的数据源中提取价值,同时没有人类思考和分析的限制。对于开发者而言,机器学习为应用业务的关键分析提供了希望,从而实现从改善客户体验到提供产品推荐上升至超个性化内容服务的任何应用程序。

像Amazon和Micorosoft这样的云供应商提供云功能的机器学习解决方案,承诺为开发者提供一个简单的方法,使得机器学习的能力能够融入到他们的应用程序当中,这也算是最近的头条新闻了。承诺似乎很好,但开发者还需谨慎。

对于开发人员而言,基于云的机器学习工具带来了使用机器学习创造和提供新的功能的可能性。然而,当我们使用不当时,这些工具会输出不好的结果,用户可能会因此而感到不安。测试过微软年龄检测机器学习工具(http://how-old.net/)的人都会发现,伴随即插即用的易用性而来的是主要的精度问题——对于关键应用程序或者是重大决策,它应该不值得信赖。

想要在应用程序中成功地融入机器学习的开发者,需要注意以下的一些关键要点:

1. 算法使用的数据越多,它的精度会更加准确,所以如果可能要尽量避免抽样

机器学习理论在预测误差上有着非常直观的描述。简而言之,在机器学习模型和最优预测(在理论上达到最佳可能的误差)之间的预测误差的差距可以被分解为三个部分:

由于没有找到正确函数形式的模型的误差

由于没有找到最佳参数的模型的误差

由于没用使用足够数据的模型的误差

如果训练集有限,它可能无法支撑解决这个问题所需的模型复杂性。统计学的基本规律告诉我们,如果我们可以的话,应该利用所有的数据而不是抽样。

2. 对给定的问题选择效果最好的机器学习算法是决定成败的关键

例如,梯度提升树(GBT)是一个非常受欢迎的监督学习算法,由于其精度而被业内开发人员广泛使用。然而,尽管其高度受欢迎,我们也不能盲目的把这种算法应用于任何问题上。相反,我们使用的算法应该是能够最佳地拟合数据特征同时能够保证精度的算法。

为了证明这个观点,尝试做这样一个实验,在数据集 the popular text categorization dataset rcv1上测试GBT算法和线性支持向量机(SVM)算法,并比较两者的精度。我们观察到在这个问题上,就错误率而言,线性SVM要优于GBT算法。这是因为在文本领域当中,数据通常是高维的。一个线性分类器能够在N-1维当中完美的分离出N个样本,所以,一个样本模型在这种数据上通常表现的更好。此外,模型越简单,通过利用有限的训练样本来避免过拟合的方式学习参数,并且提供一个精确的模型,产生的问题也会随之越少。

另一方面,GBT是高度非线性的并且更加强大,但是在这种环境中却更难学习并且更容易发生过拟合,往往结果精度也较低。

3. 为了得到一个更好的模型,必须选择最佳的的算法和相关的参数

这对于非数据科学家而言可能不容易。现代的机器学习算法有许多的参数可以调整。例如,对于流行的GBT算法单独的就有十二个参数可以设置,其中包括如何控制树的大小,学习率,行或列的采样方法,损失函数,正则化选项等等。一个特有的项目需要在给定的数据集上为每一个参数找到其最优值并且达到最精准的精度,这确实不是一件容易的事。但是为了得到最佳的结果,数据科学家需要训练大量的模型,而直觉和经验会帮助他们根据交叉验证的得分,然后决定使用什么参数再次尝试。

4. 机器学习模型会随着好的数据而变得更好,错误的数据收集和数据处理会降低你建立预测和归纳的机器学习模型的能力

根据经验,建议仔细审查与主题相关的数据,从而深入了解数据和幕后数据的生成过程。通常这个过程可以识别与记录、特征、值或采样相关的数据质量问题。

5. 理解数据特征并改进它们(通过创造新的特征或者去掉某个特征)对预测能力有着高度的影响

机器学习的一个基本任务就是找到能够被机器学习算法充分利用的丰富特征空间来替代原始数据。例如,特征转换是一种流行的方法,可以通过在原始数据的基础上使用数学上的转换提取新的特征来实现。最后的特征空间(也就是最后用来描述数据的特征)要能更好的捕获数据的多复杂性(如非线性和多种特征之间的相互作用),这对于成功的学习过程至关重要。

6. 在应用中,选择合适的灵感来自商业价值的目标函数/损失函数对于最后的成功至关重要

几乎所有的机器学习算法最后都被当成是一种优化问题。根据业务的性质,合理设置或调整优化的目标函数,是机器学习成功的关键。

以支持向量机为例,通过假设所有错误类型的权重相等,对一个二分类问题的泛化误差进行了优化。这对损失敏感的问题并不合适,如故障检测,其中某些类型的错误比重可能比其它类型的要高。在这种情况下,建议通过在特定的错误类型上,增加更多的惩罚来解释它们的权重,从而调整SVM的损失函数。

7. 确保正确地处理训练数据和测试数据

如此当在生产中部署该模型时,测试数据能够模拟输入数据。例如,我们可以看到,这对于时间依赖性数据是多么的重要。在这种情况下,使用标准的交叉验证方法进行训练,调整,那么测试模型的结果可能会有偏差,甚至会不准确。这是因为在实施平台上它不能准确的模拟输入数据的性质。为了纠正这一点,在部署时我们必须仿照模型来部署使用。我们应该使用一个基于时间的交叉验证,用时间较新的数据来验证训练模型。

8. 部署前理解模型的泛化误差

泛化误差衡量模型在未知数据上的性能好坏。因为一个模型在训练数据上的性能好并不意味着它在未知的数据上的表现也好。一个精心设计的模拟实际部署使用的模型评估过程,是估计模型泛化误差所需要的。

一不留心就很容易违反交叉验证的规则,并且也没有一种显而易见的方法来表现交叉验证的非正确性,通常在你试图寻找快捷方式计算时发生。在任何模型部署之前,有必要仔细注意交叉验证的正确性,以获得部署性能的科学评估。

9. 知道如何处理非结构化和半结构化数据

如文本、时间序列、空间、图形或者图像数据。大多数机器学习算法在处理特征空间中的数据时,一个特征集代表一个对象,特征集的每一个元素都描述对象的一个特点。在实际当中,数据引进时并不是这种格式化的形式,往往来自于最原始的格式,并且最后都必须被改造成机器学习算法能够识别的理想格式。比如,我们必须知道如何使用各种计算机视觉技术从图像中提取特征或者如何将自然语言处理技术应用于影片文本。

10. 学会将商业问题转换成机器学习算法

一些重要的商业问题,比如欺诈检测、产品推荐、广告精准投放,都有“标准”的机器学习表达形式并且在实践当中取得了合理的成就。即使对于这些众所周知的问题,也还有鲜为人知但功能更强大的表达形式,从而带来更高的预测精度。对于一般在博客和论坛中讨论的小实例的商业问题,适当的机器学习方法则不太明显。

如果你是一个开发者,学习这十个通往成功的诀窍可能似乎是一个艰难的任务,但是不要气馁。事实上,开发者不是数据科学家。认为开发人员可以充分利用所有的机学习工具是不公平的。但是这并不意味着开发人员没有机会去学习一些有水准的数据科学从而改进他们的应用。随着适当的企业解决方案和自动化程度的提高,开发人员可以做模型构建到实施部署的一切事情,使用机器学习最佳实践来保持高精度

自动化是在应用程序中扩展机器学习的关键。即使你能够供得起一批小的数据科学家团队和开发者携手合作,也没有足够的人才。像Skytree的AutoModel(自动化模型)能够帮助开发者自动地确定最佳的参数并且使得算法得到最大的模型精度。一个易于使用的接口可以引导开发人员通过训练加工,调整并且测试模型来防止统计上的错误。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人工智能
    +关注

    关注

    1821

    文章

    50510

    浏览量

    267696
  • 机器学习
    +关注

    关注

    67

    文章

    8570

    浏览量

    137408

原文标题:机器学习实践的10个小秘诀

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在阿里云PAI平台的机器人感知强化学习规模化实践

    物理 AI 正在迅速从基础运动控制迈向更复杂的环境理解。传统机器人强化学习(RL)长期依赖本体感知(proprioception),包括关节角度、力矩反馈和内部状态,来训练灵巧的运动技能。
    的头像 发表于 05-18 10:34 341次阅读
    在阿里云PAI平台的<b class='flag-5'>机器</b>人感知强化<b class='flag-5'>学习</b>规模化<b class='flag-5'>实践</b>

    机器学习中的数据质量双保障:从“验证”到“标记”

    机器学习的世界里,有句老话尤为贴切:“garbagein,garbageout”(输入垃圾,输出垃圾)。无论模型架构多先进、算法多精妙,数据的质量始终是决定模型性能的核心。本文聚焦数据处理中两
    的头像 发表于 04-24 15:48 167次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>中的数据质量双保障:从“验证”到“标记”

    机器学习特征工程:缩放、编码、聚合、嵌入与自动化

    本文转自:DeepHubIMBA好模型的秘诀不在于更花哨的算法,而在于更好的特征。第1部分:数值特征1.1缩放多数机器学习算法对尺度敏感。一取值范围在0到1,000,000的列,会在
    的头像 发表于 04-08 14:41 811次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>特征工程:缩放、编码、聚合、嵌入与自动化

    【「Altium Designer 25 电路设计精进实践」阅读体验】总体感受

    了不同的色彩,但是文字字号整体来讲有点偏小,显得文字很紧密。 本书共有10章节。1-2章节介绍了基本的操作,适合零基础的读者。书籍整体基础和高级功能衔接较好,读起来不是很吃力。需要边阅读边实践,才能够
    发表于 02-22 18:06

    【「Altium Designer 25 电路设计精进实践」阅读体验】+本书概览与内容特点介绍

    实践的排版理论部分 第一章对AD25进行了介绍,这种介绍了AD25的新功能,对开发环境也进行了介绍第二章进行了项目文件管理相关的介绍第三章进行了多板设计介绍,一复杂点的项目,肯定是涉及多板的,所以这部
    发表于 02-14 15:56

    人工智能与机器学习在这些行业的深度应用

    自人工智能和机器学习问世以来,多个在线领域的数字化格局迎来了翻天覆地的变化。这些技术从诞生之初就为企业赋予了竞争优势,而在线行业正是受其影响最为显著的领域。人工智能(AI)与机器学习
    的头像 发表于 02-04 14:44 769次阅读

    电子厂效率升级秘诀:UV胶10秒固化,产能翻倍不是梦

    电子厂效率升级秘诀:UV胶10秒固化,产能翻倍不是梦
    的头像 发表于 01-12 17:06 551次阅读
    电子厂效率升级<b class='flag-5'>秘诀</b>:UV胶<b class='flag-5'>10</b>秒固化,产能翻倍不是梦

    机器学习和深度学习中需避免的 7 常见错误与局限性

    无论你是刚入门还是已经从事人工智能模型相关工作一段时间,机器学习和深度学习中都存在一些我们需要时刻关注并铭记的常见错误。如果对这些错误置之不理,日后可能会引发诸多麻烦!只要我们密切关注数据、模型架构
    的头像 发表于 01-07 15:37 404次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和深度<b class='flag-5'>学习</b>中需避免的 7 <b class='flag-5'>个</b>常见错误与局限性

    自动驾驶中常提的“强化学习”是啥?

    [首发于智驾最前沿微信公众号]在谈及自动驾驶时,有些方案中会提到“强化学习(Reinforcement Learning,简称RL)”,强化学习是一类让机器通过试错来学会做决策的技术。简单理解
    的头像 发表于 10-23 09:00 1003次阅读
    自动驾驶中常提的“强化<b class='flag-5'>学习</b>”是<b class='flag-5'>个</b>啥?

    学习物联网怎么入门?

    的关键步骤。学习物联网需要进行实践操作,通过实践操作掌握物联网的相关技术和应用。可以通过购买物联网开发板和传感器,自己动手制作一简单的物联网系统,通过
    发表于 10-14 10:34

    电动工具EMC测试整改:硬件到软件的成本减半秘诀

    深圳南柯电子|电动工具EMC测试整改:硬件到软件的成本减半秘诀
    的头像 发表于 08-20 11:06 1172次阅读

    超小型Neuton机器学习模型, 在任何系统级芯片(SoC)上解锁边缘人工智能应用.

    Neuton 是一家边缘AI 公司,致力于让机器 学习模型更易于使用。它创建的模型比竞争对手的框架小10 倍,速度也快10 倍,甚至可以在最先进的边缘设备上进行人工智能处理。在这篇博文
    发表于 07-31 11:38

    汽车导航系统EMC整改:工程师必看,成本降低40%的秘诀

    南柯电子|汽车导航系统EMC整改:工程师必看,成本降低40%的秘诀
    的头像 发表于 07-22 11:07 870次阅读

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3177次阅读

    机器学习异常检测实战:用Isolation Forest快速构建无标签异常检测系统

    本文转自:DeepHubIMBA无监督异常检测作为机器学习领域的重要分支,专门用于在缺乏标记数据的环境中识别异常事件。本文深入探讨异常检测技术的理论基础与实践应用,通过IsolationForest
    的头像 发表于 06-24 11:40 1668次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>异常检测实战:用Isolation Forest快速构建无标签异常检测系统