数据科学导论 课件 第7章 从结构化数据中挖掘价值_第1页
数据科学导论 课件 第7章 从结构化数据中挖掘价值_第2页
数据科学导论 课件 第7章 从结构化数据中挖掘价值_第3页
数据科学导论 课件 第7章 从结构化数据中挖掘价值_第4页
数据科学导论 课件 第7章 从结构化数据中挖掘价值_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章从结构化数据中挖掘价值7.1机器学习概述什么是机器学习

从学习的角度来探究建模过程是非常有意义的。所谓“学习”,就是人类通过观察、积累经验,掌握某项技能或能力。机器学习(MachineLearning),顾名思义,就是让机器(计算机)也能向人类一样,通过“观察”大量的数据和训练,发现事物规律,获得某种分析问题、解决问题的能力。可以看出机器学习与人类思考的经验过程是类似的,不过它能考虑更多的情况,执行更加复杂的计算。机器学习算法分类

有监督机器学习是从有标签的数据样本(x,y)中,学习如何将x关联到正确的y,即建立模型。这过程就像是模型在给定题目的已知条件(特征x)和参考答案(标签y)的前提下学习,借助标签y监督纠正,模型通过算法不断调整自身参数以达到学习目标。

无监督机器学习从无标注的数据(x)中,学习数据的内在规律。这个过程就像模型在没有人提供参考答案(y)的前提下,完全通过自己琢磨题目的知识点,对知识点进行归纳、总结。

机器学习算法分类强化机器学习不使用任何训练数据,而是从经验中来学习,在不断地试验和错误中强化学习的回报。这种学习一般周期比较长,从某种程度可以看作是有延迟标签信息的监督学习,是指智能体在环境中采取一种行为,环境将其转换为一次回报和一种状态表示,随后反馈给智能体的学习过程。机器学习算法分类

数据挖掘算法称为传统的机器学习算法,通常面向行业的结构化数据,如CRM或ERP数据库里面的数据,体现出算法结果与商业问题的密切相关性。这样传统的机器学习算法只有有监督和无监督学习两类。按照应用方向进行进一步分类,大多数数据挖掘项目可以归类到这几类任务中,这些任务与商业问题关系密切,进一步和用户画像及用户标签联系起来,更体现数据价值转换为商业价值的重要性。机器学习的要素及流程任何机器学习(数据挖掘)算法都可以用要素图。虽然不同的商业目的会有不同的任务(待解决的问题),而核心算法部分则有四个关键要素:即数据、模型、目标函数、优化算法。掌握这几个要素,可以更好地理解各种算法的共性所在,而不是孤立地去理解各式各样的算法。机器学习的要素及流程(1)数据是机器学习方法的基础原料,结构化数据由一条条数据(一行一行)样本组成,样本由描述其各个维度信息的特征x及目标值标签y(或无标签)构成。(2)得到“好”的模型是各类算法的直接目标,即通过训练数据(从历史数据中学习)得到数据特征内部的规律的一个函数。算法的具体步骤是:首先选择某个模型方法,再通过从数据样本(x,y)中学习,优化模型参数w以调整特征的有效表达,最终获得对应的决策函数f(x;w)。该函数将输入变量x在参数w作用下映射到输出预测y,即Y=f(x;w)。机器学习的要素及流程(3)“好”是模型的学习目标。“好”对于模型也就是预测值与实际值(在监督学习中)之间的误差尽可能的低。具体衡量这种误差的函数称为目标函数(或损失函数),意旨通过以极大化降低损失函数为目标去学习模型。对于不同的任务目标,往往也需要不同损失函数衡量。经典的损失函数如:回归任务的均方误差及分类任务的交叉熵等。(4)有了极大化减低损失函数为目标去学习“好”模型,而如何达到这一目标?通常第一反应可能是直接求解损失函数的最小值的解析解,获得最优的模型参数。这在大数据面前往往是行不通的,可以通过优化算法(如梯度下降法、牛顿法等)有限次迭代完成。机器学习中的“哲学”思想(1)PAC学习理论:同等条件下,模型越复杂泛化误差越大。同一模型在样本满足一定条件的情况下,样本数量越大,模型泛化误差越小,因此还可以说“模型越复杂越吃样本”。(2)没有免费午餐定理:对于基于迭代的最优化算法,不存在某种算法对所有问题都有效。也就是说,不能脱离具体问题来谈论算法的优劣,任何算法都有局限性,必须要“具体问题具体分析”。没有免费午餐定理对于机器学习算法也同样适用,不存在一种机器学习算法适合于任何领域或任务。在面对一个具体问题的时候,尝试使用多种算法进行对比试验是必要的。机器学习中的“哲学”思想(3)丑小鸭定理:“丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大”。这个定理初看好像不符合常识,但是仔细思考后是非常有道理的。因为世界上不存在相似性的客观标准,一切相似性的标准都是主观的。丑小鸭定理强调:任何客观判断并不客观,全都带有主观偏见。(4)奥卡姆剃刀定理:“如无必要,勿增实体”。奥卡姆剃刀的思想在机器学习上对应的原则是:简单的模型泛化能力更好。如果有两个性能相近的模型,应该选择更简单的模型。

