为什么机器学习难于应用

简介: 本文主要讲述了如何管理机器学习应用方面的棘手问题

应用机器学习是有挑战性的。

在机器学习领域,你必须要在没有正确答案的问题上做出很多决定!例如:

· 用什么框架?

· 用什么数据作为输入,要输出什么数据?

· 用什么算法?

· 用什么算法配置?

这些问题对于初学者来说是一个严峻的挑战。

读完本文之后,你将了解:

·   如何形成一个明确的学习问题。

·   当给你的问题设计一个学习系统的时候,有四个决策点需要考虑。

·   你可以用三个决策来明确地来应对在实践中设计学习系统的难题。

概述

本文分成了如下六个部分:

1、适定的学习问题

2、选择训练数据

3、选择目标函数

4、选择目标函数的表达形式

5、选择学习算法

6、如何设计学习系统

适定的学习问题

我们可以将应用机器学习领域中的一般学习任务定义为一个程序,它可以根据特定的性能测量从一些任务中学习经验。

Tom Mitchell在他1997年《Machine Learning》一书中做了清晰的阐述:

一个计算机程序是从某一类任务T和性能测量结果P中学习经验E的,如果它在T中的任务表现为P,则用经验E来改进。

我们以这个作为对那些我们可能感兴趣的学习任务类型的一般定义,例如预测建模等应用机器学习。Tom列举了几个例子来说明这一点,如下所示:

· 学习识别口语

· 学习无人驾驶

· 学习天体结构分类

· 学习世界级的双陆棋

我们用上面的定义来定义自己的预测建模问题。一旦定义了,任务就会变成设计一个学习系统来应对。

设计一个学习系统,如:一个机器学习应用,涉及了四个设计选择:

1、选择训练数据

2、选择目标函数

3、选择表达形式

4、选择学习算法

对于一个给定的问题并提供了无限的资源,可能有最好的一组选择,但是我们没有无限的时间来计算资源,以及领域内的或者是学习系统的知识。

因此,尽管我们能准备一个适定的学习问题的描述,设计这个最有可能的学习系统还是很困难的。我们最好就是用知识,技巧,和可用的资源通过设计的选择来进行我们的工作。

让我们更详细地看一下每一个设计选择

选择训练数据

你必须选择学习系统将要用到的数据作为学习经验。

这是过去观测到的数据

现有的训练经验类型对研究人员的成败有着重大影响。

对于学习问题,你必须经常收集需要的数据。

这个意思是:

· 清除文件

· 查询数据

· 执行文件

· 整理不同资源

· 合并实体

你需要一次性获取到所有的数据,并且变成一个标准化的形式,这样一个观测就代表了一个结果是可用的实体。

选择目标函数

下一步,你必须选择一个学习问题的框架

机器学习实际上是一个学习从输入(X)到输出(y)的映射函数(f)的问题

Y=f(x)

这个函数能被用在将来预测最可能输出结果的新数据上。

学习系统的目标是准备一个函数,提供了可用资源,将输入映射到输出。这是一个称为函数近似的问题。这个结果将是一个近似值,意味着有误差。我们将尽力减小这个误差,但是一些误差将一直在数据中存在并进行干扰。

这一步是关于精确地选择输入什么数据到这个函数,例如:输入特征或者输入变量还有预测什么,例如:输出变量。

我经常将此称为学习问题的框架,选择输入和输出本质上即是选择目标函数的类型,就是我们将寻求相近的函数。

选择目标函数的表达形式

下一步,你必须选择你希望用来映射函数的表达形式

考虑这个作为你希望能用来做预测的最终模型的类型。你必须选择这个模型的形式,选择是否你喜欢的数据结构。

现在我们已经详述了这个理想的目标函数V,必须选择一个表达形式,学习程序将用来描述将要学习的函数V。

例如:

·  也许你的项目需要一个易于理解并向利益相关方解释的决策树。

·  也许你的利益相关方倾向于一个线性模型,统计人员能很容易地解释。

·  也许你的利益相关方不关心除了模型表现以外的任何事,因此所有的模型表达形式都是可以争取的。

表示的选择将限制学习算法的类型,您可以使用这些算法来学习映射函数。

选择一个学习算法

最后,你必须选择学习算法,该学习算法执行输入输出数据并且学习你倾向的表达式的。

如果在表达形式的选择上面没有什么限制,那么经常是这样,然后你可能评价一系列不同的算法和表达式。

如果在表达形式的选择上面有一些严格的限制,例如:一个加权和线性模型或者一个决策树,那么算法的选择将被限于能操作特定表达形式的那些。

算法的选择可以利用自身的限制,例如像数据标准化那样的特定数据的准备转换。

如何设计学习系统

开发一个学习系统是有挑战性的。

从这个方式上没人能告诉你每个决定的最佳答案;对于你指定的学习问题,最好的答案是未知的。

Mitchell描述了在设计一个下棋学习系统所做的选择的时候,帮助澄清了这一点。

 

在设计一个下棋学习系统时的选择描述。

