金融风控训练营-Task04
本学习笔记为阿里云天池龙珠计划金融风控训练营的学习内容,学习链接为:https://tianchi.aliyun.com/specials/activity/promotion/aicampfr
一、学习知识点概要
- 模型原理
- 逻辑回归模型
- 决策树模型
- GBDT模型
- XGBoost模型
- LightGBM模型
- 模型对比与性能评估
- 逻辑回归
- 决策树模型
- 集成模型集成方法
- 模型评估方法
- 模型评估标准
二、学习内容
1、模型原理
1.1 逻辑回归模型
1.1.1 核心思想
如果线性回归的结果输出是一个连续值,而值的范围是无法限定的,那我们有没有办法把这个结果值映射为可以帮助我们判断的结果呢。而如果输出结果是 (0,1) 的一个概率值,这个问题就很清楚了。sigmoid函数(如下):
如果把sigmoid函数图像画出来,是如下的样子:
从函数图上可以看出,函数y=g(z)在z=0的时候取值为1/2,而随着z逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,而这正是一个概率的范围。
所以定义线性回归的预测函数为Y=WTX,那么逻辑回归的输出Y= g(WTX),其中y=g(z)函数正是sigmoid函数(S形函数)。
1.1.2 判定边界
θTX =0是一个决策边界,当它大于0或小于0时,逻辑回归模型分别预测不同的分类结果
1.1.3 代价函数与梯度下降
逻辑回归的代价函数:
用迭代公式表示出来的最小化 J(θ ) 的梯度下降算法如下:
1.2 决策树模型
1.2.1 ID3算法
-
ID3算法的核心是在决策树各个结点上对应信息增益准则选择特征,递归地构建决策树。
-
具体方法是:
- 从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子节点;
- 再对子结点递归地调用以上方法,构建决策树;
- 直到所有特征的信息增益均很小或没有特征可以选择为止,最后得到一个决策树。
ID3相当于用极大似然法进行概率模型的选择。
1.2.2 决策树可视化
可视化需要用到关于Matplotlib的函数:
- getNumLeafs:获取决策树叶子结点的数目
- getTreeDepth:获取决策树的层数
- plotNode:绘制结点
- plotMidText:标注有向边属性值
- plotTree:绘制决策树
- createPlot:创建绘制面板
1.3 GBDT模型
GBDT模型是一个集成模型,是很多CART树的线性相加。
GBDT模型可以表示为以下形式,我们约定ft(x)表示第t轮的模型,ht(x)表示第t颗决策树,模型定义如下:
提升树采用前向分步算法。第t步的模型由第t-1步的模型形成,可以写成:
损失函数自然定义为这样的:
虽然整体思路都挺清晰的,但是怎么确定第t步该加上一颗什么样的树确是个大问题。针对这个问题, Freidman提出了用损失函数的负梯度来拟合本轮损失的近似值,进而拟合一个CART回归树。即每次需要拟合的是模型的负梯度。第t轮的第i个样本的损失函数的负梯度表示为:
利用(xi, rti) (i=1,2,…m),我们可以拟合一颗CART回归树,得到了第t颗回归树,其对应的叶节点区域Rtj, j=1,2,…,J。其中J为叶子节点的个数。
针对每一个叶子节点里的样本,我们求出使损失函数最小,也就是拟合叶子节点最好的的输出值ctj如下:
决策树拟合函数就得到了:
1.4 XGBoost模型
XGBoost 是由 k 个基模型组成的一个加法运算式:
y ^ i = ∑ t = 1 k f t ( x i ) \hat{y}_{i} = \sum_{t=1}^{k}f_t(x_i)