申请评分卡用于评估用户的信用风险,通常假定申请借款的正常用户是工作状态稳定,但短期资金紧张而提出贷款需求,并有还款意愿的人。因此,结合现有数据找到可以衡量借款人的状态评估指标、还款能力指标、信用状态指标和还款意愿指标,就可以综合评估借款人的未来行为趋势。
1.状态评估指标状态评估指标变量来源于借款人的基本信息,如婚姻状态、工作时间、住址、年龄等。一般认为,工作时间长的用户较工作时间短的用户更稳定,其还款的可能性也更高;已婚的用户比未婚的用户更稳定,还款的可能性更高;而本地的常住用户比非本地的用户稳定性更高等。
2.还款能力指标
还款能力指标来源于借款人的基本信息和个人征信信息,如月收入、职位、行业、教育背景、房产状态、私家车状态、已产生借贷情况等。一般认为,高收入借款人比低收入的借款人更容易还款;有房产的借款人比租住的借款人更容易还款;有多种借贷行为的借款人的偿还负担会更大,还款的可能性会降低等。类似的特征都可以作为还款能力的判断指标。
3.信用状态指标
信用状态指标来源于个人征信信息与第三方信息,包括信用卡逾期情况、信用额度、贷款状态、贷款逾期情况、缴费情况等。如信用卡出现过严重逾期情况的借款人更容易在本次借贷中产生逾期;有过贷款逾期行为表示信用状态有问题,可能不会按期还款。
4.还款意愿指标
还款意愿指标比较抽象,分为主动还款意愿与被动还款意愿。主动还款意愿指借款人的人品、道德水平等,往往很难衡量,一般会通过面签或客户回访 (电话回访确认信息) 环节进行评估,但很难量化,只能通过上述3个指标进行间接量化。被动还款意愿是指借款人的违约成本,这依赖于目前政策授予平台的权利约束,如平台是否有添加失信人的权利。变量衍生是在原始基础变量中衍生与业务相关的变量特征,这往往需要较强的背景知识与分析经验。例如,在还款能力指标中,可以衍生比例类特征,即以每月的固定还款额 (已有房贷或车贷的月供) 与月收入的比值作为特征,比值越高的借款人风险越大,也可用借款额度与月收入的比值以及每月信用卡消费与收入的比值作为特征等。还可以计算负债比值,即以信用卡和各类贷款的总和除以月收入,这个比值反应借款人的还款压力指标,一般不要超过22。
当然,很多高级模型是可以自动进行特征组合的,比如后面介绍的FM因子分解机、神经网络、决策树、深度学习等。但这些由模型产生的特征组合方式并未经过人的经验指导,特征的可解释性较差。在模型优化前,要进行大量的变量衍生,对提高模型的准确性是非常有用的。变量衍生的思路是通过基本变量之间的相乘或相除来实现的,而变量之间的相加或相减只是一种线性组合的方式,对模型提升没有本质意义。
数据集成
将多个数据源的数据构成一个统一的数据结构或数据表的过程。如果不同数据源有结构化数据与非结构化数据,数据集成时要统一转化为结构化数据,并存储在一个数据库或数据表中,以备后续模型开发时使用。
(1) 基本信息数据可以反映借款人的资质、还款能力与稳定性信息,如借款人的年龄、性别、学历、收入、工作年限、工作单位、单位性质、是否有车、住房类型 (自有住房、租用等) 等信息。(2) 信用数据可以反映借款人的历史信用状态与负债情况,如征信数据与社保数据。征信数据如借款人信用卡逾期情况、房贷情况、车贷情况、其他借记卡逾期情况及其他负债情况等;社保数据如社保缴费基数、缴费单位及缴费年限等。(3) 消费数据可以反映借款人的经济实力,如借款人的月消费金额、购买产品类型等。(4) 行为数据可以反映借款人的真实行为轨迹,如借款人的行为轨迹、入网地点和上网习惯等。
- 数据完整性
- 数据一致性
- 数据唯一性
数据清洗:
即清除“脏数据”的过程,包括数据源自身与数据集成后产生的数据格式不一致、单位不一致、数据冗余等问题。
- 特殊字符清洗
- 数据格式转换
- 数据概念统一
- 数据类型转换
- 样本去重
探索性数据分析:
是通过计算简单的统计量或用绘图的方法快速理解原始数据
的形式,进一步了解数据,为特征工程提供参考,如可以观察数据中缺失值的情况、异常值的情况和变量分布等信息。
1.数据范围
变量分为离散变量与连续变量,在数据集成与数据清洗完成后,需要确定原始数据中变量的性质,即区分离散变量与连续变量。最简单的方式可以通过观察原始数据的前几条记录进行手动区分,当然也可以自动区分变量性质,如将数据读取成功后,判断数据类型,将整型或浮点型的数据直接划分为连续变量,而数据类型为字符串的为离散变量,如果为日期类型则分为日期变量。[插图]注意:有时,日期变量由于数据集成时采用了不同的数据源,也会出现是字符串类型的情况。因此,需要人为校验变量性质区分是否存在问题,如果不合理则需要进行修正。变量性质区分完后,需要直观地观察变量的取值范围。例如,离散变量需要观察变量的可能取值,连续变量可以计算简单的统计值,如均值、方差、最大值、最小值和分位数等。
2.数据缺失情况
不同数据源自身的数据覆盖率问题导致了不同程度的数据缺失情况。另外,在数据集成时也会产生缺失值,因此需要确定每个变量的数据缺失情况,对于数据缺失严重的变量应删除。注意,在评分卡建模中,缺失值是一种非常重要的特征,往往不需要进行缺失值填补,而应直接作为特征进行变量编码或先分箱后编码,而其他领域中的缺失值需要填补才可以满足机器学习模型的输入要求 (只有少部分模型不需要处理缺失值可以直接建模,如决策树模型) 。缺失值填补的方法很多,如均值填补、中位数填补、随机森林模型填补等。缺失值填补是数据预处理部分的工作,评分卡模型会将缺失值作为特征进行处理,因此,这里对缺失值填补的数据预处理方法不做重点介绍。
3.异常值分析
异常值也是影响模型效果的重要因素。异常值是指偏离正常范围的样本,如大部分借贷人的月收入为8000元,而某个借贷人月收入为10万元,则该样本可能存在问题。另外,如果选择的机器学习模型或模型选择的损失函数对异常值敏感,则模型会过多地关注异常值而出现过拟合问题,导致其模型的泛化能力会显著降低。例如线性回归模型、Adaboost模型、神经网络模型等都是异常值敏感的。只有连续变量才需要处理异常值。在评分卡建模中,如果采用传统的评分卡建模方法,则异常值不需要处理。连续变量先进行分箱处理,变量分箱可以将异常值作为一箱,然后再进行变量编码。如果连续变量不采用变量分箱的方法,则需要进行异常值截断,以减少异常值对模型的影响,同时,可以衍生一个异常值表示特征,如增加一个二值特征,即变量中是异常值时该行取值为1,不是异常值时该行取值为0,增加一个衍生变量
4.变量分布情况
评分卡模型是一个分类问题,并且为二分类问题。因此,对于离散变量可以观察在变量的不同取值上好坏样本的比例,如坏样本占比,进而分析该离散变量中坏样本率较高的是哪种变量取值。对于连续变量,可以按照好坏样本分组,并对比好坏样本中的变量分布情况。另外,可以观察变量的分布是否极度不均衡,如离散变量中某一个变量的可能取值占总样本的90%,则可以删除该变量。
数据预处理:
对缺失值、异常值等“脏数据”进行处理的过程。由于大部分机器学习模型不支持缺失值建模或对异常值敏感,缺失值与异常值会影响模型效果,因此,数据预处理是非常必要的,可以保证模型的准确性
变量分箱
变量分箱对模型的好处
(1) 降低异常值的影响,增加模型的稳定性。数据中存在异常值时会使模型产生一定的偏差,从而影响预测效果。通过分箱方法可以降低异常值的噪声特性,使模型更稳健。树模型对异常值不敏感,但Logistic回归模型和神经网络对异常值敏感。
(2) 缺失值作为特殊变量参与分箱,减少缺失值填补的不确定性。通常由于某些原因造成某些特征 (字段) ,训练数据出现缺失值的情况,如用户录入错误、操作人员的失误或数据存储的问题。而大部分机器学习模型都是无法处理缺失值的。树模型可以处理缺失值,但对实际有缺失值的变量不会起到很大作用,比如决策树模型在树的构建过程中,如果遇到有缺失值的变量,在计算信息增益或Gini系数时会忽略缺失值,用非缺失值计算一个值,再将缺失值的比例作为一个影响因子考虑进来,但是对有缺失值的样本做出的判断并不准确。所以无论是树模型还是其他模型,缺失值填补的工作必不可少。缺失值造成的原因不可追溯,插补方法也不尽相同,但如果能将缺失值作为一种特征,则会免去主观填充带来的不确定性问题,可以增加模型的稳定性。而分箱方法可以将缺失值作为特殊值参与分箱处理。通常的做法是,离散特征将缺失值转为字符串作为特殊字符即可,而连续特征将缺失值作为特殊值即可,这样,缺失值将作为一个特征参与分箱。
3) 增加变量的可解释性。分箱的方法往往要配合变量编码使用,这就大大提高了变量的可解释性。通常采用的编码方式为WOE编码,具体编码方法已在第5章中详细介绍过。本章将介绍的分箱方法有Chi-megerd方法、Best-KS方法、IV最优分箱方法和基于树的最优分箱方法。
(4) 增加变量的非线性。由于分箱后会采用编码操作,常用的编码方式有WOE编码、哑变量编码和One-hot编码。对于WOE编码,编码的计算结果与目标变量相关,会产生非线性的效果,而采用哑变量编码或One-hot编码,会使编码后的变量比原始变量获得更多的权重,并且这些权重是不同的,因此增加了模型的非线性。[插图]注意:WOE编码和One-hot编码在Logistic回归模型中本质上是相同的,WOE编码并不会显著提高模型的预测效果,它只是一种将分箱结果数值化的一种方式。当然,也可以直接用坏样本的比率作为每个箱的数值化结果。
(5) 增加模型的预测效果。从统计学角度考虑,机器学习模型在训练时会将数据划分为训练集和测试集,通常假设训练集与测试集的样本是服从同分布的,分箱操作使连续变量离散化,使得训练集和测试集更容易满足这种假设。因此,分箱会增加模型预测效果的稳定性,即会减少模型在训练集上的表现与测试集上的偏差。
变量分箱流程
变量分箱的目的是增加变量的预测能力或减少变量的自身冗余。当预测能力不再提升或冗余性不再降低时,则分箱完毕。因此,分箱过程是一个优化过程,所有满足上述要求的指标都可以用于变量分箱,这个指标也可叫作目标函数,可以终止或改变分箱的限制就是优化过程的约束条件。
优化的目标函数可以是卡方值、KS值、IV值、WOE值、信息熵和Gini值等,只要是可以提高变量的预测能力或减少变量自身冗余的指标,都可以作为目标函数使用。优化的约束条件可以是分箱数限制 (一般不要大于10箱) 、每组内最小样本数(WOE值计算要求好坏样本数不能为0) 、每组内最多样本数 (不希望分箱后样本分布非常不均衡) 、组间距离限制 (切分点不能太接近) 、Earlystopping策略的限制 (继续切分已经不会带来目标函数的更大提升而停止继续切分) 、WOE单调或baterate单调 (可以不设定,与算法有关,在上一章中已经讲过)