来自“Machine Learning”, 1997。

Mitchell说:

在许多方法上,这些设计选择已经约束了学习任务。我们已经限定了能被用来获取到一个线性评估函数的知识类型。除此之外,我们还限定了评估函数依赖于仅仅提供的这六个特定的板特征(board features)。如果这个正确的目标函数V能真正的被这些特殊特征的线性组合所表示,那么我们的程序会有一个好的机会来学习它。如果相反,那么我们希望最好是它将学习一个比较理想的近似值,因为一个程序肯定永远也学不到它至少不能表示的东西。

通常地,你不能通过分析的方法计算出这些选择的答案,例如用什么数据,用什么算法,用什么算法配置。

这里是你能在实践中用到的三个策略:

1、复制:看文献或者向专家学习与你的问题相同或相近的问题,并且复制学习系统的设计。很可能你不是第一个致力于给定类型问题的人。在最坏的情况下,复制的设计给你的设计提供了一个起点。

2、查找:在每个决策点列出可用的选项,并且对每一个进行经验评估,看看哪个对你的具体数据最有效。这可能是在应用机器学习中最健壮和最实用的成果

3、设计:通过上面的复制和查找方法,在完成了许多项目之后,你将为了如何设计及其学习系统而形成了一个直觉。

开发学习系统不是一个科学而是一个工程。

开发新的机器学习算法和描述它们如何工作与为什么工作是一门科学,并且在开发学习系统时,这通常不是必需的。

开发一个学习系统与开发软件非常的相似。你必须结合过去工作中设计的成果副本,能显示出有用的那些原型,还有为了得到最好的结果而开发一个新系统的时候的设计经验。

推荐阅读阅读:

Machine Learning, 1997书中相关问题解释的更全面。


 本文由北邮@爱可可-爱生活 老师推荐,阿里云云栖社区组织翻译。

文章原标题《Why Applied Machine Learning Is Hard》

作者: Jason Brownlee

译者:奥特曼,审校:袁虎。

文章为简译,更为详细的内容,请查看原文

相关文章
|
人工智能 自然语言处理 数据挖掘
云上玩转Qwen3系列之三:PAI-LangStudio x Hologres构建ChatBI数据分析Agent应用
PAI-LangStudio 和 Qwen3 构建基于 MCP 协议的 Hologres ChatBI 智能 Agent 应用,通过将 Agent、MCP Server 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了 MCP+OLAP 的智能数据分析能力,使用自然语言即可实现 OLAP 数据分析的查询效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
机器学习/深度学习 数据采集 算法
量子机器学习入门:三种数据编码方法对比与应用
在量子机器学习中,数据编码方式决定了量子模型如何理解和处理信息。本文详解角度编码、振幅编码与基础编码三种方法,分析其原理、实现及适用场景,帮助读者选择最适合的编码策略,提升量子模型性能。
975 8
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
783 88
|
机器学习/深度学习 数据采集 人工智能
智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
随着Web技术发展,动态加载数据的网站(如今日头条)对传统爬虫提出新挑战:初始HTML无完整数据、请求路径动态生成且易触发反爬策略。本文以爬取“AI”相关新闻为例,探讨了通过浏览器自动化、抓包分析和静态逆向接口等方法采集数据的局限性,并提出借助机器学习智能识别AJAX触发点的解决方案。通过特征提取与模型训练,爬虫可自动推测数据接口路径并高效采集。代码实现展示了如何模拟AJAX请求获取新闻标题、简介、作者和时间,并分类存储。未来,智能化将成为采集技术的发展趋势。
550 1
智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
|
机器学习/深度学习 人工智能 自然语言处理
Java 大视界 -- Java 大数据机器学习模型在自然语言生成中的可控性研究与应用(229)
本文深入探讨Java大数据与机器学习在自然语言生成(NLG)中的可控性研究,分析当前生成模型面临的“失控”挑战,如数据噪声、标注偏差及黑盒模型信任问题,提出Java技术在数据清洗、异构框架融合与生态工具链中的关键作用。通过条件注入、强化学习与模型融合等策略,实现文本生成的精准控制,并结合网易新闻与蚂蚁集团的实战案例,展示Java在提升生成效率与合规性方面的卓越能力,为金融、法律等强监管领域提供技术参考。
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据机器学习模型在生物信息学基因功能预测中的优化与应用(223)
本文探讨了Java大数据与机器学习模型在生物信息学中基因功能预测的优化与应用。通过高效的数据处理能力和智能算法,提升基因功能预测的准确性与效率,助力医学与农业发展。
|
机器学习/深度学习 搜索推荐 数据可视化
Java 大视界 -- Java 大数据机器学习模型在电商用户流失预测与留存策略制定中的应用(217)
本文探讨 Java 大数据与机器学习在电商用户流失预测与留存策略中的应用。通过构建高精度预测模型与动态分层策略,助力企业提前识别流失用户、精准触达,实现用户留存率与商业价值双提升,为电商应对用户流失提供技术新思路。
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。

热门文章

最新文章