概论
基本术语
- 数据集:一组记录的集合,其中每条记录是关于一个事件或者对象的的描述
- 属性/特征:反映事件或者对象在某方面的表现或者性质的事项,属性上的取值是属性值
- 属性空间/样本空间/输入空间:属性张成的空间
- 特征向量:由于空间中的每一个点对应一个坐标向量,因此把一个事例成为特征向量
- 训练数据:从数据中学得模型的过程成为学习或者训练,训练过程中使用的数据称为训练数据集,其中每个样本称为一个训练样本
- 假设:学得模型对应了关于数据的某种潜在规律
- 分类问题:预测的是离散值
- 回归:预测的是连续值
- 聚类:将训练集的数据分成若干个组,每个组称为一个“簇”,
- 根据训练数据是否有标记信息,学习任务可以大致分为两类,监督学习和无监督学习,分类和回归是前者的代表,聚类是后者的代表
- 泛化能力:学得模型适用于新样本的能力
假设空间
- 归纳和演绎是科学推理的两大基本手段,前者是从特殊到一般的泛化,从具体的事情归结出一般性规律,后者则是从一般到特殊的特化过程,即从基础原理推演出具体状况。而从样例中学习显然是一个归纳的过程,因此称为归纳学习
- 归纳学习有狭义和广义之分,广义的归纳学习大体相当于从样例中学习,而狭义的归纳学习则要求从训练数据中学得概念。
- “记住”训练样本,就是所谓的“机械学习”
- 我们可以把学习过程看作一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”的假设
- 可以有很多策略对这个假设空间进行搜索,例如自顶向下,从一般到特殊,或者是自底向上,从特殊到一般,搜索过程中可以不断删除与正例不一致的假设,最终将会获得与训练集一致的假设,这就是我们最后学得的结果
归纳偏好 机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好” 任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上“等效”的假设所迷惑,而无法产生确定的学习结果 归纳偏好可以看作学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或者“价值观” 一般性原则:“奥卡姆剃刀”:若多个假设与观察一致,则选择最简单的那个; 事实上,归纳偏好对应了学习算法本身所做出的关于“什么样的模型更好”的假设。 模型评估与选择
经验误差与过拟合
- 错误率 E=a/m
- 精度 1-E
- 过拟合:当学习器把训练样本学得太好的时候,很可能已经把训练样本自身的一些特点当做了所有潜在样本会具有的一般性质,这样会导致泛化能力下降
一般原因是学习能力过于强大 - 欠拟合:训练样本的一般性质尚未学好
一般原因是学习能力低下
评估方法
可以选择一个测试集来测试学习器对于新样本的判别能力,然后以“测试误差”作为泛化误差的近似。通常我们也假设测试样本也是从样本真实分布中独立同分布采样得到的,但需要注意,测试集应该尽量与训练集互斥。
- 留出法
直接将数据集D划分为两个互斥的集合,一个作为训练集S,一个作为测试集T, 注意:数据集划分要尽可能保持数据分布的一致性,至少要保证类别比例相似,比如分层采样 单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分,重复进行实验评估后取平均值作为留出法的评估结果 - 交叉验证法
交叉验证法先将数据集D划分为k个大小相似的互斥子集,即D=D1∪D2…∪DK,D1∩D2∩…DK=?,每个子集尽可能保持数据分布的一致性,即从D中通过分层采样获得。然后使用其中K-1个子集的并集作为训练集和测试,最终返回是这K个测试结果的均值 - 自助法
直接以自助采样法为基础,给定包含m个样本的数据集D,我们对它进行采样产生数据集D’,每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集D中,使得该样本下次采样时仍有可能被采到;这个过程重复执行m次之后,我们就得到了包含m个样本的数据集D’,这就是自助采样的结果。通过自助采样,初始数据集D中约有36.8%的样本未出现在采样数据集D’中,将D’作为训练集,D/D’用作测试集,这样我们仍有数据总量约1/3的,没在训练集中出现的样本用于测试。 - 调参的与最终模型
调参:大多数学习算法都有些参数需要设定,参数配置不同,学得模型的性能往往有显著差别,所以我们还需要对算法参数进行设定。 最终模型:在模型选择完成后,学习算法和参数配置已经选定,此时应该用数据集D重新训练模型,这个模型在训练过程中使用了所有m个样本,这才是我们最终提交给用户的模型。 性能度量 对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量。性能度量往往会导致不同的评判结果,这意味着模型的“好坏”是相对的,什么样的模型是好的,不仅取决于算法和数据还取决于任务需求。 回归任务中常用的性能度量是“均方误差”
E
(
f
;
D
)
=
1
m
∑
i
=
1
m
(
f
(
x
i
)
?
y
i
)
2
E(f;D)=\frac{1}{m} \displaystyle\sum_{i=1}^m (f(x_i)-y_i)^2
E(f;D)=m1?i=1∑m?(f(xi?)?yi?)2 更一般的,对于数据分布D和概率密度函数p(.),均方差可以描述为
E
(
f
;
D
)
=
∫
D
(
f
(
x
)
?
y
)
2
p
(
x
)
d
x
E(f;D)=\smallint_D (f(x)-y)^2p(x)dx
E(f;D)=D∫?(f(x)?y)2p(x)dx
错误率与精度
错误率:
E
(
f
;
D
)
=
1
m
∑
i
=
1
m
(
f
(
x
i
)
≠
y
i
)
E(f;D)=\frac{1}{m} \displaystyle\sum_{i=1}^m (f(x_i)≠y_i)
E(f;D)=m1?i=1∑m?(f(xi?)?=yi?) 精度:
a
c
c
(
f
;
D
)
=
1
m
∑
i
=
1
m
(
f
(
x
i
)
=
y
i
)
=
1
?
E
(
f
;
D
)
acc(f;D)=\frac{1}{m} \displaystyle\sum_{i=1}^m (f(x_i)=y_i)=1-E(f;D)
acc(f;D)=m1?i=1∑m?(f(xi?)=yi?)=1?E(f;D) 更一般的表示
E
(
f
;
D
)
=
∫
D
(
f
(
x
)
≠
y
)
2
p
(
x
)
d
x
E(f;D)=\smallint_D (f(x)≠y)^2p(x)dx
E(f;D)=D∫?(f(x)?=y)2p(x)dx 查准率,查全率与F1 错误率和精度虽然常用,但不能满足所有任务需求 查准率:
P
=
T
P
T
P
+
F
P
P= \frac{TP}{TP+FP}
P=TP+FPTP? 查全率:
P
=
T
P
T
P
+
F
N
P= \frac{TP}{TP+FN}
P=TP+FNTP? 查全率和查准率是一对矛盾的度量,一般来说,查全率高等时候,查准率往往低,查准率高的时候,查全率往往比较低 查全率,查准率曲线 P-R图 “平衡点”(BEP)是“查准率=查全率的度量” 但是bep还是过于简化了一些,更常用的是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?
代价敏感错误率与代价曲线
前面的性能度量大都隐式假设了均等代价,在非均等的代价下,我们所希望的不再是简单地最小化错误次数,而是希望最小化“总体代价” 代价敏感的错误率:
E
(
f
;
D
)
=
1
m
(
∑
x
i
∈
D
+
(
f
(
x
i
)
≠
y
i
)
?
c
o
s
t
01
+
∑
x
i
∈
D
?
(
f
(
x
i
)
≠
y
i
)
?
c
o
s
t
10
)
E(f;D)=\frac{1}{m} \bigg(\displaystyle\sum_{x_i\isin D^+}(f(x_i)≠y_i)*cost_{01}+ \displaystyle\sum_{x_i\isin D^-}(f(x_i)≠y_i)*cost_{10}\bigg)
E(f;D)=m1?(xi?∈D+∑?(f(xi?)?=yi?)?cost01?+xi?∈D?∑?(f(xi?)?=yi?)?cost10?)
|