大话数据科学:大数据与机器学习实战(基于R语言)
上QQ阅读APP看书,第一时间看更新

1.2 系统与模型概念

本节介绍的系统与模型的概念,包括:系统定义,系统成分(目标、实体、属性、活动),一般系统(输入、处理、输出),环境,反馈,黑箱,模型,假定和参数,还有敏感性、稳健性、鲁棒性、过拟合。AI的知识图谱(Knowledge Graph)可以从系统概念开始。

1.2.1 系统定义与成分

系统(system)是一个很普遍的名词,在生活中或学术中无处不在。例如,教育系统、人体系统、神经系统、语言系统、经济系统等。在经济系统中,以物品和服务来交换相等价值的物品与服务,而且利用良好的经济系统,多数人能获得利益或满足需要。

系统有许多不同的定义,比较通常的定义是:一些相关的人、事、物、观念或活动,有其共同的目标,形成一个逻辑性、概念性或功能性的组合。

本书要研究的系统是数据系统。

系统有下列四个成分。

(1)目标(objective):系统要达到的目标,数据系统的目标是价值。

(2)实体(entity):企业系统的实体是资源,数据系统的实体是对象、记录、实例。

(3)属性(attribute):实体的性质或观念,例如,实体的数量、质量、数据(信息)、观念(文化)、技术、状态、关系、结构、因果等。数据系统的属性是“变量”,以数据的属性为主,去分析信息系统。

(4)活动(activity):属性的变化过程,例如,行动、过程、规划、组织、控制。数据系统的活动是建模、分析、评价。

信息系统分析中,面向对象分析(Object-Oriented Analysis)的对象的定义是:对象是系统中特定实体(entity:如汽车,订购单)或有意义的概念(如会计科目),本身存有一组信息来表示对象的现况(属性,状态),同时拥有一组属于该对象的行为(活动或操作),可改变此对象的现况。

信息在实体世界中是属性,在虚拟(数字)世界中是主体,说明了从不同角度看系统,有不同的叙述。管理,除了目标决定很重要,活动的选择就是策略的决策。

统计学的目的(目标)有以下四个。参考《大话统计学》第1章。

(1)了解现象:描述统计是了解数据的呈现与性质。

(2)推测总体:统计检验和估计是推测总体。

(3)知道因果:两个总体检验、方差分析、回归分析是知道因果。

(4)预测未来:时间序列是预测未来。

大数据的目的同上,除了第2项改为:推测总体数据的结构。

电子商务的商业模型有以下四大元素(对照1.1.1节中的IT价值)。

(1)顾客价值定位:顾客价值成长与平台。

(2)利润公式:商业成长。

(3)关键资源:商业经营。

(4)关键过程:商业转型。

前两项是目标,第3项是实体和属性,第4项是活动。

1.2.2 输入,处理,输出与黑箱

系统通常有输入(input),处理(process)和输出(output)。系统实体的相互关系与活动,形成一个转换处理,将输入转换成输出,而达到系统目标。

信息系统的输入、处理、输出,如图1-13所示。在这个图中,除了输入、处理、输出以外,还有目标、反馈与控制、数据与信息、5W1H(Why,What,Who,When,Where,How),以及计划执行考核行动(全面质量管理的PDCA)。

图1-13 信息系统的输入、处理、输出

黑箱黑盒(Black Box),指一个只知道输入输出关系而不知道内部结构的系统或设备。与之相反的是白箱。如果系统的输入和输出已知,但是其处理转换过程没有定义,则称这个系统为黑箱。黑箱的概念应用于信息系统分析与设计,可以先将一些子系统当作黑箱,例如,已经设计好的模块或暂时不要分析的子系统,会使分析工作更容易一点儿。对于有些管理人员或决策者,有些系统(如专家系统)或模型(如数量模型或决策支持系统),只要知道其输入的是哪些数据,输出的信息有什么意义,至于其处理过程不一定要非常清楚,就可以把它当作黑箱。黑箱的概念可使事情简化。科技顾问、软件公司,如果只重视输入输出的包装,例如,很亲切的图形用户接口,而其黑箱的处理没有达到效率或效果,而且不让顾客学习技术,或修改其处理过程,这种黑箱是不好的。