(1) 选择优化指标,可以选择卡方值、KS值和IV值等作为优化指标,以判断最优切分点;同时初始化分箱数nbins=1,开始认为只有1箱,通过切分的方式得到最优分箱结果。
(2) 初始化切分点,对于连续变量采用等距离初始化方法,并且要满足组间距离不能太小的约束条件;对于离散变量可以将变量的取值作为切分点,如果变量非常稀疏,则可以先用坏样本比率数值化,然后按照连续变量分箱操作。切分点即为分箱合并的候选集,可以初始化100个切分点,然后分别计算在切分点处的目标函数值,通过切分点分裂的方式从初始化箱数为1逐步达到最优分箱结果。[插图]注意:分箱可以消除异常值的影响,但是异常值会影响初始化切分点的选择。例如,初始化分箱数是100,采用等距离初始化方法。如果存在异常值,则会出现切分点的间隔较大,数据分布不均,即靠近异常值的箱内样本分布较少,而在某些箱内样本分布较多的情况。因此,初始化切分点前要做异常值处理。
(3) 初始化切分点后,要判断不同切分点间的最小样本数是否小于最小样本数约束。如果小于最小样本数,则重新进行切分点选择,即采用切分点合并的方式,将临近的切分点合并,以满足最小样本数的约束。
(4) 随后在最大分箱数的约束下进行切分点选择,如果大于最大分箱数,则分箱结束。
(5) 如果小于最大分箱数,则先计算最优切分点,以每个初始化切分点为边界,分别计算在此分箱后的优化指标值,选择最优的指标值对应的切分点作为最优切分点。
(6) 得到最优切分点后要计算增益值,判断当前分箱策略下的优化指标是否优于前一次分箱得到的优化指标值,如果分箱已经无法得到更优的指标值或指标值增加的速度明显变缓,则分箱结束,满足Early stopping约束条件。如果增益明显增加则分箱数增加,直到满足最大分箱约束条件后分箱结束。
最优Chi-merge卡方分箱方法
Chi-merge卡方分箱方法是一种自底向上的分箱方法,其思想是将原始数据初始化为多个数据区间,并对相邻区间的样本进行合并,计算合并后的卡方值,用卡方值的大小衡量相邻区间中类分布的差异情况。如果卡方值较小,表明该相邻区间的类分布情况非常相似,可以进行区间合并;反之,卡方值越大,则表明该相邻区间的类分布情况不同,不能进行区间合并操作。卡方值计算公式如

其中,n表示区间数,因为是相邻区间进行合并,所以n=2;m表示类别数,如二分类m=2。Eij表示第i个区间第j个类别的期望值,计算方式是第j个类别在总体样本中的占比乘以第i个区间的全部样本数。Binij表示第i个区间第j类样本的个数。

Best-KS分箱
Best-KS分箱方法是一种自顶向下的分箱方法。与卡方分箱相比,Best-KS分箱方法只是目标函数采用了KS统计量,其余分箱步骤没有差别。这里重点介绍KS统计量的计算方法及与目标变量之间的关系。
KS统计量是柯尔莫哥洛夫与斯米尔诺夫两个人提出来的,用于评估模型对好坏样本的区分能力。首先介绍一下K-S曲线。K-S曲线的绘制方法:做变量排序,以变量的某个值为阈值点,统计样本中好样本与坏样本占总样本中好样本与坏样本的比例。显然,随着变量阈值点的变化,这两个比值也随之改变,这两个比值之差的最大值就是KS统计量

