《实用机器学习》——1.3 实际应用

简介:

本节书摘来异步社区《实用机器学习》一书中的第1章,第1.3节,作者:孙亮,黄倩,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 实际应用

在本节中,我们将会介绍一些可用机器学习解决的实际问题,包括病人住院时间预测、信用分数估计、Netflix上的影片推荐和酒店推荐。每个例子都对应一类不同的机器学习问题。通过这些不同类型的机器学习问题,读者对机器学习可以有更多直观的感受。

1.3.1 病人住院时间预测

机器学习在医疗行业有着广泛的应用。我们以Heritage Health Prize②竞赛作为例子以说明如何使用机器学习来预测病人未来的住院时间。

在美国每年都有超过7000万人次住院。根据相关统计,2006年在护理病人住院上所花的无关费用就已经超过了300亿美元。如果我们能够根据病人的病历提前预测病人将来的住院时间,那么就可以根据病人的具体情况提前做好相关准备从而减少那些无谓的开销。同时,医院可以提前向病人发出预警,这样就能在降低医疗成本的同时提高服务质量。在从2011年开始的Heritage Health Prize竞赛(HHP)中,竞争者成功地使用机器学习的方法,由病人的历史记录预测了病人在未来一年的住院时间。图1-1显示了竞赛中使用的病历数据的一部分样本。

07fb6ab9867b92ab8cf0e35761b064df5f64a277

1.3.2 信用分数估计

在现实生活中,向银行申请贷款是比较常见的,如房屋贷款、汽车贷款等。银行在办理个人贷款业务时,会根据申请人的经济情况来估计申请人的还款能力,并根据不同还款能力确定安全的借款金额和相应的条款(如不同的利率)。在美国,每个成年人都有相应的信用分数(credit score),用来衡量和评估借款者的还款能力和风险。

在估计申请者的还款能力时,需要搜集用户的多个方面的信息,包括:

收入情况;
年龄、性别;
职业;
家庭情况,如子女数量等;
还款历史,包括未按时还款的记录、还款金额等;
现有的各种贷款和欠款情况等。
如何将这些因素综合考虑从而决定借贷者的信用分数呢?直观地讲,可以使用一些简单的规则来确定信用分数。例如,某申请者的当前借款金额很高但收入一定,则进一步借款的风险很高,信用分数将会较低;又如,某申请者的某张信用卡在过去经常没有按时还款,则其信用分数也会较低。虽然使用简单的规则能够大致解决信用分数估计的问题,但是这个办法最大的问题是不能自适应地处理大量数据。随着时间的变化,申请者不还款的风险模型可能会发生变化,因此,相应的规则也需要修改。

银行通常可以得到海量的申请者数据和对应的历史数据。利用机器学习的方法,我们希望可以从这些申请者过去的还款记录中自适应地学习出相应的模型,从而能够“智能”地计算申请者的信用分数以了解贷款的风险。具体地讲,在机器学习模型中,将申请者的信息作为输入,我们可以计算申请者在未来能够按时还款的概率。作为一个典型的例子,FICO分数③就是美国FICO公司利用机器学习模型开发出来的一个信用分数模型。

1.3.3 Netflix上的影片推荐

Netflix是美国的一家网络视频点播公司,成立于1997年,到2015年该公司已经有了近7000万的订阅者,并且在世界上超过40个国家或地区提供服务。Netflix上的一项很重要的功能是根据用户的历史观看信息和喜好推荐相应的影片,如图1-2所示。2006年10月至2009年9月,Netflix公司举办了Netflix Prize④比赛,要求参赛者根据用户对于一些电影的评价(1星~5星),推测用户对另外一些没有看过电影的评价。如果能够准确地预测用户对于那些没有看过的电影的评价,就可以相应地向这些用户推荐他们感兴趣的电影,从而显著提高推荐系统的性能和Netflix公司的盈利水平。

f69d21e87ecbfa865d8287ab9af946b0cb031bb0