有人说“接口都封装好了,调个包就行”,意思是:将程序“包”封装成黑箱,只要知道输入的接口就行。

学习是不同层次的黑箱,例如,支持向量机分类法,你要懂得支持向量机的概念如超平面与支持向量,那是白箱;然后是核函数的概念,那是灰箱;最后是支持向量机的算法,如对偶题和拉格朗日函数,对于有些人来说,那是黑箱,如图1-14所示。算法程序设计一定要打开黑箱,否则就用“包”。

图1-14 黑箱与学习层次

1.2.3 环境

系统的环境(environment)用于回答以下两个问题。

第一个问题:这个事物对系统目标是否重要或有影响?

第二个问题:系统分析师(或系统决策者)是否能够影响这个事物?

如果第一个问题的答案是肯定的,而第二个问题的答案是否定的,则这个事物是系统的环境。换句话说,环境因素是:①会影响系统的目标;②系统对这些因素的控制能力是有限的或根本无法控制。企业的高阶策略管理,主要是能够进行环境侦测,其重点是:①找出环境中的关键变量,②这些变量是否变动?变动方向如何?变动速度多快?③是否应计划行动方案,以应付变动?环境变动程度越大,越需要环境侦测,而需要信息处理的能力越高、越快速。环境侦测是企业策略规划的重要一环。

系统环境是无法控制的,所以要针对其变化,采取应变措施。现代企业不应该只是适应快速变迁的环境,而是要专注地开创新机会、新环境。环境的变化当然会影响到系统边界的变化,环境变化很大的话,可能使系统消失。换言之,环境变化可能使企业失败或消失。

学习和训练的差别是:学习系统的目标价值是学习者,环境是老师和书本。训练系统的目标价值是训练者(老板、驯兽师),不是被训练者(工人、动物),当被训练者训练完成,就不再成长,而学习者是主动地学习,不断地成长,这就是智能。

1.2.4 反馈

通常系统都要有反馈(Feedback)过程,反馈是为了确保系统的正确操作,相当于管理学中的控制功能。系统的反馈,有下列四个步骤。

(1)根据系统目标定出可接受的输出标准;计划要改善的项目。

(2)设定衡量输出的方法与绩效指标;执行改革项目。

(3)比较实际输出与标准;检查项目改善成效。

(4)采取改进的行动。如果成效显著,将改革结果变成新的作业标准。

这四个步骤,相当于全面质量管理的P(Plan,计划)、D(Do,执行)、C(Check,检查)、A(Action,行动)的循环。

最早的人工智能系统的温度控制就是系统反馈。

机器学习的验证集和评价,第6章介绍的模型评价与选择,就是反馈。

1.2.5 效率与效果

每个系统最重要的问题是,如何去评估衡量系统的绩效。系统观念建议两个主要的绩效衡量:一个是效果(effectiveness),另一个是效率(efficiency)。

引用管理学者Warren Bennis的话来说明效率与效果的差别:“管理者做正确的方法,领导者做正确的事。”(Managers do things right. Leaders do the right thing.)。效率是做正确的方法(Do things right.),效果是做正确的事(Do the right thing.)。炸鸡店的口号“We do chicken right”意思是“我们做鸡肉的方法是对的”。

效果是衡量系统的输出达成目标的程度,因为输出代表系统存在的理由,要有效果就是要做出正确的结果。以生产系统来说,效果是生产正确需要的产品。效率是衡量系统如何使用最少的输入来达到最大的输出。效果是正确的生产方式,效果是正确的生产结果。效果是决定做什么(what),效率是决定如何做(how)。如果生产方针(效果)弄错了,生产(效率)再好、再省钱也没有用。