KS统计量的计算过程如下:(1) 将变量进行升序排序,确定初始化阈值点候选集,离散变量可以直接采用变量的可能取值作为候选集,连续变量可以先进行分组,如分10组,将每组的边界作为阈值点。(2) 分别计算在小于阈值点的样本中,好坏样本与总体样本中好坏样本数的比值。(3) 将好坏样本的比值做差就得到各个切分点处的KS统计值。
最优IV分箱方法
最优IV分箱方法也是自顶向下的分箱方式,其目标函数为IV (Information Value)值。
IV值其本质是对称化的K-L距离,即在切分点处分裂得到的两部分数据中,选择好坏样本的分布差异最大点作为最优切分点。分箱结束后,计算每个箱内的IV值加和得到变量的IV值,可以用来刻画变量对目标值的预测能力。即变量的IV值越大,则对目标变量的区分能力越强,因此,IV值还可以用来做变量选择。
基于树的最优分箱方法
基于树的分箱方法借鉴了决策树在树生成的过程中特征选择 (最优分裂点) 的目标函数来完成变量分箱过程,可以理解为单变量的决策树模型。决策树采用自顶向下递归的方法进行树的生成,每个节点的选择目标是为了分类结果的纯度更高,也就是样本的分类效果更好。因此,不同的损失函数有不同的决策树,ID3采用信息增益方法,C4.5采用信息增益比,CART采用基尼系数 (Gini) 指标。本节将重点介绍采用信息增益作为目标函数进行变量分箱的过程。
概率是表示随机变量确定性的度量,而信息是随机变量不确定性的度量。信息熵是不确定性度量的平均值,就是信息的平均值。


则条件熵计算如下:

信息增益计算如下:

变量编码
无监督编码
无监督编码即不需要标签信息,直接对原始离散变量进行变量编码。本节将介绍无监督编码常用的3种方式:One-hot (独热) 编码、Dummy variable (哑变量) 编码和Label (标签) 编码。
One-hot编码
One-hot编码又称为一位有效编码,如果离散变量的种类有M个,One-hot编码就采用M位状态寄存器对这M种可能取值进行编码,每个可能的取值由独立的寄存器表示,即M位中只有一位有效,其本质就是采用二进制的方式表示变量中的每个值,最终得到的是一个M维的稀疏矩阵。
One-hot编码是一种非常有效的编码方式,它将不可排序的离散变量映射到欧式空间,离散变量的每种取值就是欧式空间中的某个点,这使得距离的比较与相似度的度量可计算,并且保持了原有离散变量的等距特性。比如,对性别变量编码后,计算得到的男、女、未知两两变量之间的欧式距离为
,是等距的。欧式距离的计算公式如下:[插图]通过One-hot编码后,离散变量的每一个维度都可以看成一个连续变量。编码后的变量,其数值范围已经在[0,1],这与变量归一化效果一致。
为了操作方便,One-hot编码后的变量可以与连续变量一起进行归一化处理。归一化操作是非常重要的步骤,常用的方法有最大最小归一化和z-score归一化,其目的是消除不同量纲之间的影响,如收入的数值远远大于年龄,则在计算距离时数值较小的变量不起作用。更重要的是,归一化会使模型优化的搜索空间规则化,加速模型收敛速度。如图5-1所示为归一化示意图。
针对One-hot编码后维度过高的问题,往往要先将变量进行合并,再进行One-hot编码,变量合并的过程就是一个变量分箱的过程。后续会介绍分箱的方法。
Dummy variable
与One-hot编码类似,哑变量 (Dummy Variable) 编码也是一种无监督编码方式,同样采用二进制编码的方式来表示变量的值。不同的是,哑变量编码用较小的维度来表示变量的取值。如果离散变量的种类有M个,哑变量编码只用M-1维就可以表示M种可能出现的取值。其思想就是一旦训练集确定,离散变量的状态空间就已经确定,比如性别变量只有{男、女、未知}3种情况,只需要用2位二进制表示是男或是女的情况,第3种情况一定就是未知
与One-hot编码相比,哑变量编码可以用更小的空间去表示离散变量的值,但当离散变量较稀疏时,编码后依然存在与One-hot编码相同的编码矩阵过于稀疏的问题
Label (标签) 编码
在离散变量中,可排序的变量的数值化转换时,如果希望保留等级大小关系,则需要用标签编码 (Label编码) 来完成。例如离散变量学历,其取值为{高中、本科、硕士、博士}。很明显,高中<本科<硕士<博士,并且不同学历间的距离也是不相同的,即本科与高中、硕士、博士的距离是不同的。
有监督编码
前面介绍的都是无监督编码过程,也就是对输入变量自身进行编码,完成数值化的过程。如果考虑目标变量,则变量编码的过程可能会使离散变量的数值化过程更具有方向性,这就是有监督编码。
WOE编码WOE (Weight of Evidence) 编码就是评分卡中最常用的有监督编码方法。WOE编码既可以对离散变量编码,也可以对分箱后的连续变量编码。WOE的计算公式如下:

其中,M为离散变量的可能取值个数,对于连续变量为分箱的组数:Badi为变量第i个可能取值中的坏样本个数;Badtotal为总体样本中的坏样本数。Goodi为变量第i个可能取值中的好样本个数;Goodtotal为总体样本中的好样本数。由此可知,WOE编码就是对坏样本分布与好样本分布的比值再进行对数变换的结果,

对于一个二分类问题,在给定参数的情况下,模型预测样本的概率表示为:


