2019实用机器学习算法.docx
《2019实用机器学习算法.docx》由会员分享,可在线阅读,更多相关《2019实用机器学习算法.docx(250页珍藏版)》请在三一办公上搜索。
1、实用机器学习算法目录第1部分机器学习工作流程第1章什么是机器学习31.1理解机器学习31.2 使用数据进行决策6122机器学习方法1.3 跟踪机器学习流程:从数据到部署131.3.1 数据集合和预处理131. 3.2数据构建模型1433模型性能评估16总结1.1-6本章术语1HXI第2章实用数据处理202. 1起步:数据收集212.1.2如何获得目标变量的真实值232.1.4训练集是否有足够的代表性2622262.2.1分类特征272.2.3简单特征工程312.3数据可视化:332.3.1马赛克图342.3.2盒图352.3.3密度图372. 42.3.4散点图38总结382.5本章术语3B第
2、3章建模和预测403. 1基础机器学习建模403.1.4有监督和无监督学习443.2323多类另!1分类513.3 回归:预测数值型数据52543.3.1构建回归器并预测3. 3.2对复杂的非线性数据进行回归563.4总结5735Vq58第4章模型评估与优化54. 1模型泛化:评估新数据的预测准确性604. 1.1问题:过度拟合与乐观模型604. 1.2解决方案:交叉验证62Xtt4.1 3交叉验证的注意事项654.24.3 回归模型评估744. 3.1使用简单回归性能指标754.4参数调整优化模型774. 4.1机器学习算法和它们的调整参数774.5总结31第5章基础特征工程835.1.1
3、I4$fE.83512使用特征工程的5个原因845.1.3 特征工程与领域专业知识855. 2基本特征工程过程865. 2.2处理日期和时间特征875.35.3.1 前向选择和反向消除35.3.2 数据探索的特征选择4533实用特征选择实例5总结.8第2部分实际应用第6章案例:NYC出租车数据1036. 1数据:NYC出租车旅程和收费信息1036.1.1数据可视化1046.1.2定义问题并准备数据1076.26.2.1 基本线性模型1016.2.2 非线性分类器1623包含分类特征112总结1156.4第7章高级特征工程1177.1高级文本特征1177.1.1 词袋模型“77.1.2 主题建模
4、W7.1.3 1.3内容拓展1227.27. 2.2提取物体和形状1257.37. 3.1时间序列数据的类型1288. 3.2时间序列数据的预测1307.47,34事件流的特征工程135总结1357.5第8章NLP高级案例:电影评论情感预测1388. 1研究数据和应用场景1388. 1.3应用场景有哪些1408. 2提取基本NLP特征并构建初始模型1428. 2.2用朴素贝叶斯算法构建模型1448. 2.3tf-idf算法规范词袋特征1478. 2.4优化模型参数1488.38. 3.1Word2vec1528 4&3.2154总结1569 .5iS9L了fj不王157I.1扩展前需考虑的问题
5、1571.1.1 识别关键点1581.1.2 选取训练数据子样本代替扩展性151l21.3可扩展的数据管理系统160机器学习建模流程扩展1621.31.3.1 预测容量扩展166I413.2预测速度扩展1662 3 4 5 60.0.SSS案例:数字显示广告170显不广告170数字广告数据171特征工程和建模策略172数据大小和形状173奇异值分解175资源估计和优化17710.8K近邻算法17810.1随机森林算法18010.10其他实用考虑18110.11总结18210.12本章术语18310.13摘要和结论183附录常用机器学习算法185名词术语中英文对照187第1部分机器学习工作流程在
6、本书的第1部分,将介绍基本的机器学习工作流程,每章都涵盖流程中的一个工作步骤.第1章,介绍机器学习的用途,以及为什么要阅读本书。第2章研究基本机器学习流程中的数据处理,读者将学习到一些通用方式,从现实世界和纷乱的数据中清理和提取有价值的信息第3章,随着一些模型算法及其应用的学习,开始构建简单的机器学习模型:第4章,深入研究机器学习模型,并对它们进行评估和性能优化。第5章,致力于特征工程,从数据中提取特征是构建和优化机器学习系统的重要组成部分。第1章什么是机器学习1959年,IBM公司的计算机科学家亚瑟-塞缪尔编写了一个跳棋程序,每个棋盘位置根据胜出的可能赋予一个数值。首先,该数值基于一个公式,
7、该公式使用诸如每方的棋子数和国王的数目作为因数,这个公式起到了作用,使塞缪尔找到了提升性能的方法。他让程序和自己对弈,并用对弈结果对位置赋值进行精确化。到了20世纪70年代中期,此程序已经拥有相当于业余棋手的能力支塞缪尔写出了可以根据经验提升自己性能的程序,机器学习(MaChineLeaming,ML)随之诞生。本书不打算描述机器学习算法的令人畏惧的数学细节(虽然对于常用的算法,我们也会“窥探”它的内部工作机制),而是针对非机器学习专家在实际应用中集成机器学习给出指导和所面临的挑战。在第1章中,我们通过一个真实的商业问题一借贷审核应用,来证明机器学习在替代常用方法时所具有的优势。1.1理解机器
8、学习当讨论人类学习时,我们会对死记硬背或记忆和智力进行区分。记住一个电话号码和一系列指令无疑是学习,但当我们讨论学习(learning)时,通常具有更广泛的意义。当孩子们一起玩耍时,他们都会观察其他孩子对他的反应,这种体验形成他们将来的社会行JonathanSchaeffer.领先一步:电脑跳根之美M.纽约:Springer.2009.为。他们的过去不会重演.通常和他们交互的可认识的特征一操场,教室,妈妈,爸爸.兄妹,朋友,陌生人,成年人,小朋友,家里的人,外面的人,向他们提供一些暗示,依据过去的经验对新的情况做出判断。他们的学习不仅仅是收集知识,而是构建自己的洞察力(insight)。想象一
9、下使用卡片教孩子认识狗和猫的情景,你出示一张卡片,根据孩子的选择把卡片放在正确或错误的位置上。随着孩子的练习,他的表现就会得到提升。有趣的是,没必要事先教孩子认识猫和狗的技巧,因为人类的认知内建分类机制,所需要的只是样本(examples)o随着孩子对卡片的熟悉,他不仅能够区分卡片上的图像,还能够区分绝大多数猫和狗的图片,更不用说实物了。这种以经验获得知识,并推广到未知的概括(generalize)能力,无论对人类学习还是机器学习都是非常关键的。当然,人类学习远比最先进的机器学习算法还要复杂得多,但计算机在记忆容量、查找和数据处理方面更有优越性。它们的经验来自处理的历史数据使用本书描述的技术一
10、通过经验创造和优化实现的算法。如果这不能算作真正的洞察力,则至少也是一种概括能力。人类和机器学习非常相似,以至于使我们联想到人工智能(ArtificialIntelligence.AI)这个术语和一个非常明显的问题“人工智能和机器学习有什么区别。”关于这个问题还没有达成共识,但大多数人认为机器学习是人工智能的一种,而人工智能则含义更广,它包括机器人技术、语言处理和计算机视觉。机器学习更频繁地应用到人工智能相关的领域,使这两个概念的区别更加模糊。我们可以这么说,机器学习的训练指的是知识的特殊形式和相互关联的一套技术。可以很清楚地说机器学习是什么、不是什么,但对人工智能不能这么说。引用汤姆-米契尔
11、的定义,如果计算机程序对于某个任务,它的性能能够通过可计算的值进行衡量,并能通过经验得到提高,我们就称之为学习氢“对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序从经验E学习。”机器学习顾问凯格,进行了程序精确识别狗和猫的图片的比赛参加者使用提供的25,OOO张打了标记的样本图片训练各自的算法,然后通过12,500张未标记的图片测试他们的程序识别能力。当我们向人们解释凯格的比赛时,他们首先想到的是成功识别狗和猫的一套规则。猫的耳朵呈圆三角形而且是直立的;狗的耳朵是下垂的但并不总是如此。试想一下,对于一个从来没见过狗或猫的人,在没有
12、样本的情况下你如何教他区分。人们对样本使用形状、颜色、质地、比例和其他特征进行学习和归纳。机器学习根据要解决的问题,使用一系列策略或策略组合进行学习。这些策略体现在近十几年间学者和从业者开发的算法,涵盖统计学、计算科学、机器人科学和应用数学,应用于在线搜索、娱乐、数字广告和语言翻译。它们各有优缺点,有一些汤姆-米契尔.机器学习M.McGrawHill11997.见“狗和猫识别比赛地址为是分类器,另一些对数值测量进行预测,还有一些对可比较实体(例如,人、机器、处理过程、猫和狗)辨别异同。它们的共同特性是从样本(经验)学习,并应用到新的未知情况都具备概括归纳能力。在猫和狗的识别比赛中,学习阶段参加
13、者尝试了许多算法进行正确的分类。在几万次的学习中,程序执行分类算法,评测结果,然后进行细微的调整并取得一定的进步。获胜者对于未知情况分类的准确率达到98.914%。考虑到人的错误率大约7%,这个结果已经非常不错了。图17示出了这一过程。机器学习分析已标记的图片并构建模型,然后用于识别未标记的图片。在示例中只有一个猫的图片标记错误。图1-1猫和狗识别比赛的机器学习过程注意,我们这里描述的是带有监督机制的机器学习,这不只是机器学习特有的类型。稍后我们讨论其他类型的机器学习。机器学习可广泛地应用于商业领域,从欺诈检测到客户定位、产品推荐、实时工业监控、情感分析和医疗诊断。可解决数据量巨大而不能手工处
14、理的问题,对于大数据量应用,机器学习有时可发现数据之间微妙的联系,而这种联系在人工审查时很难发现。当这些“微弱”联系组合在一起时,就变成了强大的预测器。从数据中学习,并将获得的知识用于将来决策的过程是非常强大的。事实上,机器学习正迅速成为推动现代“数据驱动经济”发展的强力引擎。图1-2微型贷款的审批流程表17描述了监督机器学习技术的广泛应用和某些实际应用,这并不全面.因为潜在的应用有可能几页纸都写不完。表1-1监督机制机器学习应用实例,按解决问题的类型分类问题描述应用实例分类基于输入确定每个输入所属的分类垃圾邮件过滤、情感分析、欺诈检测、客户广告定位、流失预测、支持案例标记、内容个性化、制造缺
15、陷检测、客户细分、事件发现、基因学、药效学回归基于输入预测每个输入的实际输出股票市场预测、需求预测、价格估计、广告竞价优化、风险管理、资产管理、天气预报、优育预测推荐预测用户喜欢的方案产品推荐、工作招聘、NetfliX奖金、在线约会、内容推荐插补对于缺失的数据推断其价值不完整的医疗记录、客户数据缺失、人口数据普杳输入数据1.2使用数据进行决策在接下来的例子中,我们介绍一个从机器学习获利的真实问题。我们将介绍各种常用的可选方案,从而证明机器学习是最好的方法。假定你掌管着一个小型借贷公司,向陷入困境的个人小型企业贷款。早期.公司每周收到为数不多的申请.你可以用几天的时间人工审核每个请求,并对每位申
16、请人进行背景调查,以决定是否放款,这个流程的示意图如图1-2所示。早期的客户对你的反应时间和服务十分满意,公司的名誉也不胫而走。随着公司的声名鹊起,申请的人越来越多,很快就达到每周收到几百份申请的水平。对于这些猛增的申请你企图加班加点完成它,但等待办理的还是越来越多。某些申请人在焦虑等待的过程中可能会转投到你的竞争对手那里。很明显企图人工处理每个申请不是一个好的办法,坦率地说,承受这样的压力不值得。那么该怎么办呢?在这部分里,你将探索几个方法以加快申请审核来适应不断增长的业务需求。1.2.1传统方法先让我们介绍用于申请审核的两种方法:人工分析和商业规则。对于每种方法,我们详细分析其实现技术并突
17、出它不能达到你扩展业务的目的。雇佣更多的分析员你决定雇佣其他的分析员把你解脱出来。你对花钱雇个新人不感兴趣,而是想和另一个人共同审核贷款申请,这样你就可以在相同的时间里处理大约两倍的申请。这个新的分析员可以帮你把一周内积压的申请处理完毕。起初的几周,你们两个加班加点,但申请数量仍然持续增长,在短短的一个月里增长到每周100O份申请。为了跟上申请增长的速度,你必须雇佣两个以上的分析员。随着业务的发展,这种增加雇员的方法并不能解决持续发展的问题:所有新增货款的收益全都用于了新增的雇佣人员,而没有用于关键的微型借贷基金。按照申请的增加雇佣更多的人员,这种方式阻碍了你的业务发展。更重要的是,你发现招聘
18、过程既耗费时间又耗费金钱,进一步削减了你的商业利益。最后,新雇佣的人在处理贷款申请时因缺乏经验而比其他人要慢.团队管理的压力也使你感到焦虑。除了开销增加的弊端外,人工处理还带来了有意无意的主观偏见。为了确保申请处理的一致性,你对审批过程研发一套指导规则并对新员工进行培训,但这增加了开销并且可能无法消除这种偏见。采用商业规则想象一下,1000份贷款已超过偿还日期,70%按时偿还,如图1-3所示。现在你必须注意贷款申请和偿还之间的关系了。特别是,你经过人工调查得到一系列过滤规则,过滤出一批“优良”信贷可以按时偿还。通过对几百个贷款申请的人工分析,得到了判断借贷信誉好坏的丰富经验白,通过反思和回溯测
19、试还款状况你注意到信用背景调查数据的几个趋势:大多数的贷款超过7500美元信贷额度的借款人拖欠。大多数没有支票账户的借款人按时偿还贷款。现在你可以通过这两条规则设计一套过滤机制,削减人工处理的贷款申请的数量。你首先要过滤信用额度超过7500美元的借贷图1-3经过几个月运作,收到2.500份贷款申请求。通过分析历史数据,发现信用额度超过7500请批准了10份其中700份申请及时偿还,美元的86个信贷申请中有44个拖欠还款。与剩下300份贷款拖欠。这些初始数据对于构建贷款的28舟相比,大约5居的高额信贷申请拖欠。这评估体系是至关重要的看起来好像是排除高风险信贷的好方法,但你很快就会发现在信贷申请中
20、只有8.6%(1000你可以使用统计相关性确定哪些数据因素与贷款偿还结果相关。O在本例中.我们使用德国信贷数据集。你可在http:mngbz95r4下载该数据。个中有86个)的申请属于高额度贷款,这就意味着你还必须人工处理超过90%的贷款申请。你还需要更多的过滤规则使这个数字降到合理水平。你的第二个过滤规则是自动接受任何没有支票账户的申请人。这看起是相当不错的规贝山因为在394个货款申请中有348个(88%)按时偿还了货款。加上这第二条规则,可以使自动被接收或拒绝的申请达到了45%。因此,你只需要人工分析大约一半的申请。图1-4所示显示了这些过滤规则。图1-4使用两条商业规则可使你只需处理新增
21、申请的52%使用这两个规则,你可以把业务扩大到原来的两倍而不必雇佣其他人员,因为你只要处理新增申请的52%。另外,对于IoOO份已知结果的申请,你期望过滤规则错误拒绝率在4.2%左右(每1000份申请中错误拒绝42份),错误接收率在4.6%左右(每100O份申请中错误接收46份)。随着业务的增长,你希望系统能接收或拒绝越来越多的申请,从而免遭拖欠的损失。为了做到这一点,你必须增加新的商业规则,很快你就遇到了以下几个问题: 人工发现有效的过滤规则变得越来越困难,这不是不可能的,因为过滤系统的复杂性在增加。 商业规则变得如此复杂和不透明,测试它们,剔除老的不相关的规则变得几乎不可能。 你的规则构建
22、毫无统计学严谨性。你虽然非常确信更好的分析数据能得到更好的“规则”,但又不能肯定。 因为贷款偿还模式随着时间的变化而变化,或许随着申请人群的变化而变化,规则系统不能适应这种变化。为了适应这种变化,规则系统必须不断地调整。所有商业规则方法的缺陷可归结一个弱点:规则系统不能从数据中自动学习。数据驱动的系统,从简单的统计学模型到复杂的机器学习都可克服这些问题。1.2.2机器学习方法最终,你决定在微型信贷申请评估过程中采用全自动、数据驱动的决策方法。机器学习是一个不错的选择,因为它的处理过程是全自动的,可以适应不断增长的业务需要。另外,它不同于商业规则,机器学习直接从数据中学习最优的决策而不是任意的编
23、写好的决策规则。这种从基于规则到基于机器学习的决策过渡意味着你的决策更加精确,而且随着借贷的增多,精确性会得到提高。可以确信你的机器学习系统可用最少的处理换来优化的决策。在机器学习中,数据为获得关于手头问题的见解提供了基础。为了确定是否接收每个新的贷款申请,机器学习使用历史训练数据来预测应采取的最佳行动。为了启动机器学习用于贷款审批,你可以把已掌握的100O份借贷数据作为训练样本。训练样本由每个贷款的输入数据和是否及时偿还的结果组成。输入数据由一系列数值或分类指标组成,用于捕获每个申请中相关的方面,如申请人的信用指数、性别和职业等。图1-5示出了历史数据训练机器学习的模型。在收到新的借货申请时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2019 实用 机器 学习 算法
链接地址:https://www.31ppt.com/p-6443418.html