预测过程:
当构建好一个判断模型后,新来一个用户(样本)后,可以根据构建好的模型直接进行判断,过程如上图,比如新用户特性为:无房产、单身、年收入55K,那么根据判断得出该用户无法进行债务偿还。这种决策对于借贷业务有比较好的指导意义。
训练过程:
先搞清楚几个概念。
1. 数学期望:
离散型随机变量的一切可能的取值xi与对应的概率P(xi)之积的和称为该离散型随机变量的数学期望(设级数绝对收敛),记为E(x)。数学期望是最基本的数学特征之一。它反映随机变量平均取值的大小。又称期望或均值。如果随机变量只取得有限个值,称之为离散型随机变量的数学期望。它是简单算术平均的一种推广,类似加权平均。公式如下:
2. 信息熵:
信息量的度量就等于不确定性的多少,事情不确定,则需要更多信息量;事情确定,则不需要信息量。
所以信息的度量应该依赖于事情的各种情况的概率分布 。假设两个不相关的事件 x 和 y,那么两个事件同时发生时获得的信息量应该等于事件各自发生时获得的信息之和,即:
, 因为两个事件是独立不相关的,因此:
。根据这两个关系,很容易看出 与 的对数有关 ( 因为对数的运算法则可以将乘转换为加,且不改变原函数性质 ),即:
,即:
所以 ,其中负号是用来保证信息量是正数或者零。而 log 函数底数的选择是任意的(信息论中基常常选择为2,因此信息的单位为比特bits,因为取底数为2的对数,表示真数需要多少个二进制位(即比特)来表示;而机器学习中基常常选择为自然常数,因此单位常常被称为奈特nats),图像如下图:
事件 x 发生的概率越大,所需要的信息量越少。
信息熵是跟所有可能性有关系的。每个可能事件的发生都有个概率。信息熵就是平均而言发生一个事件我们得到的信息量大小。所以数学上,信息熵其实是信息量的期望:
一般用H(X)表示,如下:
信息熵的函数图像如下:
信息熵表示事情的不确定程度(一件事情有多种可能情况,所以不确定),注意是不确定,所以信息熵的值越小越好。能够消除事情的不确定性的事物叫做信息。信息熵在所有可能情况的概率都相等候最大,在其的时中某种情况确定了(概率为1)的时候最小。
3. 条件熵:
条件熵 H(Y|X) 表示在已知随机变量 X 的条件下随机变量 Y 的信息熵(不确定性)。公式如下:(注意是 y 的条件概率的信息熵对 x 的期望[平均值])
事件(Y,X) 同时发生的信息熵,减去事件X单独发生的信息熵,即为在事件X发生的前提下,Y发生的信息熵,所以条件熵还有另外一个公式:
4. 决策树:
决策树是一种树形结构,其中每个内部节点表示一个属性的测试,每个分支表示一个测试输出,每个叶节点代表一种预测类别;决策树是一种有监督的分类算法。
决策树的构建,关键点有两个:1. 特征节点的排序 2. 特征节点的判断条件
1. 特征节点的排序
遍历所有的特征,根据由 Gini系数、熵(Entropy)、错误率 确定的信息增益度选择出最优的特征(即三个指标最小的那个特征,表示样本的该特征的不确定性最小,最容易划分大量样本数据),用该特征作为根节点,第二优的特征作为第二个节点,以此类推。
==》基尼系数
==》信息熵
==》错误率
当计算出各个特征属性的量化纯度值后使用信息增益度来选择出当前数据集的分割特征属性;如果信息增益度的值越大,表示在该特征属性上会损失的纯度越大 ,那么该属性就越应该在决策树的上层,计算公式为:
H(D)表示标签的信息熵,H(D|A)表示条件熵,某个特征的所有各个特征值发生的条件下标签的信息熵的和。
==》 标签的信息熵
==》 -(有房产能还债务的概率 + 有房产不能偿还债务的概率)
==》 -(无房产能还债务的概率 + 无房产不能偿还债务的概率)
==》 信息熵-条件熵
同理计算出特征 婚姻和收入的信息增益度:
比较三个信息增益度之后,选择第一个分割属性为收入
2. 特征节点的判断条件
属性是离散值,使用属性划分的子集进行测试,按照“属于此子集”和“不属于此子集”分成两个分支
属性是连续值,可以确定一个值作为分裂点 split_point ,按照 >split_point 和 <=split_point 生成两个分支
X(年收入) | 60 | 75 | 85 | 90 | 95 | 100 | 100 | 110 | 125 | 220 | ||||||||||
Y(无法偿还债务) | 否 | 否 | 是 | 是 | 是 | 否 | 否 | 否 | 否 | 否 | ||||||||||
分割点 |
|
| 80 |
|
| 97.5 |
|
|
|
|
|
连续值的split_point一般选取最中间两个数的平均值。如这里95和100的平均值97.5。
• 建立决策树的主要是以下三种算法
• ID3
• C4.5
• CART(Classification And Regression Tree)
CART是最好的一种:选择GINI增益率最大的作为当前数据集的分割属性
每个特征都对应一个基尼系数,i 表示标签的第i个可能值,P(i):某个特征对于标签的概率(连续型的必须找个分界点先分类,离散型的本身就是分类)
其中,D表示标签