WOE编码先计算变量的每个可能取值 (对于离散变量为变量的种类,连续变量为分箱后的每个箱) 的WOE值,求和得到整个变量的WOE值。
WOE编码的好处:• 增加变量的可解释性,并且可解释的粒度细化到变量的每个可能取值。• 可以指示自变量 (模型输入变量) 对因变量 (模型目标变量) 的预测能力,样本的概率值与WOE值有密切的关系。• 可以处理缺失值,将缺失值作为一个特征进行WOE编码,免除缺失值插补带来的不确定性。在WOE编码时,往往希望变量编码后的WOE值是线性的,如果不满足线性关系,也应该满足WOE值是单调的。
这种说法应满足一个前提条件,即评分卡模型选用Logistic回归模型。Logistic回归模型的本质是对数线性模型,为了使模型能够具有较好的表达能力,会要求建模的变量满足线性关系或满足单调关系。
而对于编码后非线性、非单调的变量的处理方式有如下两种:• 人为干涉使变量满足线性或单调的条件,对于离散变量可采用合并的方式;对连续变量需要重新分箱,使其向着满足条件的分箱结果改变。• 强制删除该变量,如果人为干涉的结果依然不满足线性或单调的条件,为了保证Logistic回归模型的效果,应删除该变量。在非线性或非单调的变量空间中,只用Logistic回归模型不能学到很好的规则,这是模型本身的限制,并不代表该变量本身就不具有预测能力。例如年龄变量,其分箱后的WOE值往往就是一个类似于U形的结构,即中间部分的WOE值小,表示该区间的客户信用风险较小,发生违约的概率相对较小;两端部分 (或年龄小、或年龄大的部分) 的WOE值偏大,表示这个区间的客户更容易发生违约。这是符合业务解释的,只是Logistic回归模型不能很好地把握这类特征而已,这时可以选择其他非线性能力强的模型。因此,在实际项目中,要有所取舍,适当选择。
变量选择
变量选择是特征工程中非常重要的一部分。特征工程是一个先升维后降维的过程。升维的过程是结合业务理解尽可能多地加工特征,是一个非常耗时且需要发散思维的过程。而变量选择就是降维的过程,因为传统评分卡模型为了保证模型的稳定性与Logisitc回归模型的准确性,往往对入模变量有非常严格的考量,并希望入模变量最好不要超过20个,且要与业务强相关。这时变量选择显得尤为重要,特征加工阶段往往可以得到几百维或更高维度的特征,而从诸多特征中只保留最有意义的特征也是重要且耗时的过程。
变量选择的方法很多,常用的方法有过滤法 (Filter) 、包装法 (Wrapper) 、嵌入法 (Embedding) ,并且在上述方法中又有单变量选择、多变量选择、有监督选择、无监督选择。注意,在实际应用中,单纯从数据挖掘的角度进行变量选择是不够的,还要结合业务理解对选择后的变量进行回测,以符合业务解释,即变量选择的最终结果还要具有业务解释性,脱离了具体业务而得到的变量选择结果,即使可以达到较好的预测效果,也需要进一步推敲。
一般的过程如下:
(1) 基于IV值进行初步筛选,IV值可以表征变量的预测能力,IV值的预测水平在表7-1中已经说明。给定一个IV值作为阈值筛选变量,IV值不要太大,一般可以给0.02,目的只是进行第一次初步筛选。
(2) 聚类分析,将不同特征进行聚类得到不同的簇。目的是在接下来的变量选择中,在选择剔除变量时要有簇的概念,优先从不同的簇中删除变量。聚类的损失函数是组内间距越小越好、组间距离越大越好,聚类结果会得到不同的簇,但并没有区分哪些簇是正向特征或是负向特征,并且尽量保证每个簇内经过变量选择后都有变量存在,这样可以保证入模变量是从不同维度综合考虑的结果。
(3) 相关性分析,计算变量编码后变量之间的相关性,给定阈值进行变量剔除,剔除时要注意在不同的簇中进行选择。相关系数的阈值不能太高,可以选择0.6左右。另外,也可以做方差膨胀因子分析,剔除变量。
(4) 逐步回归stepwise regression变量选择。逐步回归是较好的一种变量选择方法,可以通过前向、后向或双向的方法进行变量选择。
(5) 随机森林或Xgboost模型变量重要性排序,得到最终的变量筛选结果。注意,随机森林或Xgboost模型的变量选择并没有考虑变量间的相关性问题,所以需要先过相关性或多重共线性筛选后再进行变量重要性排序。通过累积贡献率的方式,或只选择TOP20的变量即可。当然,也不要忽略不同簇的问题,尽量从多维度保留入模变量的多样性。
Filter Methods过滤法
过滤法变量选择是一种与模型无关的变量选择方法,先进行变量选择得到入模变量,再进行模型训练。整个变量选择过程与所采用哪种模型无关,变量选择的过程只是从变量自身的预测能力出发。过滤法变量选择进一步分解可以分为单变量选择、多变量选择、有监督选择与无监督选择。既然过滤法变量选择与模型无关,就要尽量从变量的预测能力及对标签的区分能力考虑,因此,任何可以反映或衡量变量预测能力的指标都可以用于变量选择。这样的指标有信息增益、信息增益比、基尼系数和IV值等
1.数据缺失情况变量筛选
若某个变量有过多的缺失值,则在模型训练中不会起到太大作用,一般缺失值大于80%就应该将该变量删除
2.方差变量筛选
一般我们希望输入变量与标签变量具有一定的相关性,这种相关性可以直接计算输入变量与标签变量之间的相关系数来衡量,也可以从变量自身来衡量。从变量自身衡量就可以考虑方差这一统计量,标签一定是变化的,至少是一个二分类问题,我们希望输入变量的方差不要过小,过小的方差意味着变量的变化有限。一种极端情况是变量的取值只有一种,即方差为0,则无论标签变量怎样变化,输入变量就是岿然不动,这样的变量要它何用?因此,方差较小的变量是需要剔除的,可以认为这样的变量没有预测能力。
3.预测能力变量筛选
预测能力相关指标有信息增益、信息增益比、基尼系数和卡方值等。信息增益越大,表示按照该变量对样本进行划分,其类别属性的不确定性越小,纯度越高,对好坏样本的分类效果越好。假设有100个变量可以计算每个变量的信息增益值,然后按照信息增益值进行排序,仿照PCA中计算累积贡献率的方法,计算信息增益值的累积占比,可以取累积贡献率达到80%的样本作为初步变量选择结果,这样可以从100维变量减少到几十维。[插图]注意:变量选择的过程不是一蹴而就的,不可能单纯依赖一种方法就可以得到很好的变量选择结果。因此,可以采用多种方法相结合的方式逐步完成变量选择。
4.业务理解的变量筛选
这里所说的业务理解是一些可量化的客观业务指标。某些专家经验属于更高层面的业务理解,比较主观且无法抽象为指标,并不适合进行量化描述。一般可用于变量选择且与评分卡业务紧密相关的指标为IV值和PSI值。IV值就是对称化的K-L距离,可以衡量类别分布的差异情况,反映输入变量对标签的预测能力。IV值的预测水平如表7-1所示。可以给定一个阈值来进行变量选择。注意,如果IV值太高,如大于0.5,则要验证一下变量是否存在问题。

5.相关性指标变量筛选
相关性度量的准则就是“最大相关最小冗余”,即输入变量与标签变量之间要有强相关,而输入变量之间要弱相关,以去除变量间的冗余,消除多重共线性问题。一般可以采用相关系数反映变量之间的相关性

其中,Cov (x, y) 是两个变量的协方差,σx为变量的标准差。协方差本身就能反映变量之间的相关性,这里除以各自的标准差是一种归一化去量纲的过程。相关系数结果的关联程度如表7-3所示。

Wrapper Methods
过滤法变量选择是一种与模型无关的变量选择方法,而包装法则是一种与模型相关的变量选择方法,即在特征空间中随机挑选特征子集,然后选择一个模型,采用交叉验证的方式测试不同特征子集上模型的表现。这里评估模型性能的指标可以有多种,如KS值、AR、AUC和F1等指标
包装法首先需要构造特征子空间,然后选定模型评估该子空间的性能,通过不断迭代的方式得到最优子空间。每一次特征子集都需要训练新的模型,因此开销很大。特征子集的构建分为前向搜索、后向搜索和双向搜索。前向搜索,即初始随机选取一个特征构造模型,然后再随机选择一个特征加入前一个特征子集中,构成新的特征子集,并再建立一个模型,最后比较两个模型性能是否提升,以此来判断特征子集的优劣。后向搜索与前向搜索相反,从使用特征全集开始建模,然后每次剔除一个或多个特征,构造新的特征子集,建立新的模型,评估两个特征子集下模型的性能,以确定最优的特征子集。常用的递归消除方法 (Recursive Feature Elimination,RFE) 就是一种后向搜索算法。
Embedded Methods嵌入法
与包装法类似,嵌入法同样是一种模型相关的变量选择方法,不同的是,嵌入法不需要多次构建模型,而是在模型训练时同步完成,不需要采用贪婪的方法构造特征子集并训练多次模型来得到最优变量子空间。
常用的嵌入法变量选择方法有加入L1正则的模型和随机森林变量选择。由于L1正则的稀疏性,只有那些非0的权重在模型中才起作用,那些权重为0的变量被认为是一些不显著或不重要的特征,在模型中不起作用。而随机森林做变量选择时侧重于对变量的重要性进行排序,即随机森林的结构构造完成后,对于每一个样本经过树结构的映射,都会经过某一个变量,则该变量的重要性就很高。
反之,某一个变量组成的规则,只有很少的样本才会经过该变量,那么这种变量的重要性就很低。因此,随机森林变量选择并没有给出选择多少变量,而是给出每个变量的重要性排序,这里可以根据累计贡献率的办法,得到贡献率达到80%的变量作为变量选择后的结果。注意,该累积贡献率的阈值可以自行调整。
另外,如果建立的是一个标准评分卡模型——Logistic回归模型,则可以结合业务进行变量筛选,如变量分箱后WOE编码要单调或近似单调。当然,过于稀疏的离散变量也可以分箱后编码,这样可以保证原本直接进行WOE编码的离散变量可能不单调,经过分箱后而得到单调或近似单调的WOE编码结果。还可以通过训练好的Logistic回归模型的参数符号 (即正负) 与WOE编码的符号 (即正负) 相对应。注意,在确定与Logistic回归模型的参数符号的关系时,要注意WOE编码选择的是坏好比还是好坏比,应符合业务逻辑。当然,可以用Logistic回归建模后参数的显著性来做变量选择,将那些不显著的变量剔除。
Logistic回归模型
Logistic回归 (逻辑回归) 是建立评分卡最常用的方法,因其具有可以输出概率、可解释性好和模型参数少等优势,即使在其他各种机器学习算法突飞猛进的情况下,也仍然是工业界建立评分卡模型的主流方法,其模型表现也常作为参考标准,用于衡量其他机器学习模型的效果。
一个标准评分卡模型中,该样本的总分数由所有的变量分数的加和得到,变量的总分数由变量的每个可能取值的分数加和得到;模型具有很强的解释性,可以清楚地知道每个变量对总分数的影响,如果某个借款人低于准入分数,可以非常清楚地给出分数偏低的原因并给出拒绝理由。如果需要构建一个标准评分卡模型,就只能采用Logistic回归模型完成,其他支持概率输出的分类模型只能给出样本的总分值,没有办法给出每个变量的分值乃至每个变量不同取值的分值。同时,Logistic回归模型也是评分卡模型中应用最普遍的模型。