机器学习中的“哲学”思想在学习“机器学习”算法时我们会慢慢发现其实算法思想的精髓是无处不在的妥协。如“统计学习”和“机器学习”之间的区别也是一种妥协:统计学习模型可解释性强,而机器学习追求有效性。无处不在的妥协体现在:“可解释性”与“有效性”的妥协、“模型精度”和“模型效率”的妥协,“欠拟合”和“过拟合”的平衡等等。大部分科学走到一定程度都是妥协,都有妥协带来的美感。

第7章从结构化数据中挖掘价值7.2监督回归–线性与非线性线性回归

在日常生活中,常常会碰到目标量为连续型的预测问题,例如收入预测、销量预测和商品库存预测等。这种问题称为回归问题,它是一种典型的有监督学习方法。假设模型的输入数据为d维向量x,输出y为连续型。回归模型等价于寻找一个函数f,建立x到y的映射关系y=f(x)。想一想7.1:“回归”的含义统计学中的“回归”一词是统计学家高尔顿引入的。早在19世纪80年代,高尔顿就开始了亲代与子代(即父母亲与子女)之间相似特征(身高、性格等)的研究。他收集了1078对夫妇的身高x与成年儿子的身高y的数据组成数据对,并做出了散点图,发现y与x的关系可以借助一次函数来近似表示为y=33.73+0.516x,即总体上亲代的身高增加,子代的身高也增加。多元线性回归

身体质量指数BMI(BodyMassIndex)是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。计算公式为BMI=体重÷身高2(体重单位为千克,身高单位为米)。以BMI预测患糖尿病可能性为例,根据最优解判断得到的“好”模型的示例为:Diabetes=-7.38431+0.55593*BMI

线性回归模型具有很好的可解释性,可用于驱动力分析,即某个事件“发生与否”受多个因素影响时,分析不同因素对事件发生驱动力的强弱。

线性回归模型可以扩展为采用多个输入特征。例如为了将上述模型扩展为包含运动时间Exercise和体重Weight特征作为输入变量,此时回归模型的结构变为多元线性回归:Diabetes=w0+w1*BMI+w2*Exercise+w3*Weight技术洞察7.2:回归建模背后的底层逻辑回归模型的构建可以理解为:首先根据先验知识,选择模型类型为一元线性方程y=a1+a2x,模型参数的确定可以理解为在不同a1与a2组合下的误差计算。如果a1与a2在a1{-20,-40}及a2{-5,+5))范围内取值,可生成250个不同组合,对应不同(a1、a2)的250条直线,从中选择出最小误差的拟合直线是y=4.220822+2.051533x。

最小的拟合直线(“好”模型)误差平方和最小的10组参数及对应的拟合直线:损失函数最小化

由于在回归分析(建模)中,回归函数的参数最初是未知的,估计这些参数相当于搜索最佳拟合数据的直线。具体估计策略是先猜测参数值,然后迭代更新参数,以减少对数据集拟合的整体误差,最终获得目标函数最小时的参数取值。

在机器学习中,由于损失函数(或目标函数)较复杂,无法得到解析解,需要采用类似迭代的方法,通过求解损失函数最小化得到的一组参数,这就是线性回归的最优解。技术洞察7.3:模型参数的“迭代优化”-梯度下降法