大数据的分析模型或算法,效率是计算的快速,例如,关联分析的Apriori计算频繁项集和关联规则。而FP算法或Eclat算法,如果比较快但计算结果相同,这就是效率。效果是计算结果的正确性,例如,准确结果的分类,较好的聚类分群,有价值意义的规则,正确的预测结果。

1.2.6 模型与建模

系统方法重要的是建立模型(Model),简称建模。因为真实系统通常是错综复杂的,不能重复实验的,或者是未知的。所以,我们要先在模型上研究出最好或较好的决策方案,然后再实施于实际。系统难以进行分析及解决问题,因此必须把系统简化。所以模型就是系统的简化、抽象化,它是系统的一个表达方式,而不利用到系统本身。模型是为了研究系统,将系统中的目标、实体、属性、活动、输入、处理、输出等关系描述出来。因为系统简化的程度不同,所以系统的模型不是唯一的。例如,地图就是实际系统(城市)的一个模型,地图有不同程度的简化(只有高速公路的地图,只有干道大马路的地图,大街小巷都有的地图),例如,在地图上的“+”和“-”。为了不同的研究而有不同的模型,同时每次反馈(评价)也可能修改模型。

第6章模型评价给出了模型复杂度,复杂模型(地图)偏差小但是推广泛化能力差。

所以模型是系统的一个代替、简化、抽象或仿真,以便说明系统,甚而在模型上找答案以解决实际系统的问题。

图形、表格、公式、画板等都是模型,我们通常在模型上做分析,而不在真实系统上做。因为在实际系统上做实验,是很昂贵或不可行的。模型可以进行“若这样会如何”(what-if)的模拟,以实验数种工厂布置的方案。

知识表达的方法,可以归纳为:层次图、坐标图、矩阵图、网络图。例如,新旧品管QC七大工具(手法),其中,鱼骨图(或称石川图、因果图、特性要因图)就是层次图,中间的大骨头是最上层,各个细骨头是层别。大数据的分析模型有:层次图(聚类)、坐标图(回归)、矩阵图(贝叶斯、混淆矩阵)、网络图(类神经网络)。大数据的模型输出有各种可视化图形。

模型运用的过程包括:建立模型、模型求解、得到解答,如果不满意解答,则修改模型,重复上述阶段,如果满意解答,则执行解答决策与实施控制。Simon的理论中,决策过程分为理解、设计、选择和实施四个阶段。图1-3所示的跨行业数据挖掘标准过程 CRISP-DM也是一个建模过程。

如图1-15所示为模型应用的概念图,水平是从真实到抽象,垂直是从叙述到方法。建立模型要了解系统,形成问题,知道其前因后果。建立模型没有标准答案,艺术多于科学(客观),所谓艺术是指有很多个人的主观感觉、经验和判断。在模型处理阶段,是找出模型的解答,这还不是系统的解答。经过决策者选择或确认解答,在实际系统实施解答(布署决策)。如果发现解答不合乎系统,要修改模型,再找新的决策,这是评价反馈或维护。

图1-15 模型与建模

R语言通常用model、m或fit表示模型。例如:

     > m <- lm(y ~., data) # m是数据data因变量y的线性模型

1.2.7 模型的假定与参数

模型的假定(Assumption)是模型的约束条件(如变量的线性关系),或假定条件(随机变量的正态、独立、相同分布或相等方差)。

模型中的参数(parameters)是已知确定的(输入的参数)、未知的常数(输出的参数)或模型调整的数值(模型处理的参数)。

作业研究(运筹学)的线性规划模型的参数是已知确定的(敏感性分析考虑变动),例如:

Max cTx,s.t.Ax ≤ b,x ≥ 0

目标线性函数和约束条件的系数c,A,b是输入的参数,称为I参数(Input)。

统计学模型的参数是未知的常数,例如,总体均值、方差、比例值、相关系数、回归系数等,是统计学模型要估计或检验的对象,这是输出的参数,称为O参数(Output)。