模型评估指标
在机器学习中,往往将少数样本定义为正样本,表示希望模型在训练时更加关注少数样本,但有时为了业务解释或希望模型优化时更加方便,正负样本的选择可以不遵守少数样本为正样本的原则。下面将结合评分卡模型讨论正负样本在不同定义下的优缺点。注意,下面介绍的指标在后面章节中也会具体介绍,这里只是为了说明方便,所以并不多加解释,读者无须急于此刻就理清下面介绍的全部指标。
以少数样本为正样本,即以违约样本 (坏样本) 为正样本。在样本不均衡的处理方法中,选择特定的指标都是在少数样本为正样本的前提下给出的。为了在模型训练阶段可以学到更多正样本的规则,一般采用F1指标、Fβ指标、AUC指标或Recall召回率指标。以坏样本为正样本,控制模型更加关注对坏样本的预测能力更符合业务场景。大部分书籍或研究方法均采用少数样本作为正样本,这样做更加便于应对样本不均衡问题。
以多数样本作为正样本,即以没有发生违约的样本 (好样本) 为正样本。直观上以好样本为正样本,坏样本为负样本比较合适

召回率与精准率是一对相互制约、此消彼长的指标,实际应用中往往会牺牲某一指标来提高另一指标。如可容忍30%的误报率即精准率为70%的前提下,最大可能地提高召回率即降低漏报率,提高拒绝坏用户的能力。
为了综合考虑召回率与精准率,以召回率为横坐标、精准率为纵坐标,绘制P-R曲线来比较模型的优劣。P-R曲线可以通过曲线与坐标轴围成的面积来比较模型性能的优劣,同时也可以采用平衡点 (Break Even Point,BEP) 来衡量,令每个分类模型的召回率与精准率相等即为该模型的BEP,BEP越大,则模型的性能越好,P-R曲线如图9-2所示。

而更好的量化方法是F1指标,F1指标可以更方便地完成模型的性能度量。F1指标计算公式如下:

以真正率TPR为纵坐标,以假正率FPR为横坐标绘制的曲线就是ROC曲线,全称为受试者工作特征 (Receiver Operating Characteristic) 曲线。在计算时,要把概率降序排列,可以将概率由1到0分成10等份,以每个概率作为cutoff切分点计算所有样本的TPR和FPR,依次计算得到的值绘制为曲线即可。当然,如果希望得到相对平滑的ROC曲线,可以将概率分组为更多的组数,这样绘制的曲线会更平滑。

ROC曲线的本质反映了舍弃一定数量的好用户可以避免多少坏用户之间的相互关系,一个完美的模型可以通过设定一个概率阈值点,使得大于该概率阈值的样本均为正样本即坏样本,小于该概率阈值的样本均为负样本即好样本。此时,ROC曲线由A点经过B点到达C点,表示在舍弃0%的好用户的前提下,可以100%地拒绝坏用户,即没有坏用户被准入。而图9-6中的虚线表示,在舍弃50%的好用户的前提下,可以避免50%的坏用户,此时错杀了一半的好用户,并且有一半的坏用户没有识别出来。
因此,ROC曲线应该在虚线的左上部且越靠近B点时模型的表现越好。但是,ROC曲线需要画图才可以观察出模型性能的好坏。ROC曲线的量化表示为AUC(Area under the curve,简称AUC) ,即ROC曲线与坐标轴围成的面积,面积越大表示模型的性能越好。很明显,对角线AC是一种随机猜想的判断方式,即不加任何策略随机判断样本属于哪个类别,其AUC的值为0.5。而我们的模型 一定要比随机猜想优秀才有意义,因此AUC的取值范围为0.5~1之间,AUC的值越大越好。由于AUC的取值在0.5~1之间,我们更习惯于一个取值范围在0~1之间的指标,这时候就有了归一化后的AUC表示方式就是基尼系数或基尼统计
K-S曲线的本质就是坏样本的洛伦兹曲线和好样本的洛伦兹曲线构成的,其具体的计算过程与洛伦兹曲线一致,这里不再赘述。K-S曲线如图9-13所示。

在介绍洛伦兹曲线时已经证明逾期样本的累积占比曲线就是TPR。同理,不逾期样本的累积占比曲线就是FPR。在K-S曲线中可以看出,横坐标的概率分组其实就是ROC曲线中给定不同的cutoff切分点,K-S曲线正是给出了在不同的概率分组下或者理解为不同的cutoff下模型对逾期样本与不逾期样本的识别能力。这里给出一种衡量最优cutoff的方法——KS值,其计算方法如下

KS值反应了模型对好坏样本的区分能力,KS值越大表示对好坏样本的区分能力越强,最大的KS值对应的概率即为预测模型的最优cutoff点。图9-13在双箭头处代表的含义为:在通过率为80%的情况下,模型能够识别62%的逾期样本,但有10%的好样本被误判为逾期样本而拒绝授信,此时的KS值为52%。K-S曲线通常是在模型预测全体样本的概率结果后,通过比较全体样本的违约与不违约的差异值来衡量模型性能的,其量化指标为KS值,KS值越大说明模型对好坏样本的区分能力越好,模型的性能越优。
模型在线监控
稳定性监控
评分卡模型的开发采用的是历史数据,而在模型上线后的测试数据是新进样本,因此我们需要确定建模数据与测试数据是否满足上述假设。在前面章节中介绍过衡量两个分布的距离最常用的度量方式为K-L距离 (即对称化的K-L散度) ,在变量选择时我们用K-L距离,也就是IV值来衡量变量对目标变量的预测能力,IV值越大,则变量对目标变量的区分能力越好。本节依然可以采用K-L距离来度量建模数据与测试数据之间的距离,这里称为PSI指标,但PSI指标越小越好,即K-L距离越小越好,表示两个分布函数的距离越小,就越容易满足来自同一个总体分布的假设



