模型评估
由于前两章内容比较熟悉,只简单总结一下公式
评估方法
-
留出法
-
交叉验证法
-
自助法
性能度量
1.均方误差:
E
(
f
;
D
)
=
1
m
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
E(f;D)=\frac {1}{m}\sum_{i=1}^{m}(f(x_i)-y_i)^{2}
E(f;D)=m1i=1∑m(f(xi)−yi)2
更一般的,
E
(
f
;
D
)
=
∫
x
∽
D
(
f
(
x
i
)
−
y
i
)
2
p
(
x
)
d
x
E(f;D)=\int_{x\backsim\ D}(f(x_i)-y_i)^{2}p(x)dx
E(f;D)=∫x∽ D(f(xi)−yi)2p(x)dx
- 错误率
E ( f ; D ) = 1 m ∑ i = 1 m ∏ ( f ( x i ) ≠ y i ) 2 E(f;D)=\frac {1}{m}\sum_{i=1}^{m}\prod(f(x_i)\neq\ y_i)^{2} E(f;D)=m1i=1∑m∏(f(xi)= yi)2
- 精度
a c c ( f ; D ) = 1 − E ( f ; D ) acc(f;D)=1-E(f;D) acc(f;D)=1−E(f;D)
- 查准率和查全率
查准率:
P
=
T
P
T
P
+
F
P
P=\frac {TP}{TP+FP}
P=TP+FPTP
查全率:
R
=
T
P
T
P
+
F
N
R=\frac {TP}{TP+FN}
R=TP+FNTP
F1度量:
F
1
=
2
×
P
×
R
P
+
R
=
2
×
T
P
样
例
总
数
+
T
P
−
T
N
F1=\frac{2\times P\times R}{P+R}=\frac{2\times TP}{样例总数+TP-TN}
F1=P+R2×P×R=样例总数+TP−TN2×TP
F1度量的一般形式:
F
β
=
(
1
+
β
2
)
×
P
×
R
(
β
2
×
P
)
+
R
F_\beta =\frac{(1+\beta ^2)\times P\times R}{(\beta ^2\times P)+R}
Fβ=(β2×P)+R(1+β2)×P×R
- ROC和AUC曲线
真正利率(True Positive Rate)
T P R = T P T P + F N TPR=\frac{TP}{TP+FN} TPR=TP+FNTP
假正利率(False Positive Rate)
F P R = F P T N + F P FPR=\frac{FP}{TN+FP} FPR=TN+FPFP
A U C = 1 2 ∑ i = 1 m − 1 ( x i + 1 − x i ) ( y i + y i + 1 ) = 1 − ℓ r a n k AUC=\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1-x_i})(y_i+y_{i+1})=1-\ell_{rank} AUC=21i=1∑m−1(xi+1−xi)(yi+yi+1)=1−ℓrank
线性模型
线性组合基本形式一般用向量表示:
f
(
x
)
=
w
T
x
+
b
f(x)=w^Tx+b
f(x)=wTx+b
w和b学得后,模型就得以确认。w可以直观的表示各属性在预测中的重要性。
线性回归
给定数据集
D
=
(
x
1
,
y
1
)
,
(
x
2
,
y
2
)
,
.
.
.
.
(
x
m
,
y
m
)
D={(x_1,y_1),(x_2,y_2),....(x_m,y_m)}
D=(x1,y1),(x2,y2),....(xm,ym)
,其中
x
i
=
(
x
i
1
;
x
i
2
;
.
.
.
.
;
x
i
d
)
,
y
i
∈
R
x_i=(x_{i1};x_{i2};....;x_{id}),y_i\in \Bbb{R}
xi=(xi1;xi2;....;xid),yi∈R
其中i是x在第i个属性上的取值。假设输入的属性数目只有一个,对于离散属性,若属性值间存在order,通过连续化将其转化成连续值,比如“高”“矮”转化为{1,0};如果不存在order,假定有k个属性,则转化为k维向量,如“瓜”类取值“西瓜”,“南瓜”,“黄瓜”转化为1(0,0,1),(0,1,0),(1,0,0)。
线性回归试图学得
f
(
x
i
)
=
w
i
T
x
+
b
,
使
得
f
(
x
i
)
≂
y
i
f(x_i)=w_i^Tx+b,使得f(x_i)\eqsim y_i
f(xi)=wiTx+b,使得f(xi)≂yi
如果我们试图让均方误差最小化,即可度量f(x)和y之间的差,此刻使用最小二乘法使样本到所找的直线上的欧氏距离之和最小。
(
w
∗
,
b
∗
)
=
arg
min
(
w
,
b
)
∑
i
=
1
m
(
f
(
x
i
)
−
y
i
)
2
=
arg
min
(
w
,
b
)
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
(w^*,b^*)=\arg\min_{(w,b)}\sum_{i=1}^{m}(f(x_i)-y_i)^2=\arg\min_{(w,b)}\sum_{i=1}^{m}(y_i-wx_i-b)^2
(w∗,b∗)=arg(w,b)mini=1∑m(f(xi)−yi)2=arg(w,b)mini=1∑m(yi−wxi−b)2
令
E
w
,
b
=
∑
i
=
1
m
(
y
i
−
w
x
i
−
b
)
2
E_{w,b}=\sum_{i=1}^{m}(y_i-wx_i-b)^2
Ew,b=i=1∑m(yi−wxi−b)2
分别对w,b求导,得出
w
=
∑
i
=
1
m
y
i
(
x
i
−
x
ˉ
)
∑
i
=
1
m
x
i
2
−
1
m
(
∑
i
=
1
m
x
i
)
2
w=\frac{\sum_{i=1}^my_i(x_i-\bar x)}{\sum_{i=1}^mx_i^2-\frac{1}{m}(\sum_{i=1}^mx_i)^2}
w=∑i=1mxi2−m1(∑i=1mxi)2∑i=1myi(xi−xˉ)
b = 1 m ∑ i = 1 m ( y i − w x i ) b=\frac{1}{m}\sum_{i=1}^m(y_i-wx_i) b=m1i=1∑m(yi−wxi)
多元线性回归
类似的,当有d个属性描述时,
w
^
∗
=
arg
min
w
^
(
y
−
X
w
^
)
T
(
y
−
X
w
^
)
\hat{w}^*=\arg\min_{\hat{w}}(y-X\hat{w})^T(y-X\hat{w})
w^∗=argw^min(y−Xw^)T(y−Xw^)
令 E w ^ = ( y − X w ^ ) T ( y − X w ^ ) , 对 w ^ 求 导 : 令E\hat{w}=(y-X\hat{w})^T(y-X\hat{w}),对\hat{w}求导: 令Ew^=(y−Xw^)T(y−Xw^),对w^求导:
∂ E w ^ ∂ w ^ = 2 X T ( X w ^ − y ) \frac{\partial E\hat{w}}{\partial \hat{w}}=2X^T(X\hat{w}-y) ∂w^∂Ew^=2XT(Xw^−y)
当 X T X 为 满 秩 矩 阵 时 , 令 上 式 为 0 , 得 w ^ ∗ = ( X T X ) − 1 X T y 当X^TX为满秩矩阵时,令上式为0,得 \hat{w}^*=(X^TX)^{-1}X^Ty 当XTX为满秩矩阵时,令上式为0,得w^∗=(XTX)−1XTy
令
x
^
i
=
(
x
i
,
1
)
,
则
最
终
多
元
线
性
回
归
模
型
为
:
f
(
x
^
i
)
=
x
1
^
T
(
X
T
X
)
−
1
X
T
y
令\hat{x}_i=(x_i,1),则最终多元线性回归模型为:f(\hat{x}_i)=\hat{x_1}^T(X^TX)^{-1}X^Ty
令x^i=(xi,1),则最终多元线性回归模型为:f(x^i)=x1^T(XTX)−1XTy
对数几率回归
在二分类任务中,输出标记
$$
y\in { { 0,1 } }\
由此产生的z=W^Tx+b是实值,将z转换为0/1
$$
则设想理想的单位阶跃函数
y
=
{
0
,
z
<
0
0.5
,
z
=
0
1
,
z
>
0
y=\begin{cases} 0, z<0 \\ 0.5, z=0 \\ 1, z>0 \end{cases}
y=⎩⎪⎨⎪⎧0,z<00.5,z=01,z>0
若预测值z大于0为正例,依次类推。但是因为单位越阶函数不连续,我们寻找可替代的近似的对数几率函数
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
代入并变化得:
ln
y
1
−
y
=
w
T
x
+
b
\ln\frac{y}{1-y}=w^Tx+b
ln1−yy=wTx+b
将y视为后验概率估计,则改写为:
ln
(
y
=
1
∣
x
)
(
y
=
0
∣
x
)
=
w
T
x
+
b
\ln\frac{(y=1|x)}{(y=0|x)}=w^Tx+b
ln(y=0∣x)(y=1∣x)=wTx+b
然后通过极大似然法等等连续计算。
线性判别分析
略
决策树
信息增益
信息熵是度量样本集合纯度最常用的指标。
假
定
当
前
样
本
集
合
D
中
第
K
类
样
本
所
占
的
比
例
为
p
k
(
k
=
1
,
2
,
.
.
.
,
∣
y
∣
)
,
则
D
的
信
息
熵
比
例
为
E
n
t
(
D
)
=
−
∑
k
=
1
∣
y
∣
p
k
log
2
p
k
假定当前样本集合D中第K类样本所占的比例为p_k(k=1,2,...,|y|),则D的信息熵比例为\\ Ent(D)=-\sum_{k=1}^{|y|}p_k\log_2p_k\\
假定当前样本集合D中第K类样本所占的比例为pk(k=1,2,...,∣y∣),则D的信息熵比例为Ent(D)=−k=1∑∣y∣pklog2pk
Ent(D)的值越小,D的纯度越高。
假
设
离
散
属
性
a
有
V
个
可
能
取
值
{
a
1
,
a
2
,
.
.
.
,
a
v
}
,
如
果
使
用
a
对
样
本
集
D
进
行
划
分
,
会
产
生
V
个
分
支
节
点
。
其
中
第
v
个
分
支
节
点
包
含
了
D
中
所
有
在
属
性
a
上
取
值
为
a
v
。
根
据
上
式
计
算
出
D
v
的
信
息
熵
,
再
考
虑
到
不
同
分
支
节
点
包
含
的
样
本
数
不
同
,
给
此
分
支
节
点
赋
予
权
重
∣
D
v
∣
∣
D
∣
,
计
算
属
性
a
对
样
本
集
D
进
行
划
分
的
信
息
增
益
。
G
a
i
n
(
D
,
a
)
=
E
n
t
(
D
)
−
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
E
n
t
(
D
v
)
假设离散属性a有V个可能取值{\{a^1,a^2,...,a^v\} },如果使用a对样本集D进行划分,会产生V个分支节点。\\其中第v个分支节点包含了D中所有在属性a上取值为 a^v。根据上式计算出D^v的信息熵,再考虑到不同分支节点包\\含的样本数不同,给此分支节点赋予权重\frac{|D^v|}{|D|},计算属性a对样本集D进行划分的信息增益。\\ Gain(D,a)=Ent(D)-\sum_{v=1}^V\frac{|D^v|}{|D|}Ent(D^v)
假设离散属性a有V个可能取值{a1,a2,...,av},如果使用a对样本集D进行划分,会产生V个分支节点。其中第v个分支节点包含了D中所有在属性a上取值为av。根据上式计算出Dv的信息熵,再考虑到不同分支节点包含的样本数不同,给此分支节点赋予权重∣D∣∣Dv∣,计算属性a对样本集D进行划分的信息增益。Gain(D,a)=Ent(D)−v=1∑V∣D∣∣Dv∣Ent(Dv)
最 优 划 分 属 性 : a ∗ = arg max a ∈ A G a i n ( D , a ) 最优划分属性: a_*=\arg \max_{a\in A}Gain(D,a) 最优划分属性:a∗=arga∈AmaxGain(D,a)
信息增益越大,则使用属性a来划分所获得的的纯度提升越大。
增益率
信息增益对可取纸数目较多的属性有所偏好,为减少这种偏好可能带来的不利影响,可以使用增益率旋转最优划分属性。
G
a
i
n
_
r
a
t
i
o
(
D
,
a
)
=
G
r
a
i
n
(
D
,
a
)
I
V
(
a
)
其
中
I
V
(
a
)
=
−
∑
v
=
1
V
∣
D
v
∣
D
l
o
g
2
∣
D
v
∣
∣
D
∣
Gain\_ratio(D,a)=\frac{Grain(D,a)}{IV(a)}\\其中IV(a)=-\sum_{v=1}^V\frac{|D^v|}{D}log_2\frac{|D^v|}{|D|}
Gain_ratio(D,a)=IV(a)Grain(D,a)其中IV(a)=−v=1∑VD∣Dv∣log2∣D∣∣Dv∣
基尼系数
CART决策树使用基尼系数来选择划分属性。数据集D的纯度可用基尼值来度量:
G
i
n
i
(
D
)
=
∑
k
=
1
∣
y
∣
∑
k
′
≠
k
p
k
p
k
′
=
1
−
∑
k
=
1
∣
y
∣
p
k
2
Gini(D)=\sum_{k=1}^{|y|}\sum_{k'\neq k}p_kp_{k'}=1-\sum_{k=1}^{|y|}{p_k}^2
Gini(D)=k=1∑∣y∣k′=k∑pkpk′=1−k=1∑∣y∣pk2
Gini(D)反应从数据集D中随机抽取两个样本,类别标记不一致的概率,越小则数据集D的纯度越高。
基
尼
指
数
:
G
i
n
i
_
i
n
d
e
x
(
D
,
a
)
=
∑
v
=
1
V
∣
D
v
∣
D
G
i
n
i
(
D
v
)
基尼指数:Gini\_index(D,a)=\sum_{v=1}^V\frac{|D^v|}{D}Gini(D^v)
基尼指数:Gini_index(D,a)=v=1∑VD∣Dv∣Gini(Dv)
最 优 划 分 属 性 a ∗ = arg min a ∈ A G i n i _ i n d e x ( D , a ) 最优划分属性a_*=\arg\min_{a\in A} Gini\_index(D,a) 最优划分属性a∗=arga∈AminGini_index(D,a)
剪枝、连续值及缺失值
剪枝处理
为防止过拟合,可以主动去掉一些分支,两种方法:预剪枝(每个节点划分前先估计,若不能带来泛化性提升,停止划分当前并标记为叶节点)和后剪枝(先从训练集生成完整决策树,然后自底向上判断非叶节点的子树替换为叶节点是否带来泛华性提升。
连续值
可以基于划分点t(如从小到大排列后相邻中位点)将D分为属性a上取值不大于t或者大于t的的样本。
神经网络
神经元模型
神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
神经网络中最基本的成分是神经元模型,每个神经元和其他神经元相连,当它兴奋时向相邻的神经元发送化学物质以改变其电位,当某神经元电位超过一定阈值则其会被激活,接着向其他神经元发送化学物质。
M-P神经元模型:神经元接收到来自n个其他神经元传递过来的通过带权重的连接传递的输入信号,神经元将接收到的总收入值与神经元阈值进行比较,通过激活函数处理产生神经元输出。
理想的激活函数是阶跃函数,但是由于不连续不光滑,实际中一般用Sigmoid函数作为激活函数。
感知机和多层网络
感知机由两层神经元组成,输入层接收外界输入信号后传递给输出层,输出层是M-P神经元。
一层功能神经元学习能力非常有限,而与,或,非问题都是线性可分的,如果要解决非线性问题,需考虑使用多功能神经元,比如输出层与输入层之间加拥有激活函数的隐含层。更一般的是多层前馈神经网络。
误差传播算法
一 个 拥 有 d 个 输 入 神 经 元 , l 个 输 出 神 经 元 , q 个 隐 层 神 经 元 的 多 层 前 馈 网 络 神 经 结 构 , 其 中 输 出 层 第 j 个 神 经 元 的 阈 值 用 θ j 表 示 , 隐 层 第 h 个 神 经 元 的 阈 值 用 γ h 表 示 输 入 层 第 i 个 神 经 元 与 隐 层 第 h 个 神 经 元 之 间 的 连 接 权 为 v i h 一个拥有d个输入神经元,l个输出神经元,q个隐层神经元的多层前馈网络神经结构,\\ 其中输出层第j个神经元的阈值用\theta_j表示,\\隐层第h个神经元的阈值用\gamma_h表示\\输入层第i个神经元与隐层第h个神经元之间的连接权为v_{ih}\\ 一个拥有d个输入神经元,l个输出神经元,q个隐层神经元的多层前馈网络神经结构,其中输出层第j个神经元的阈值用θj表示,隐层第h个神经元的阈值用γh表示输入层第i个神经元与隐层第h个神经元之间的连接权为vih 输 出 层 第 i 个 神 经 元 与 隐 层 第 h 个 神 经 元 之 间 的 连 接 权 为 w h j 隐 层 第 h 个 神 经 元 接 收 到 的 输 入 为 α h = ∑ i = 1 d v i h x i 输 出 层 第 j 个 神 经 元 接 收 到 的 输 入 为 β = ∑ h = 1 q w h j b h 假 设 隐 层 和 输 出 层 神 经 元 都 用 S i g m o i d 函 数 训 练 例 ( x k , y k ) , 假 定 神 经 网 络 输 出 为 y ^ k = ( y 1 k ^ , y 2 k ^ , . . . , y l k ^ ) 有 y ^ j k = f ( β j − θ j ) 网 络 在 ( x k , y k ) 上 的 均 方 差 为 E k = 1 2 ∑ j = 1 l ( y 1 k ^ − y j k ) 2 输出层第i个神经元与隐层第h个神经元之间的连接权为w_{hj}\\隐层第h个神经元接收到的输入为 \alpha_h=\sum_{i=1}^dv_{ih}x_i\\输出层第j个神经元接收到的输入为 \beta=\sum_{h=1}^{q}w_{hj}b_h\\假设隐层和输出层神经元都用Sigmoid函数\\训练例(x_k,y_k),假定神经网络输出为 \hat{y}_k=(\hat{y_1^k},\hat{y_2^k},...,\hat{y_l^k})\\有\hat{y}_j^k=f(\beta_j-\theta_j)\\网络在(x_k,y_k)上的均方差为E_k=\frac{1}{2}\sum_{j=1}^l(\hat{y_1^k}-y_j^k)^2 输出层第i个神经元与隐层第h个神经元之间的连接权为whj隐层第h个神经元接收到的输入为αh=i=1∑dvihxi输出层第j个神经元接收到的输入为β=h=1∑qwhjbh假设隐层和输出层神经元都用Sigmoid函数训练例(xk,yk),假定神经网络输出为y^k=(y1k^,y2k^,...,ylk^)有y^jk=f(βj−θj)网络在(xk,yk)上的均方差为Ek=21j=1∑l(y1k^−yjk)2
证明:略