在Netflix Prize比赛中,获胜的标准是将Netflix现有推荐系统的性能提高10%。在2009年,BellKor's Pragmatic Chaos队赢得了比赛。其主要方法是基于矩阵分解的推荐算法,并使用集成学习的方法综合了多种模型。Netflix Prize比赛显著地推动了推荐算法的研究,特别是基于矩阵分解的推荐算法的研究。在本书中,我们也将详细介绍这些推荐算法。

1.3.4 酒店推荐

Expedia是目前世界上最大的在线旅行代理(online travel agency,OTA)之一。它的一项很重要的业务是向用户提供酒店预订,作为用户和大量酒店之间的桥梁。对于用户的每个查询,Expedia需要根据用户的喜好,提供最优的排序结果,这样用户能够方便地从中选出最合适的酒店。

Expedia于2013年年底与国际数据挖掘大会(International Conference on Data Mining,ICDM)联合举办了酒店推荐比赛。在该项比赛中,Expedia提供了实际数据,包括用户的查询以及其对所推荐结果点击或者购买的记录。在进行酒店推荐时,Expedia考虑了如下因素:

用户的位置和酒店的位置;
酒店的特征,如酒店的价格、星级、位置吸引程度等;
用户过去预订酒店的历史,包括价格、酒店类型、酒店星级;
其他竞争对手的信息。
根据用户的查询及用户的背景信息,Expedia返回推荐的酒店序列。在Expedia.com上,典型的酒店搜索界面如图1-3所示。根据返回的推荐结果,用户有3种选择:(1)付款预定推荐的酒店;(2)点击推荐的酒店但没有预订;(3)既没有点击也没有预订。显然,根据用户的反应,我们希望在理想的酒店推荐结果中,对应于第一种选择的酒店能够排在最前面,并且对应于第二种选择的酒店排在对应于第三种选择的酒店前面。

182a71294de2ac463b6657197a26442a91cd79e6

1.3.5 讨论

上文中的4个例子分别对应于机器学习中的4类典型问题:

回归(regression);
分类(classification);
推荐(recommendation);
排序(ranking)。
在第一类问题中,首先需要为每个病人构建一个特征向量x,然后构建一个函数f,使得可以用f(x)来预测病人的住院时间y。注意,这里要预测的量(病人的住院时间y)的范围是0~365(或者366),我们可以将其转化为回归问题。在回归问题中,目标变量是一个连续值。

在第二类问题中,需要为每个申请者构建一个特征向量x,而输出y是0或者1,代表批准贷款或者不批准贷款。事实上,输出y也可以是批准的概率。这是机器学习中典型的分类问题。在分类问题中,目标变量y是一个离散变量。与回归问题类似,我们的目标是构建一个函数f,使得f(x)可以预测真实的y。在典型的两类分类(binary classification)问题中,目标变量的取值为0或者1(有时是−1或者1)。在多类分类(multi-class classification)问题中,我们有多个类,而目标变量的取值是其中之一。

在第三类问题中,需要根据用户过去的历史为每个用户推荐相应的商品,这是一个典型的推荐问题。与回归和分类问题相比,我们需要为每个用户返回一个感兴趣的商品序列。

在第四类问题中,需要根据用户的输入(在上文的例子中是用户对于酒店的查询),从一系列对象(在这个例子中是酒店)中根据用户的需要返回一个对象的序列,使得该序列最前面的对象是用户最想要的。这类问题称为排序(ranking)问题。同前面的回归问题和分类问题相比,排序问题需要考虑整个返回序列。与前面的影片推荐例子相比,在排序问题中我们需要明确的用户输入,而在影片推荐中我们只是根据用户过去的历史信息来进行推荐,用户没有进行明确的输入。

在实际应用中,机器学习的应用远远超出上面的几个例子。例如,近期非常热门的AlphaGo,谷歌公司在其中使用了深度学习(deep learning)来学习围棋对弈;德国的蒂森克虏伯(ThyssenKrupp)集团作为电梯的主要制造商之一,应用机器学习来预测电梯发生故障的时间从而提前维修,降低电梯的综合运营成本;美国的很多大型零售商在开设新店时,都要搜集各个地区的各种信息和历史销售数据,通过建立机器学习模型的形式选择最优的店址。