当PSI指标超过0.25时,需要更新模型,产生这种显著变化的原因分为样本层和特征层的变化。样本层是指客户群体发生了变化,即在建模时的客户群体不能完全覆盖测试时的客户群体;或者是该类产品较新,没有累积足够的建模数据集,从而采用其他产品积累的数据集训练后得到模型,并将其用于该产品的预测中。特征层的变化则表现在市场的变化上,比如行业周期的影响导致收入稳定性的变化,或大的经济环境的变化产生的不稳定因素的影响等。因此,在PSI指标发生大的改变后,模型的更新策略也是从样本层和特征层进行调整,以满足PSI指标的要求。
单调性监控
单调性指标也可以理解为模型预测逻辑的一致性指标,即模型预测的概率输出或分数要与实际的逾期表现具有较好的单调关系。概率越大,则实际违约的可能性越大,分数越低,则实际违约的可能性越大。通常用Kendall's Tau指标来度量。
下面介绍一下Kendall's Tau指标的计算过程。以坏样本为正样本,将模型预测概率降序排列,然后将概率等间隔分为10组,一致性好的模型应该具备高概率段的实际违约样本数,严格大于低概率段的实际违约样本数。分别统计每组的实际违约样本数,表示为r1, r2, …, r10。理想状态下,任意组别在i>j时,其组内实际违约样本数都满足ri>rj,此时该模型的预测一致性最优。由于将概率分为10组,则每组两两比较的可能状态有n (n-1) /2种可能的比较结果,定义满足i>j且ri>rj时为concordant pairs,即符合一致性要求的数据对;定义不满足上述关系的两组为discordant pairs即不符合一致性要求的数据对。分别统计concordant pairs数据对的个数与discordant pairs数据对的个数,采用如下公式即可计算Kendall’s Tau指标值。

Kendall's Tau指标越接近于1,表示模型预测结果与实际违约情况的一致性越好。反之,模型预测结果与实际违约情况的一致性越差,则需要进行重建建模
性能监控指标
性能监控指标是指在模型开发阶段的指标都可以用来监控线上模型的性能,如KS值、AR值、AUC、Recall、Percision等都可以用于该阶段的模型评估。在模型开发阶段,要求模型在训练集的表现与在测试集的表现相差不大,否则模型可能因存在过拟合问题而导致泛化能力不足。同样地,模型上线后,要求模型线下测试的表现与线上实际运行的表现没有明显偏差,如果线下测试模型的KS值为0.4,而线上运行后模型的KS值仅为0.2,则模型存在明显的问题,需要重新开发。

样本不均衡处理
1.特征选择时的影响特征选择是模型开发阶段非常重要的环节,样本不均衡问题会影响变量选择的效果。比如,采用信息增益的方法进行特征选择时,由于负样本较多,在各个属性上对不同取值进行划分时很容易得到非常高的纯度 (该划分下都是负样本) ,进而认为该特征的分类能力较强。但其本质是因正样本较少导致在不同的属性划分下样本的分布较少所造成的错误判断
2.模型训练时的影响模型训练是在特征选择之后,因此,在特征选择阶段出现的偏差或影响会传递到模型训练过程中。而在模型参数优化过程中同样要计算距离特征或相似度特征或先验概率等,因此对模型训练也会产生影响。而由于负样本较多,其分类错误的概率会比正样本分类错误的概率显著增加,这使得模型会更加侧重于学习在负样本下不同特征的规则组合,而训练得到的模型是一个偏重于更好地区分负样本的有偏模型,这样与模型设计的初衷背道而驰。
3.评估指标的影响评估指标用来衡量模型在训练集的表现及在测试集上的泛化能力,在模型参数优化过程中会根据评估指标来确定最优参数。对于样本不均衡的分类问题,如果以预测准确率 (Accuracy) 作为评估指标来衡量模型结果,则真实模型的表现情况会被过高的准确率蒙蔽。比如,样本总数为100个,负样本数量为95个,正样本数量为5个,如果将所有样本均判断为负样本,则模型的准确率为95%,而此时模型对正样本没有任何区分能力。因此,在样本不均衡时要采用Recall、F1、AUC等指标才可以正确衡量模型的预测能力与泛化能力。
数据层下采样样本不均衡的处理方法
频数上互补分为上采样 (也叫过采样) 和下采样 (也叫欠采样) 。既然正负样本的比例不均衡 (频数有差异) ,就增加正样本 (少数样本) ,使其与负样本的比例相近即为上采样;反之减少负样本 (多数样本) 数量以达到正负样本均衡的目的为下采样;而在下采样或上采样中考虑样本的分布与样本邻域就形成了不同策略的下采样或上采样。
随机下采样方法
随机下采样即按照正负样本的比例在多数样本集N中进行随机采样,以达到正负样本比例相等的状态。随机下采样是在负样本中进行等概率采样,可分为有放回采样与无放回采样。有放回采样方式就是著名的自助法抽样 (Bootstrap Sampling) 。随机下采样示意图如图12-1所示。
由于随机下采样只是简单地从多数样本中随机选择样本,抽样过程为等概率过程,不能保证得到的样本子集的分布情况与样本整体分布情况一致,对多数样本N所蕴含的内在规律没有很好地表达,从而容易出现欠拟合问题,即模型没有学习到足够多的模式而导致模型的泛化能力降低。此外,如果正负样本的比例非常悬殊,不建议采用下采样的方法抑制样本不均衡问题

样本邻域选择的下采样方法
如果根据某种策略可以实现不同区域的采样过程,可能得到优于随机下采样的效果。NearMiss算法就是从这一思路出发,具体有3种实现方法。
1.NearMiss_1:从局部范围出发实现下采样过程从负样本 (多数样本) 出发,在正样本 (少数样本) 中计算与每个负样本距离最近的前K个样本,即找到K个最近邻的正样本;计算这K个近邻距离的平均值,并依次进行循环,即可得到所有负样本在正样本中K个近邻距离的平均值;选择距离较小的样本作为下采样结果。可见,该过程是从局部范围出发实现下采样,选择平均距离较小的负样本保证负样本中的异常点不会被纳入建模过程中。
2.NearMiss_2:从全局范围出发实现下采样过程与NearMiss_1相反,NearMiss_2是从负样本 (多数样本) 出发在正样本 (少数样本) 中计算与每个负样本距离最远的前K个样本,然后计算K个最远距离的平均值,最后选择那些距离较近的样本作为下采样的结果。NearMiss_2下采样,过程是从全局考虑,距离最远保证了可以较容易地找到一个分类超平面,使大部分正负样本能够正确分离;而选择距离平均值较小的样本,保证了正负样本的分类边界不会过宽而导致大量的正负样本落在该模糊区间,从而造成分类效果变差。可见,NearMiss_2下采样过程与支持向量机(SVM) 算法损失函数的构造如出一辙,这也是NearMiss系列算法中NearMiss_2的效果最优的原因。
3.NearMiss_3:保证正样本与多个负样本关联从正样本 (少数样本) 出发在负样本 (多数样本) 中计算与每个正样本距离最近的前K个样本,将这个小数据集称为一个簇;然后计算这K个近邻距离的平均值,依次循环会得到与正样本数相同的平均距离;最后选择距离最大的负样本作为下采样结果。

Tomek Links
清理Tomek Links方法的思想很朴素,既然距离越近越容易产生混叠,那就删除 负样本中与正样本距离最近的样本,不参与下采样过程。具体做法:计算每个正样本 (少数样本) 的最近邻也称为1近邻,如果最近邻样本的类别为负样本,即该样本与其最近邻样本的标签不同,这两个样本构成了Tomek-Links对,则将该负样本从候选的下采样样本中删除,而不参与下采样过程