梯度下降算法可以直接理解成一个下山过程,将损失函数J(w)比喻成一座山,算法的目标是到达这座山的山脚(即求解最优模型参数w,使得损失函数为最小)。算法要做的无非就是“往下坡的方向,走一步计算一步”,而下坡的方向也就是J(w)负梯度的方向(切线变化率最大的方向)。在下走到一个位置的时候,继续求解当前位置的梯度,然后沿着这一步所在位置的最陡峭最易下山的位置再走一步。这样一步一步的走下去,一直走到山脚。回归分析的优缺点回归分析的优点包括:(1)简单易用。回归分析的基本原理简单易懂,它是一种非常容易上手的分析技术。它可以帮助用户快速识别变量间关系,甚至在定性变量和定量变量的情况都能成功应用。(2)适应各种数据类型。回归分析利用所有可用的数据,无论是类别型变量还是有序变量,甚至是定量变量,都可以纳入到回归方程中。(3)准确性。回归分析很好的处理了多变量和多重关系的问题,以更准确的预测实际效果。此外,它允许用户添加和删除变量,这有助于有效地比较不同的模型。

回归分析的优点回归分析的缺点包括:(1)异质性问题。回归分析容易受到异质性操纵,如果样本并不具有一致性,则模型估计会出现偏差。所以异质性一般要进行检验/校正或忽略。(2)虚假变量。线性回归假设模型中的所有自变量是独立的,这种假设不一定总是成立,当存在潜在的虚假变量时,其结果可能会受到虚假变量的影响,从而对可靠性带来负面影响。(3)多重共线性。多重共线性发生时,可以使得相关系数偏大,即结果中的平方估计值准确性可能会受多重共线性影响而变为不可靠,对最终结论也会产生影响。(4)模型偏差。在使用回归分析时,如果选择的数据缺少相关变量,则模型会失去准确性;线性回归分析还受制较多假设,只要某一假设不满足,整个模型估计的准确性也会受到影响。

应用案例7.1:FICO信用分(美国征信体系的)是怎么来的FICO评分系统得出的信用分数范围在300~850分之间,分数越高,说明信用风险越小。FICO计算就是基于监督学习中的回归预测模型。根据经验判断,与个人信用相关的5个重要因素包括:付款记录A账户总金额B信用记录跨度C(自开户以来的信用记录、特定类型账户开户以来的信用记录…)新账户D(近期开户数目、特定类型账户的开户比例…)信用类别E(各种账户的数目)据此构建的一个简单的模型为:Y=f(A、B、C、D、E)。Y为模型的输出,即信用状态(信用分)。f可以简单理解为一个特定的公式,这个公式可以将5个因素跟个人信用分形成关联。建模的目标就是得到f这个公式具体参数是什么,这样只要有了一个人的这5种特征数据,就可以得到一个人的信用分数。模型的泛化及优化

所谓泛化是指机器学习模型在没有遇见过的样本时候的表现。不管训练集上表现如何,只有在新的未知的样本集上有较好的表现,模型才是真的好,这就是模型的泛化能力。泛化能力差可能体现在过拟合和欠拟合两个方面。

过拟合(Overfitting)是指一个模型在训练数据上能够获得比较好的结果,但是在测试数据集上却不能很好地拟合数据,其原因是模型过于复杂。反之,欠拟合(Underfitting)是指模型在训练数据上不能获得更好的拟合,并且在测试数据集上也不能很好地拟合数据。

模型的泛化及优化

解决模型泛化问题可以通过从源头入手(如特征工程)或者从评价入手(核函数、正则化)两方面入手。

欠拟合原因是学习到数据的特征过少,解决办法包括添加其他特征项、添加多项式特征,即将线性模型通过添加二次项或者三次项使模型泛化能力更强。

过拟合原因往往是原始特征过多,存在一些嘈杂特征,模型过于复杂致使模型尝试去兼顾各个测试数据点,解决办法包括:重新清洗数据、减少特征维度,防止维灾难、增大数据的训练量,在目标函数中加入正则化约束项等。

技术洞察7.4:什么是“正则化”

在模型优化方面,为了提高预测的准确度常常从已知的特征中提取更多的新特征,以此搭建复杂的模型,这样往往会引起过度拟合,其原因是引入了过多的特征,即该特征的系数真实值等于0,但系数的估计值与0相差很远。既然这是一个由数学公式引起的瑕疵,那么可以从数学上增加限制,使那些本该等于0的参数估计值尽量往0靠。为了达到这个目的,可以在原有的损失函数里加入惩罚项(或者叫做正则化项),即将损失函数改成如下形式:上式中的第二项为惩罚项,其中α表示惩罚的权重,可以看到α>0时,惩罚项会随着参数绝对值的增大而增大,模型参数绝对值越远离零惩罚就越大。模型的评估