大数据机器学习的参数有算法的参数,是处理模型的参数,称为超参数。例如,随机森林的树的数目、树的深度等。关联分析的阈或阈值,临界值或门坎值,是模型的算法参数。阈值(threshold)是令对象发生某种变化,所需的某种条件的值,称为P参数(Process)。

调优参数(tuning parameters)是调整模型参数,例如,逻辑回归损失函数中惩罚的正则化强度(regularization strength),或决策树分类器最大深度的设置值,都是P参数。

6.4.1节和8.1.3节参数学习与非参数学习,简单的说,参数学习是固定的O参数(参数数目不因样本量而变动),非参数学习是变动的P参数。

模型参数则是学习算法拟合训练数据的参数,例如线性回归直线的加权系数(或斜率)及其偏差项(y轴截距)是模型O参数。

超参数需要在算法运行之前就手动给定,如knn中的k,而模型参数可以由算法自动学习到。逻辑回归模型中,模型参数就是数据集中每个特征变量的权重系数,该系数可以最大化地对数似然函数或最小化损失函数自动更新,而超参数则比如是迭代次数,或基于梯度的优化中传递训练集的次数。另一个超参数是正则化代价cost参数C的值。

R语言支持向量机的:包::函数(公式,数据,控制参数,…),如下:

1.2.8 敏感,稳健或鲁棒

模型中的I参数变动,则最优解的变动情形,就是敏感性分析,即“若…则…”(what-if)分析。

稳健鲁棒(robust)模型是,虽然系统的真实情况不符合模型的假定条件,但是模型的解答与系统的实际解答相去不远,即模型解答可行而目标值误差不大,所以稳健鲁棒模型的适用范围较广。

如果模型的假定条件不符合,造成模型的解答结果完全不对,或是I参数改变,解答就差别很大,我们就称这个模型的敏感度(sensibility)很高。敏感度很高,通常是不好的。

鲁棒是Robust的音译,其意思是稳健的,不敏感的。“鲁”是不敏感,“棒”是稳健的。在数据挖掘中,有时会探讨模型是否有鲁棒性。

1.2.9 模型的过拟合

过拟合(Overfitting)是大数据模型的一个重要的问题,这是过度考虑训练数据拟合模型,结果造成模型测试和预测的方差很大,泛化很差。

假设在欧洲某国家打车,开车是一青年男性,结果他抢劫了财物,结论是:全欧洲出租车的师傅都是会抢劫财物的男性,这就是过拟合。因为用一个极端案例的特征变量建立预测模型。如果见到一个女性,你会判定他不会是出租车师傅更不会抢劫,于是错误率就会很高。

用武侠小说来比喻,过拟合可以说是 “招式用老”(用招过度),太多算计对手的招式,等到新招式(测试数据)出来的时候就不对了。请见第6章模型的选择。

模型的各种拟合如图1-16所示。

图1-16 模型的拟合

过拟合会造成模型的预测结果的方差很大,造成不稳定的结果,而且使测试数据的预测结果正确性降低。

过拟合是低偏差、高方差(见第6章偏差与方差),比较容易在机器学习中出现。过拟合发生的原因如下。

(1)较多的变量。增加O参数(相当于增加变量)。

(2)记忆特别案例(完全拟合训练数据),将“噪声”当作“信息”。

(3)P参数的设定,近邻法的k很小或等于1。

(4)较多的自由度,例如多元回归 SSR的自由度,也就是越多的自变量。

(5)复杂模型,如神经网络。

所以,要改变过拟合要尽量做到如下几点。

(1)减少变量。减少O参数。

(2)增加训练数据。

(3)不依赖特别案例。

(4)去除杂音异常值(噪声)。

(5)控制P参数。

(6)简单模型,正则化在模型的成本函数中加上P参数的惩罚项。

正则化在处理过程中引入正则化因子,增加约束的作用,使用正则化的Lasso或Ridge回归,可有效降低过拟合的现象。请见第7章。