其中,A、B、C均为边界对,而D、E为噪声对。对于边界对,希望将负样本删除而不作为下采样的候选集,这样易混叠的样本减少,分类边界更加清晰,算法会相对容易学习到较好的分类规则。对于噪声对,要将正负样本都删除,以提高分类效果。
数据层上采样样本不均衡的处理方法
与下采样方法相反,上采样方法是通过增加少数样本P的数量来达到样本均衡的目的。考虑到样本分布问题采用不同的样本增加策略而产生了不同的上采样方法,本节主要介绍随机上采样、SMOTE样本生成和Borderline-SMOTE方法
随机上采样方法
随机上采样是一种原型选择的无监督方法,即按照一定比例等概率地从少数样本P中随机选取样本,以达到正负样本均衡的目标。当然,采样方式可以设置为Boostrap自助法采样进行有放回抽取。如图12-6所示为随机上采样过程分析示意图。

随机上采样过程就是对少数样本进行简单重复,而某些少数样本可能会被重复多次。在模型训练时会更加关注那些被重复多次的样本,从而使模型学习到过多的局部规则而产生过拟合。因此,随机上采样是上采样中最坏的策略
SMOTE样本生成方法
SMOTE (Synthetic Minority Oversampling Technique) 方法是一种无监督的样本生成方法,在考虑样本邻域的前提下,采用原始样本与其邻域样本之间进行随机插值而得到上采样的少数样本。其算法实现如下:
(1) 计算少数样本P在整个训练集上的样本邻域,即通过距离计算的方式 (欧式距离等) 找到每个少数样本的K近邻,构成每个少数样本生成所需的样本邻域。
(2) 根据整个训练集中正负样本比例确定要生成的样本比例r,对每一个少数样本从其K近邻的样本邻域中随机选取r个样本。假设少数样本x其样本邻域为setk,如果此时样本生成的比例r=4,就要随机从样本邻域setk中随机抽取样本4次,得到4个邻域样本。
(3) 对于每一个少数样本,其生成的样本就是原始少数样本与候选样本随机线性插值的结果,少数样本x,第i次从样本邻域setk中随机抽样得到的样本为xi
决策树模型
决策树模型的规则组合以树的形式展现,由根节点到每一个叶节点的路径构成了一条规则,路径上中间节点的特征对应着具体规则的条件,每个叶节点代表决策结果。同时,这个规则集合具有互斥并完备的性质,即每一个实例都有且只有一条路径或一条规则所覆盖。决策树模型也可以理解为定义在特征空间与类空间的条件概率分布,由训练数据集估计条件概率模型
决策树学习的步骤为特征选择→决策树生成→剪枝。由于决策树结构无法提前知道,所以只能先从根节点开始在属性空间中选择最优的属性进行分裂得到不同的分支,即中间节点,然后中间节点继续在属性空间中选择最优的属性进行下一次分割,以次类推,直到满足条件后整个树结构得以确定。简单的决策树结果如图14-1所示,很明显,特征选择是决策树生成的关键。对于分类问题常用的特征选择指标有信息增益、信息增益比、基尼指数。回归问题可以用均方误差来进行特征选择
对于分类问题,每一次新分支的生成都是为了将样本的类别尽可能分开,即每个叶子节点下样本都属于同一类别。这里用纯度 (Purity) 来描述样本类别的一致性,纯度越高则节点中样本类别的不一致性越小,就有更多的样本属于同一类别
决策树的生成其本质是从根节点到叶子节点信息熵的平均值不断下降的过程。信息熵不断下降意味着样本的纯度不断增加,这样形成的规则集合才能更好地将样本区分开。而信息增益就是衡量这个信息熵的变化情况的指标,信息增益指标更加倾向于选择属性空间中取值较多的属性作为最优划分属性。如果一个属性的取值越多,那么按其划分得到的类别纯度就越容易提高,而求信息增益的结果就越容易增大

