资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,机器学习,1,2025/1/5 周日,什么是机器学习,现今,机器学习已应用于多个领域,远超出大多数人的想象,下面就是假想的一日,其中很多场景都会碰到机器学习:,假设你想起今天是某位朋友的生日,打算通过邮局给她邮寄一张生日贺卡。你打开浏览器搜索趣味卡片,搜索引擎显示了,10,个最相关的链接。你认为第二个链接最符合你的要求,点击了这个链接,搜索引擎将记录这次点击,并从中学习以优化下次搜索结果。然后,你检查电子邮件系统,此时垃圾邮件过滤器已经在后台自动过滤垃圾广告邮件,并将其放在垃圾箱内。接着你去商店购买这张生日卡片,并给你朋友的孩子挑选了一些尿布。结账时,收银员给了你一张,1,美元的优惠券,可以用于购买,6,罐装的啤酒。之所以你会得到这张优惠券,是因为款台收费软件基于以前的统计知识,认为买尿布的人往往也会买啤酒。然后你去邮局邮寄这张贺卡,手写识别软件识别出邮寄地址,并将贺卡发送给正确的邮车。当天你还去了贷款申请机构,查看自己是否能够申请贷款,办事员并不是直接给出结果,而是将你最近的金融活动信息输入计算机,由软件来判定你是否合格。,2,2025/1/5 周日,机器学习问题的几个实例,机器学习问题到处都是,它们组成了日常使用的网络或桌面软件的核心或困难部分。苹果的,Siri,语音理解系统就是实例。以下,是几个真正有关机器学习到底是什么的的实例。,1,、垃圾邮件检测:根据邮箱中的邮件,识别哪些是垃圾邮件,哪些不是。这样的模型,可以程序帮助归类垃圾邮件和非垃圾邮件。这个例子,我们应该都不陌生。,2,、信用卡欺诈检测:根据用户一个月内的信用卡交易,识别哪些交易是该用户操作的,哪些不是。这样的决策模型,可以帮助程序退还那些欺诈交易。,3,、数字识别:根据信封上手写的邮编,识别出每一个手写字符所代表的数字。这样的模型,可以帮助程序阅读和理解手写邮编,并根据地利位置分类信件。,4,、语音识别:从一个用户的话语,确定用户提出的具体要求。这样的模型,可以帮助程序能够并尝试自动填充用户需求。带有,Siri,系统的,iPhone,就有这种功能。,5,、人脸识别:根据相册中的众多数码照片,识别出那些包含某一个人的照片。这样的决策模型,可以帮助程序根据人脸管理照片。某些相机或软件,如,iPhoto,,就有这种功能。,3,2025/1/5 周日,什么是机器学习,1,、,林轩田,:,机器学习想做的事情,简单的说是要从资料中归纳出有用的规则。大数据说的是对大量的资料做分析,而人工智能说的是让机器看起来更聪明,两者都可以使用机器学习来做核心的工具。,我们可以举,2012,年的,KDD-Cup,做例子,当年腾讯给的题目之一,是希望能从大量的线上广告资料中,找出“这个广告到底会不会被点击”的规则,如果机器能找出有用的规则,我们就会有更高“智能”的广告系统了。,2,、,ArthurSamuel,定义的机器学习,(1959),“在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域”,3,、通俗讲,机器学习,两部分:首先是“机器”,这个机器一般其实指的就是“电脑”其次学习,这个学习也分为两部分,一是“数据”二是“算法”。其实和人是一样的,比如你父母教你认识“打棒球”这个体育运动的时候。肯定要给你看打棒球的图片或者视频,或者需要跟你描述这个运动,这些就是“数据”。至于说“算法”的话,描述本身就是一种算法。比如他们告诉你“拿着球棒,这样那样挥舞击球的就是棒球”。这样,在没有他们帮助的情况下,再给你一个新的打棒球的图片,你也认出这是打棒球,4,、简单讲就是,总结过去,预测未来。,4,2025/1/5 周日,什么是机器学习,5,2025/1/5 周日,机器学习问题的类型,关于机器学习,有一些常见的分类。以下这些分类,是我们在研究机器学习时碰到的大多问题都会参考的典型。,分类,:标记数据,也就是将它归入某一类,如垃圾,/,非垃圾(邮件)或欺诈,/,非欺诈(信用卡交易)。决策建模是为了标记新的未标记的数据项。这可以看做是辨别问题,为小组之间的差异性或相似性建模。,回归,:数据被标记以真实的值(如浮点数)而不是一个标签。简单易懂的例子如时序数据,如随着时间波动的股票价格。这个建模的的决策是为新的未预测的数据估计值。,聚类,:不标记数据,但是可根据相似性,以及其他的对数据中自然结构的衡量对数据进行分组。可以从以上十个例子清单中举出一例:根据人脸,而不是名字,来管理照片。这样,用户就不得不为分组命名,如,Mac,上的,iPhoto,。,规则提取,:数据被用作对提议规则(前提,/,结果,又名如果)进行提取的基础。这些规则,可能但不都是有指向的,意思是说,这些方法可以找出数据的属性之间在统计学上有说服力的关系,但不都是必要的涉及到需要预测的东西。有一个找出买啤酒还是买尿布之间关系的例子,(这是数据挖掘的民间条例,真实与否,都阐述了期望和机会)。,6,2025/1/5 周日,实例详解机器学习如何解决问题,7,2025/1/5 周日,什么是机器学习?,机器学习可以分为无监督学习(,unsupervised learning,)和有监督学习(,supervised learning,),在工业界中,有监督学习是更常见和更有价值的方式,下文中主要以这种方式展开介绍。如下图中所示,有监督的机器学习在解决实际问题时,有两个流程,一个是离线训练流程(蓝色箭头),包含数据筛选和清洗、特征抽取、模型训练和优化模型等环节;另一个流程则是应用流程(绿色箭头),对需要预估的数据,抽取特征,应用离线训练得到的模型进行预估,获得预估值作用在实际产品中。在这两个流程中,离线训练是最有技术挑战的工作(在线预估流程很多工作可以复用离线训练流程的工作),所以下文主要介绍离线训练流程。,8,2025/1/5 周日,什么是模型(,model,)?,模型,是机器学习中的一个重要概念,简单的讲,指特征空间到输出空间的映射;一般由模型的假设函数和参数,w,组成(下面公式就是,Logistic Regression,模型的一种表达,在训练模型的章节做稍详细的解释);一个模型的假设空间(,hypothesis space,),指给定模型所有可能,w,对应的输出空间组成的集合。工业界常用的模型有,Logistic Regression,(简称,LR,)、,Gradient Boosting Decision Tree,(简称,GBDT,)、,Support Vector Machine,(简称,SVM,)、,Deep Neural Network,(简称,DNN,)等。,9,2025/1/5 周日,为什么要用机器学习解决问题?,1,、目标问题需要价值巨大,因为机器学习解决问题有一定的代价;,2,、目标问题有大量数据可用,有大量数据才能使机器学习比较好地解决问题(相对于简单规则或人工);,3,、目标问题由多种因素(特征)决定,机器学习解决问题的优势才能体现(相对于简单规则或人工);,4,、目标问题需要持续优化,因为机器学习可以基于数据自我学习和迭代,持续地发挥价值。,10,2025/1/5 周日,对问题建模,本文以,DEAL,(团购单)交易额预估问题为例(就是预估一个给定,DEAL,一段时间内卖了多少钱),介绍使用机器学习如何解决问题。首先需要:,1,、收集问题的资料,理解问题,成为这个问题的专家;,2,、拆解问题,简化问题,将问题转化机器可预估的问题。,深入理解和分析,DEAL,交易额后,可以将它分解为如下图的几个问题:,11,2025/1/5 周日,为什么要用机器学习解决问题?,1,、目标问题需要价值巨大,因为机器学习解决问题有一定的代价;,2,、目标问题有大量数据可用,有大量数据才能使机器学习比较好地解决问题(相对于简单规则或人工);,3,、目标问题由多种因素(特征)决定,机器学习解决问题的优势才能体现(相对于简单规则或人工);,4,、目标问题需要持续优化,因为机器学习可以基于数据自我学习和迭代,持续地发挥价值。,12,2025/1/5 周日,模型选择,对于,DEAL,交易额这个问题,我们认为直接预估难度很大,希望拆成子问题进行预估,即多模型模式。那样就需要建立用户数模型和访购率模型,因为机器学习解决问题的方式类似,下文只以访购率模型为例。,实际问题选择模型,需要转化问题的业务目标为模型评价目标,转化模型评价目标为模型优化目标;根据业务的不同目标,选择合适的模型,具体关系如下:,通常来讲,预估真实数值(回归)、大小顺序(排序)、目标所在的正确区间(分类)的难度从大到小,根据应用所需,尽可能选择难度小的目标进行。对于访购率预估的应用目标来说,我们至少需要知道大小顺序或真实数值,所以我们可以选择,Area Under Curve,(,AUC,)或,Mean Absolute Error,(,MAE,)作为评估目标,以,Maximum likelihood,为模型损失函数(即优化目标)。综上所述,我们选择,spark,版本,GBDT,或,LR,,主要基于如下考虑:,1,)可以解决排序或回归问题;,2,)我们自己实现了算法,经常使用,效果很好;,3,)支持海量数据;,4,)工业界广泛使用。,13,2025/1/5 周日,准备训练数据,深入理解问题,针对问题选择了相应的模型后,接下来则需要准备数据;数据是机器学习解决问题的根本,数据选择不对,则问题不可能被解决,所以准备训练数据需要格外的小心和注意:,注意点:,1,、待解决问题的数据本身的分布尽量一致;,2,、训练集,/,测试集分布与线上预测环境的数据分布尽可能一致,这里的分布是指(,x,y,)的分布,不仅仅是,y,的分布;,3,、,y,数据噪音尽可能小,尽量剔除,y,有噪音的数据;,4,、非必要不做采样,采样常常可能使实际数据分布发生变化,但是如果数据太大无法训练或者正负比例严重失调(如超过,100:1,),则需要采样解决。,14,2025/1/5 周日,抽取特征,完成数据筛选和清洗后,就需要对数据抽取特征,就是完成输入空间到特征空间的转换(见下图)。针对线性模型或非线性模型需要进行不同特征抽取,线性模型需要更多特征抽取工作和技巧,而非线性模型对特征抽取要求相对较低。,15,2025/1/5 周日,特征归一化,特征抽取后,如果不同特征的取值范围相差很大,最好对特征进行归一化,以取得更好的效果,常见的归一化方式如下:,16,2025/1/5 周日,特征选择,特征抽取和归一化之后,如果发现特征太多,导致模型无法训练,或很容易导致模型过拟合,则需要对特征进行选择,挑选有价值的特征。,17,2025/1/5 周日,训练模型,完成特征抽取和处理后,就可以开始模型训练了,下文以简单且常用的,Logistic Regression,模型(下称,LR,模型)为例,进行简单介绍。设有,m,个(,x,y,)训练数据,其中,x,为特征向量,,y,为,label,,;,w,为模型中参数向量,即模型训练中需要学习的对象。所谓训练模型,就是选定假说函数和损失函数,基于已有训练数据(,x,y,),不断调整,w,,使得损失函数最优,相应的,w,就是最终学习结果,也就得到相应的模型。,18,2025/1/5 周日,优化算法,19,2025/1/5 周日,优化模型,经过上文提到的数据筛选和清洗、特征设计和选择、模型训练,就得到了一个模型,但是如果发现效果不好?怎么办?,【,首先,】,反思目标是否可预估,数据和特征是否存在,bug,。,【,然后,】,分析一下模型是,Overfitting,还是,Underfitting,,从数据、特征和模型等环节做针对性优化。,20,2025/1/5 周日,Underfitting&Overfitting,所谓,Underfitting,,即模型没有学到数据内在关系,如下图左一所示,产生分类面不能很好的区分,X,和,O,两类数据;产生的深层原因,就是模型假设空间太小或者模型假设空间偏离。所谓,Overfitting,,即模型过渡拟合了训练数据的内在关系,如下图右一所示,产生分类面过好地区分,X,和,O,两类数据,而真实分类面可能并不是这样,以至于在非训练数据上表现不好;产生的深层原因,是巨大的模型假设空间与稀疏的数据之间的矛盾。,在实战中,可以基于模型在训练集和测试集上的表现来确定当前模型到底是,Underfitting,还是,Overfitting,,判断方式如下表:,21,2025/1/5 周日,PPT,模板下载:,PPT,素材下载:,PPT,图表下载:,PPT,教程:,Excel,教程:,PPT,课件下载:,训练集,/,测试集分布与线上应用环境的数据分布尽可能一致。,3,、特征:利用,Domain Knowledge,进行特征抽取和选择;针对不同类型的模型设计不同的特征。,4,、模型:针对不同业务目标、不同数据和特征,选择不同的模型;如果模型不符合预期,一定检查一下数据、特征、模型等处理环节是否有,bug,;考虑模型,Underfitting,和,Qverfitting,,针对性地优化。,22,2025/1/5 周日,谢谢,M065115114,23,2025/1/5 周日,
展开阅读全文