机器学习是一种数据驱动型的建模方法,可以根据已知数据进行模型评估并进一步优化。对于有监督学习,在建模过程中一般将数据集划分成训练集(Trainset)、测试集(Testset)、验证集(Validationset)或者只划分成训练集和测试集。训练集是用来训练模型时使用的,模型训练好之后并不知道它的表现如何,这个时候就可以使用验证集来看看模型在新数据(验证集和测试集是不同的数据)上的表现如何。同时通过调整超参数(超参数通俗的讲就是在训练前必须设定的参数),让模型处于最好的状态。对超参数调好后的模型,即通过测试集来做最终的评估。第7章从结构化数据中挖掘价值7.3监督分类–目标明确、八仙过海逻辑回归

假设要解决二分类问题,即预测目标y的取值为“0”或“1”,显然线性回归不能直接解决这类问题。那么怎么能够利用回归的方法进行分类呢?伟大的数学家已经为我们找到了一个方法,也就是把y的结果带入一个非线性变换的Sigmoid函数中,即可将连续型的输出映射到[0,1]之间,这类使用函数变换后的回归方法为逻辑回归。

可以将逻辑回归中的输出看成是一个概率值,进一步假设分类的阈值是0.5,那么超过0.5的归为“1”分类,低于0.5的归为“0”分类,这里阈值是可以人为设定的。

想一想7.2:空间变换-从非线性到线性