神经网络模型
神经网络基础
神经网络模型的最基本组成单元为神经元,神经元的设计源于生物神经网络,每个神经元与其他神经元相连,当神经元“兴奋”时,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位;如果某个神经元的电位超过了一个“阈值”,那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。McCulloch和Pitts于1943年将上述情况抽象为数据模型,即为神经元模型 (M-P神经元模型

其中,d为样本的维度;权重w的个数与样本维度相等,即每个样本通过神经元模型后的输出结果都是该样本与权重相乘再与阈值相加后通过激活函数得到;f(*) 为激活函数或激励函数,如符号函数sign。



多层前馈网络,第一层为输入层,没有激活函数,只是将输入信号传递给隐层的神经元;最后一层为输出层,有激活函数,负责将中间层的结果加权,实现不同的逻辑运算并得到最后的预测结果;中间层称为隐层,有激活函数。隐层可以有多层,每层中可以有多个神经元;隐层中第一层的每一个神经元都与前一层 (输入层) 的所有神经元构成一个感知器模型 (也是Logistic回归模型) ;同样隐层中第二层的每一个神经元都与前一层 (隐层的第一层) 的所有神经元构成一个感知器模型。前馈网络是指每层的神经元与下一层的神经元以全连接的形式互联;同层的神经元之间不存在连接;跨层的神经元之间不存在跨层连接
输入层与隐层之间有权重,隐层与隐层之间有权重,隐层与输出层之间有权重。假设输入数据的维度为m,采用双隐层网络,第一个隐层采用n个隐层节点 (即n个神经元) ,第二个隐层采用t个隐层节点,输出层为s个神经元,则需要学习的权重个数如下

神经网络的学习策略
从神经网络的结构中可以发现,模型的未知参数就是一系列权重值,网络结构越复杂其非线性表达能力越强,同时需要学习的权重就越多。误差反向传播算法(error BackPropagation,BP算法) 是神经网络的学习策略中最著名的算法代表,不仅用于前馈神经网络的学习,还可以用于其他类型的神经网络,如递归神经网络的训练,而且在深度学习中也是采用BP算法进行网络训练的。
在前馈神经网络中,原始的训练数据从输入层逐步传递到隐层,再由隐层逐步传递到输出层。每完成一次前向传播到达输出层后就可以得到本次的预测结果,将预测结果与真实结果比较就得到了误差。而误差的传播方向与其刚好相反,误差首先作用在输出层,然后作用在输出层与隐层的权重上,最后作用在隐层与输入层的权重上。BP算法是一种迭代学习算法,采用梯度下降的方式逐步更新权重,最终得到合适的权重,神经网络模型才得以确定。
我们以二分类为例来说明BP算法如何更新权重,将预测标签表示为{0,1}的形式。注意,在支持向量机模型中,预测标签表示为{-1,+1}的形式,这两种表达没有本质区别,只是为了后续模型求解中方便计算,比如支持向量机模型中可以巧妙地将距离公式中的绝对值省去,而神经网络中可以方便地运用交叉熵损失。
交叉熵
在二分类问题中,最理想的损失为0-1损失,同样,0-1损失的导数性质不好,不利于权重优化,因此用其他的损失函数替代。比如支持向量机模型中采用hinge损失代替0-1损失,在神经网络模型中采用交叉熵损失来代替0-1损失,这与Logistic回归模型的损失函数一致。
损失函数其目的就是衡量预测值与真实值之间的差异,同时如果其导数性质较好,满足参数优化的要求,就可以作为损失函数。如大部分算法要求损失函数至少是一阶可导的,而Xgboost模型则要求损失函数不仅一阶可导,而且二阶导数也是存在的。而交叉熵损失函数是从概率分布角度衡量预测值的分布与真实值分布之间的差异,交叉熵越大,则两个分布之间的差异越大,此时需要加快参数调整以减小交叉熵的值;反之,交叉熵越小,两个分布越相似,则预测精度越高

在二分类问题中,交叉熵损失从概率分布角度度量预测与真实之间的差异,本质等价于最小化 KL 散度。结合 Sigmoid 输出,它既满足可导性要求,又具有清晰的统计解释,因此成为 Logistic 回归和神经网络二分类的标准损失函数。
BP 算法(Backpropagation)
BP = 链式法则 + 梯度下降
目标:最小化损失函数 L(y,y^)
梯度下降更新规则

支持向量机
1. SVM 在解决什么问题
SVM 是一种间隔最大化的分类模型。
它不追求把所有样本分对,而是寻找一个对泛化最稳健的决策边界。
核心思想:决策边界由最难分的样本决定,而不是由所有样本共同决定。
2. 什么是“支持向量”
支持向量是距离决策边界最近的样本点。
关键理解:
- 只有支持向量会影响模型
- 远离边界的样本对结果几乎没有影响
- 这也是 SVM 泛化能力强的原因之一
3.支持向量机模型由简单到复杂分为以下3种:
(1) 线性可分支持向量机 (Linear Support Vector Machine In LinearlySeparable Case) ,样本是线性可分,如感知器模型可以解决的问题。此时,对应的最大间隔类型为硬间隔最大化,即分类超平面要严格满足每个样本都分类正确。
(2) 线性支持向量机 (Soft-Margin SVM) ,当样本近似线性可分,引入松弛因子,可以得到一个线性分类器,如线性可分的样本中增加一些错分的噪声数据。对应的最大间隔类型为软间隔最大化,即战略性地将那些噪声数据放弃,得到一个对于大部分样本都可以正确分类的超平面。需要注意的是,这里所说的样本近似线性可分,是通过放弃某些线性不可分的样本后,大部分样本 都是线性可分的,这时依然采用线性超平面做分隔,如果不放弃那些线性不可分的样本,就是一个非线性问题。
(3) 非线性支持向量机 (Kernel SVM) ,当样本非线性可分时,即使引入松弛因子也不能得到一个近似线性可分的结果时,采用核技术进行特征映射,在高维空间采用软间隔最大化方法得到一个非线性模型,如感知器模型解决不了的异或问题。对应的最大间隔类型为核映射+软间隔最大化。这里所说的样本非线性是在第二种情况中,当非线性样本更多时,我们无法放弃大部分样本而得到一个线性的超平面,所以这里采用核函数的方法进行空间转化,得到一个线性或近似线性的结果,然后再采用线性支持向量机的方法得到超平面。
在实际应用中很少有线性问题。因此,支持向量机模型应用最多的就是第三种模型。然而,复杂模型是简单模型的改进,而且通过核函数映射就能将低维的非线性问题转化为高维空间的线性问题。因此,读者只要理解第一、第二种模型解决问题的办法,加上核技巧即可
4.核函数在干什么
核函数的作用:
- 隐式进行特征变换
- 避免显式构造高维特征
- 只计算样本之间的相似度
常见核:
- 线性核:本质还是线性模型
- RBF 核:局部相似度强,使用最广
- 多项式核:高阶特征交互
集成学习
集成学习大致可分为两种:并行的集成方法Bagging和串行的集成方法Boosting。并行的集成方法中,基学习器的构建是相互独立的,没有先后顺序,可以同时进行建模。而串行的集成方法中,各个基学习器之间有强烈的依赖关系,即后一个模型是在前一个模型的基础上建立的。集成学习的核心思想是优势互补,因此如何增加基学习器的独立性和多样性是集成学习的关键
Bagging与Boosting对比
Bagging是一种并行的集成学习框架,此框架下最典型的代表是Random Forest(随机森林) 模型。在并行的集成学习中,希望每个基学习器都是相互独立的,然而每个基学习器的构建都是在同一个训练样本中完成的,要保证每个基学习器完全独立是不可能的。但要尽可能地保证每个基学习器具有较大的差异,以便提高集成性能。Bagging采用自助采样法 (Bootstrap Sampling) 来增强基学习器间的多样性,自助采样法即有放回采样,每次随机从训练集中抽取一个样本,然后将该样本放回训练集再进行下一次随机采样。在自助采样法中会存在多次被重复抽样的样本,也会存在始终没有被抽样的样本
Bagging集成学习的步骤如下
(1) 给定构建M个基学习器,采用自助采样法从原始训练集中得到M个与原始训练样本数量相同的样本集。
(2) 分别在M个样本集中平行地训练M个基学习器。
(3) 集成策略:对于回归问题采用加权平均的方式得到最终结果,如以等权重加权平均值作为预测结果。分类问题采用投票的方法得到最终结果。投票方法分为基于概率的投票方式与基于标签的投票方式。基于概率的投票方式可以认为是一个回归问题的加权平均,即各个基学习器给出概率预测结果 (连续值) ,对概率进行加权求和即可,但该模式下要求基学习器可以给出概率预测结果。基于标签的投票方法有绝对多投票与相对多投票两种方式,即各个基学习器给出标签预测结果,绝对多投票方法是将超过半数的结果作为最终分类结果,而相对多投票方式是找到投票结果最多的,但不必一定是以超过半数的结果作为最终分类结果。
Boosting集成学习的步骤如下
(1) 在给定的训练集上训练一个基学习器,并测试模型的表现。
(2) 根据已有的基学习器的表现对训练样本的分布进行调整。
(3) 在样本分布调整后的训练集上训练下一个基学习器,使得本次基学习器的训练更加关注前一个基学习器没有正确预测的样本,而减少对前一个基学习器预测正确样本的关注。
(4) 重复上述步骤,得到M个基学习器,直到预测误差满足要求为止。
Random Forest
Random Forest (随机森林) 模型是Bagging框架下最著名的一种集成学习方法,其基学习器采用决策树算法。在Random Forest模型的建模过程中,不仅通过自助采样法引入了数据层扰动,以增加样本的多样性,还增加了输入属性扰动,即在每次训练决策树时对需要使用的属性也进行随机选择。集成学习的核心思想是希望基学习器“好而不同
Random Forest模型的建模步骤如下:
(1) 给定构建M个基学习器与属性采样比率随机选取属性
(2) 采用自助采样法从原始训练集中得到M个与原始训练样本数量相同的样本子集。
(3) 分别在M个样本子集中训练M个基学习器。
(4) 集成策略:对于回归模型采用简单的等权重加和,对于分类模型采用相对多数投票方法
Adaboost
在Boosting框架下,最基本的问题是如何调整样本的分布与如何确定模型的集成权重。对于这两个问题,Adaboost模型的做法如下。
(1) 采用调节权重的方法改变样本的分布,即前一个基学习器预测错误的样本得到更大的权重,预测正确的样本权重相应降低,而权重会参与到误差计算中,则在下一次基学习器训练中,带有更大权重的样本被预测错误时,将面临更大的误差或损失;反之,带有较小权重的样本被预测错误时,将给予较小的误差或损失。这样每个基学习器的训练将更加关注上一次被错误预测的样本。因此,在Adaboost模型中要求基学习器支持权重学习。
(2) 根据基学习器的性能确定权重,即采用加权的形式对基学习器进行集成,权重的计算由各个基分类器的性能决定。这意味着,预测性能越好的基学习器的权重越高,其在集成模型中起到的作用越大;反之,那些性能相对较弱的基学习器将给予更小的权重,在最终集成模型中起到的作用较小,保证了集成模型的最优性能
Adaboost算法就是前向加法模型的特例,其损失函数为指数损失,学习器为基本分类器的加法模型。另外,Adaboost算法对异常值或噪声敏感,如果训练集中有异常点,会导致模型不断对异常样本加大权重,若采用指数损失,其权重的增加是指数级别的,这样就会使模型更加侧重于异常样本的学习,从而影响模型的泛化能力。