^_- 更新中 ……
一、决策树
1 划分规则
1.1 如何选择最优划分属性? 划分过程中,在每一次划分时,选取能使其“不纯度”减小最大的属性。
1.2 常用的衡量“不纯度”的指标。信息增益,信息增益比(信息增益率),基尼系数。
1.3 以上三种指标的具体公式。
1)信息增益(对应算法:ID3)
先介绍一下信息熵的公式:
E n t r o p y ( D ) = − ∑ i = 1 I p ( i ∣ D ) l o g ( p ( i ∣ D ) ) Entropy(D) = -\sum_{i=1}^{I}p(i|D)log(p(i|D)) Entropy(D)=−i=1∑Ip(i∣D)log(p(i∣D))
其中, D D D 表示当前样本集合; I I I 为样本类别数; p ( i ∣ D ) p(i|D) p(i∣D) 为第 i i i 类样本的占比。
信息增益 (Information Gain):
G a i n ( D ) = E n t r o p y ( D ) − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ E n t r o p y ( D v ) Gain(D) = Entropy(D) -\sum_{v=1}^{V}\frac{|D^v|}{|D|}Entropy(D^v) Gain(D)=Entropy(D)−v=1∑V∣D∣∣Dv∣Entropy(Dv)
其中, ∣ D ∣ |D| ∣D∣ 表示当前样本总的数目; V V V 为根据某一属性划分后的分支数(类数); ∣ D v ∣ |D^v| ∣Dv∣ 为划分后第 v v v 类的样本数目。
2)信息增益比(对应算法:C4.5)
信息增益比是对信息增益的改进,因为信息增益偏向于例如 ID 这样的属性。
G a i n _ r a t i o ( D ) = G a i n ( D ) I V ( D ) Gain\_ratio(D)=\frac{Gain(D)}{IV(D)} Gain_ratio(D)=IV(D)Gain(D)
其中,
I V ( D ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ l o g ∣ D v ∣ ∣ D ∣ IV(D)={-\sum_{v=1}^{V}\frac{|D^v|}{|D|}log\frac{|D^v|}{|D|}} IV(D)=−v=1∑V∣D∣∣Dv∣log∣D∣∣Dv∣
信息增益比的使用对可取值数目较少的属性有所偏好,在 C4.5 算法并没有直接选择增益比最大的候选划分属性,而是使用了一个启发式方法:先从候选划分属性中找出增益高于平均水平的属性,再从中选择增益比最高的。
3)基尼系数(对应算法:CART)
CART 决策树选择“基尼系数”来选择划分属性。
直观来说,Gini(D) 反应了从数据集 D 中随机抽取两个样本,不属于同一类样本的概率。
G i n i ( D ) = 1 − ∑ i = 1 I p ( i ∣ D ) 2 Gini(D) = 1-\sum_{i=1}^{I}p(i|D)^2 Gini(D)=1−i=1∑Ip(i∣D)2
其中, D D D 表示当前样本集合; I I I 为样本类别数; p ( i ∣ D ) p(i|D) p(i∣D) 为第 i i i 类样本的占比。
1.4 决策树中,连续值如何处理?
最简单的策略是采用二分法;将某连续属性的值进行排序,假设有n个值,插入n-1个切分点,相当于每相邻两个值之间插入一个切分点,插入到切分的值一般为这两者值的平均值。然后遍历切分点的值,例如遍历到的值为 num,那么将大于num的作为一类,小于num的作为一类。根据两类求解指标(如信息增益),并取最优指标对应的切分点为作为属性的切分点。
1.5 连续属性可多次作为划分属性。与离散属性不同,若当前节点划分属性为连续属性,该属性还可以作为其后代节点的划分属性。
二、逻辑回归
补充:逻辑回归原理详解
2.1 简单描述一下逻辑回归的原理
逻辑回归模型:假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来对参数进行优化,最后通过sigmoid函数将其转化为概率形式,并通过设定阈值实现二分类。
2.2 逻辑回归概率公式整理
P ( y ∣ x ; θ ) = ( h θ ( x ) ) y ( 1 − h θ ( x ) ) 1 − y P(y|x;\theta)=(h_{\theta}(x))^{y}(1-h_{\theta}(x))^{1-y} P(y∣x;θ)=(hθ(x))y(1−hθ(x))1−y
2.3 最大似然估计
为使模型更好,钥匙的预测值更接近真实值,即条件概率越大越好;对于m个样本,可以通过 最大似然估计,得到最优解。
L ( Θ ) = ∑ i = 1 m P ( y i ∣ x i ; θ ) = ∑ i = 1 m ( h θ ( x i ) ) ) y i ( 1 − h θ ( x i ) ) 1 − y i L(\Theta) = \sum_{i=1}^{m}P(y_i|x_i;\theta)= \sum_{i=1}^{m}(h_{\theta}(x_i)))^{y_i}(1-h_{\theta}(x_i))^{1-y_i} L(Θ)=i=1∑mP(yi∣xi;θ)=i=1∑m(hθ(xi)))yi(1−hθ(xi))1−yi
2.4 通过对数将连乘转为连加
便于计算,且并不影响其单调性
l ( Θ ) = l o g L ( Θ ) = ∑ i = 1 m ( y ( i ) l o g ( h Θ ( x ( i ) ) ) + ( 1 − y ( i ) ) l o g ( 1 − h Θ ( x ( i ) ) ) ) l(\Theta) =logL(\Theta) =\sum_{i=1}^{m}(y^{(i)}log(h_{\Theta}(x^{(i)}))+(1-y^{(i)})log(1-h_{\Theta}(x^{(i)}))) l(Θ)=logL(Θ)=i=1∑m(y(i)log(hΘ(x(i)))+(1−y(i))log(1−hΘ(x(i))))
2.5 逻辑回归的损失函数
计算损失,即m个样本的平均损失,将求和的式子乘以 1 m \frac{1}{m} m1,这里将最大似然估计(以上式子)转化为最小 损失函数,便于利用梯度下降法求解。
J
(
Θ
)
=
−
1
m
∑
i
=
1
m
(
y
(
i
)
l
o
g
(
h
Θ
(
x
(
i
)
)
)
+
(
1
−
y
(
i
)
)
l
o
g
(
1
−
h
Θ
(
x
(
i
)
)
)
)
J(\Theta) = -\frac{1}{m}\sum_{i=1}^{m}(y^{(i)}log(h_{\Theta}(x^{(i)}))+(1-y^{(i)})log(1-h_{\Theta}(x^{(i)})))
J(Θ)=−m1i=1∑m(y(i)log(hΘ(x(i)))+(1−y(i))log(1−hΘ(x(i))))
2.6 损失函数求导
对损失函数求导,用于更新各参数。
∂ J ( Θ ) ∂ Θ j = 1 m ∑ i = 1 m ( h Θ ( x ( i ) − y ( i ) ) x j ( i ) \frac{\partial J(\Theta)}{\partial \Theta_j}= \frac{1}{m}\sum_{i=1}^{m}(h_{\Theta}(x^{(i)}-y^{(i)})x_j^{(i)} ∂Θj∂J(Θ)=m1i=1∑m(hΘ(x(i)−y(i))xj(i)