相关文章
|
4月前
|
人工智能 自然语言处理 数据挖掘
云上玩转Qwen3系列之三:PAI-LangStudio x Hologres构建ChatBI数据分析Agent应用
PAI-LangStudio 和 Qwen3 构建基于 MCP 协议的 Hologres ChatBI 智能 Agent 应用,通过将 Agent、MCP Server 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了 MCP+OLAP 的智能数据分析能力,使用自然语言即可实现 OLAP 数据分析的查询效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
2月前
|
机器学习/深度学习 分布式计算 Java
Java 大视界 -- Java 大数据机器学习模型在遥感图像土地利用分类中的优化与应用(199)
本文探讨了Java大数据与机器学习模型在遥感图像土地利用分类中的优化与应用。面对传统方法效率低、精度差的问题,结合Hadoop、Spark与深度学习框架,实现了高效、精准的分类。通过实际案例展示了Java在数据处理、模型融合与参数调优中的强大能力,推动遥感图像分类迈向新高度。
|
2月前
|
机器学习/深度学习 存储 Java
Java 大视界 -- Java 大数据机器学习模型在游戏用户行为分析与游戏平衡优化中的应用(190)
本文探讨了Java大数据与机器学习模型在游戏用户行为分析及游戏平衡优化中的应用。通过数据采集、预处理与聚类分析,开发者可深入洞察玩家行为特征,构建个性化运营策略。同时,利用回归模型优化游戏数值与付费机制,提升游戏公平性与用户体验。
|
4月前
|
机器学习/深度学习 数据采集 人工智能
智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
随着Web技术发展,动态加载数据的网站(如今日头条)对传统爬虫提出新挑战:初始HTML无完整数据、请求路径动态生成且易触发反爬策略。本文以爬取“AI”相关新闻为例,探讨了通过浏览器自动化、抓包分析和静态逆向接口等方法采集数据的局限性,并提出借助机器学习智能识别AJAX触发点的解决方案。通过特征提取与模型训练,爬虫可自动推测数据接口路径并高效采集。代码实现展示了如何模拟AJAX请求获取新闻标题、简介、作者和时间,并分类存储。未来,智能化将成为采集技术的发展趋势。
智能嗅探AJAX触发:机器学习在动态渲染中的创新应用
|
4月前
|
人工智能 自然语言处理 数据库
云上玩转Qwen3系列之二:PAI-LangStudio搭建联网搜索和RAG增强问答应用
本文详细介绍了如何使用 PAI-LangStudio 和 Qwen3 构建基于 RAG 和联网搜索 的 AI 智能问答应用。该应用通过将 RAG、web search 等技术和阿里最新的推理模型 Qwen3 编排在一个应用流中,为大模型提供了额外的联网搜索和特定领域知识库检索的能力,提升了智能回答的效果,减少了幻觉。开发者可以基于该模板进行灵活扩展和二次开发,以满足特定场景的需求。
|
8月前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
319 88
|
9月前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
1045 95
|
7月前
|
机器学习/深度学习 数据采集 人工智能
MATLAB在机器学习模型训练与性能优化中的应用探讨
本文介绍了如何使用MATLAB进行机器学习模型的训练与优化。MATLAB作为强大的科学计算工具,提供了丰富的函数库和工具箱,简化了数据预处理、模型选择、训练及评估的过程。文章详细讲解了从数据准备到模型优化的各个步骤,并通过代码实例展示了SVM等模型的应用。此外,还探讨了超参数调优、特征选择、模型集成等优化方法,以及深度学习与传统机器学习的结合。最后,介绍了模型部署和并行计算技巧,帮助用户高效构建和优化机器学习模型。
MATLAB在机器学习模型训练与性能优化中的应用探讨
|
7月前
|
机器学习/深度学习 数据采集 运维
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
机器学习在网络流量预测中的应用:运维人员的智慧水晶球?
301 19
|
7月前
|
机器学习/深度学习 分布式计算 大数据
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
332 15