从直观上来讲,二元选择问题不能用线性回归模型解决的原因是数据并没有大致分布在一条直线周围,而是呈链条彼此分开的直线状(如上下黑色圆点链条。但如果形象地把原空间想象成橡皮泥,握住变换函数Sigmoid曲线的两头,用力将其拉成直线,就得到了新空间。在新的空间里,代表数据的黑点就几乎在一条直线上了。换句话说,在新的线性空间中,线性回归模型就可以很好地拟合数据了。应用案例7.2:逻辑回归预测广告点击率广告点击率CTR预估问题其实是一个二分类预测问题,线性预测可以直观地反映出各个变量在预测中的权重,大约70%的CTR模型都是采用逻辑回归模型。在实际的广告系统中,其实有非常多的因素(特征)影响广告的点击率,主要分为三大类:广告特征(Advertiser):广告创意、广告的表现形式、广告主行业等。用户特征(User):人群属性、年龄、性别、地域、手机型号、WiFi环境、兴趣等。上下文信息(Context):不同的广告位、投放时间、流量分配机制、频次控制策略等。对于复杂多样的数据特征,建模之前需要开展特征工程,这样可以保证特征更好地在算法上发挥作用。将处理过的特征带入建模代码中,再经过模型评估及优化即可得到逻辑回归模型,达到预测点击率CTR的目的,如预测值是0(分类为不点击),其概率是0.9248,那么可以推出分类为1(点击)的可能性就是1-0.9248=0.0752,即点击率约为7.52%。支持向量机

支持向量机(SupportVectorMachine,SVM)是经典分类中最流行的方法,图7.9为两类样本点的示例,对其进行分类就是找到两类样本点的边界。其实完成该分类任务的决策边界(向量)有无数个,而SVM模型要求更高一些,它不仅仅希望把两类样本点区分开,还希望找到鲁棒性最高、稳定性最好的决策边界。

支持向量机

支持向量机背后的想法很简单,即试图在数据点之间画两条线,使二者之间的间隔最大,即这个决策边界与两侧“最近”的数据点有着“最大”的距离,这意味着决策边界具有最强的容错性,不容易受到噪声数据的干扰。

决策树–基于规则

人们每天都面临各种决策,如几点起床、吃什么早餐、做什么工作、和谁沟通、喜欢谁,追求谁等等。决策困扰着每个人。同理,企业也出处面临决策。举例来说,在银行贷款时,银行也需要根据借款人的基本信息如收入、教育程度、婚姻状态等对是否放贷进行决策。采用决策树(Decisiontree)模型是一个较好的选择。

决策树–基于规则

决策树是一个十分有趣的模型,它的建立思路是计量模拟人做决策的过程。因此,决策树与替他大多数机器学习模型不同,它几乎没有任何数学抽象,完全通过生成决策规则来解决分类问题,以达到每类别的样本尽可能具有“相同”的特征。

决策树生成的核心问题就是如何选择分离节点(特征)及特征分裂点的判断,通常采用“不纯度”来度量落在当前节点样本的类别分布均衡程度。决策树确定分裂节点的目标是使得节点分裂前后,样本的类别分布更加均衡,也就是不纯度需要降低。衡量样本分布的均衡程度的指标有节点的Gini指数、信息熵、交叉熵、误分率等。

决策树–基于规则

决策树生成后转换成IF-THEN规则集合就是决策树模型(DIKW模型中知识K),这一结果使得决策树模型具有直观、可解释性较好等优点,特别是在商业决策时方便于转化为可以执行的方案。决策树广泛应用于诊断、医药和金融等“高责任”领域,例如医生给病人看病,医生会根据病人的最初检查结果,经过问询通过最重要的几个指标(分裂节点的特征)诊断病情,这在很多领域都有经典的应用。应用案例7.3:泰坦尼克号上的生还预测朴素贝叶斯–基于概率

试一试7.1:胜率几何–小明能抢到票吗?

假设能否抢到票(预测标签量)与“电脑熟练程度”、“是否使用抢票软件”和“网速”三个因素(特征)有关,根据以下6次抢票记录,如果小明条件是“一般熟练|不用工具|网速适中”,那么他能抢到票的概率是多少呢?朴素贝叶斯–基于概率

分类模型评价及优化

分类模型最基本的评价方法是混淆矩阵,对于二分类问题的混淆矩阵如表7.3所示。混淆矩阵也称误差矩阵,混淆矩阵的四个基础项分别是:真正例(TP)、真反例(TN)、假正例(FP)、假反例(FN)。根据混淆矩阵得出的分类模型常用的二级评估指标包括准确率、精确率、灵敏度与特异度。想一想7.3:智慧决策到底做什么?一般来说精确率(又称查准率)与灵敏度(又称查全率、召回率)是一对矛盾的度量。假设预测模型的目的是预测一批100名顾客是否会购买某种产品,两种分类算法得到的结果不同,用混淆矩阵表示为以下两种情况。请按照上述公式分别计算出结果精确率(查准率)和灵敏度(查全率)的结果,并根据结果判断那个算法比较好。如果这个算法是预测病人是否有可能得癌症(Positive为正常人,Negative为疑似患者),又应该如何判断算法的好坏呢?集成算法

在实际机器学习应用时,尽管各种单一算法非常有效,但其背后的想法过于简单,所以往往采用集成算法。如果你用一堆低效的算法,强迫它们纠正彼此的错误,那么一个系统的整体质量甚至会比最好的单个算法还要高。堆叠(Stacking)集成算法

在实际机器学习应用时,尽管各种单一算法非常有效,但其背后的想法过于简单,所以往往采用集成算法。如果你用一堆低效的算法,强迫它们纠正彼此的错误,那么一个系统的整体质量甚至会比最好的单个算法还要高。套袋(Bagging)随机森林(动画)集成算法

在实际机器学习应用时,尽管各种单一算法非常有效,但其背后的想法过于简单,所以往往采用集成算法。如果你用一堆低效的算法,强迫它们纠正彼此的错误,那么一个系统的整体质量甚至会比最好的单个算法还要高。助推(Boosting)第7章从结构化数据中挖掘价值7.4非监督探索–自学成才聚类–物以类聚、人以群分

聚类(Clustering)是对数据集进行样本“分群”的过程,每个组群称为一个“簇(Cluster)”,每一个“簇”内的样本对应一个潜在的类别。需要注意的是虽然样本中没有标签,但数据本身也包含很多有用的信息,很值得用模型去分析和学习。因此聚类是一种典型的无监督学习任务,这种非监督学习模型能在没有“明确答案”的情况下,“学习”数据中的相关关系,并由此猜测“可能的答案”。

聚类模型中的“簇”应满足以下两个条件:相同簇的样本之间距离较近;不同簇的样本之间距离较远。K-means聚类算法是一个十分简单的聚类算法,它试图找到特征相似的对象,并将它们合并到一个聚类中。数据的相似度通过距离来判

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论