系列博客主要为笔者·整理的来自西瓜书《机器学习》一书的烤盐学习笔记,内容侧重点为算法的理论推导。主要思路脑图见下,与书顺序相仿,不足之处,望读者们多多指正,希望共同进步!
引言
当我们拥有数据后,利用自身经验通过某种学习算法得到模型,然后利用模型进行预测,一言可大约概述西瓜的要做的。
基本术语
- 数据集
instance 示例
sample 样本
attribute 属性
feature 特征
instance/sample space 示例/样本空间
fecture vector 特征向量
- 模拟过程
learing 学习

training 训练
learning/training data 学习/训练数据
classification 分类
label space 标记空间
regression 回归
clustering 聚类
cluster 簇
binary classification 二分类
multi-class classification 多分类
supervised learning 有监督学习
unsupervised learning 无监督学习(如聚类,无标记信息,学习任务)
generalization 泛化能力(模型拟合新数据的能力)
overfitting 过拟合(训练好但泛化能力差)
underfitting 欠拟合(训练不好泛化也差)
假设空间
归纳(induction)——演绎(deduction)
归纳偏好
- 探索某种好的模型,希望模型有较好的泛化能力
- 学习算法好坏关键在其归纳偏好是否与问题相匹配
*数学计算误差的方式:
假设有两种学习算法: L a 、 L b \mathfrak{L}_{a}、\mathfrak{L}_{b} La、Lb
E o t e ( L a ∣ X , f ) = ∑ h ∑ x ∈ X − X P ( x ) I ( h ( x ) ≠ f ( x ) ) P ( h ∣ X , L a ) E_{o t e}\left(\mathfrak{L}_{a} | X, f\right)=\sum_{h} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right) Eote(La∣X,f)=h∑x∈X−X∑P(x)I(h(x)=f(x))P(h∣X,La)
[解析]:参见下式
∑ f E o t e ( L a ∣ X , f ) = ∑ f ∑ h ∑ x ∈ X − X P ( x ) I ( h ( x ) ≠ f ( x ) ) P ( h ∣ X , L a ) = ∑ x ∈ X − X P ( x ) ∑ h P ( h ∣ X , L a ) ∑ f I ( h ( x ) ≠ f ( x ) ) = ∑ x ∈ X − X P ( x ) ∑ h P ( h ∣ X , L a ) 1 2 2 ∣ X ∣ = 1 2 2 ∣ X ∣ ∑ x ∈ X − X P ( x ) ∑ h P ( h ∣ X , L a ) = 2 ∣ X ∣ − 1 ∑ x ∈ X − X P ( x ) ⋅ 1 \begin{aligned} \sum_{f}E_{ote}(\mathfrak{L}_a\vert X,f) &= \sum_f\sum_h\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h\vert X,\mathfrak{L}_a) \\ &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a)\sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x})) \\ &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a)\cfrac{1}{2}2^{\vert \mathcal{X} \vert} \\ &=\cfrac{1}{2}2^{\vert \mathcal{X} \vert}\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a) \\ &=2^{\vert \mathcal{X} \vert-1}\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \cdot 1\\ \end{aligned} f∑Eote(La∣X,f)=f∑h∑x∈X−X∑P(x)I(h(x)=f(x))P(h∣X,La)=x∈X−X∑P(x)h∑P(h∣X,La)f∑I(h(x)=f(x))=x∈X−X∑P(x)h∑P(h∣X,La)212∣X∣=212∣X∣x∈X−X∑P(x)h∑P(h∣X,La)=2∣X∣−1x∈X−X∑P(x)⋅1
[解析]:第1步到第2步是因为 ∑ i m ∑ j n ∑ k o a i b j c k = ∑ i m a i ⋅ ∑ j n b j ⋅ ∑ k o c k \sum_i^m\sum_j^n\sum_k^o a_ib_jc_k=\sum_i^m a_i \cdot \sum_j^n b_j \cdot \sum_k^o c_k ∑im∑jn∑koaibjck=∑imai⋅∑jnbj⋅∑kock;第2步到第3步:首先要知道此时我们对 f f f的假设是任何能将样本映射到{0,1}的函数且服从均匀分布,也就是说不止一个 f f f且每个 f f f出现的概率相等,例如样本空间只有两个样本时: X = { x 1 , x 2 } , ∣ X ∣ = 2 \mathcal{X}=\{\boldsymbol{x}_1,\boldsymbol{x}_2\},\vert \mathcal{X} \vert=2 X={
x1,x2},∣X∣=2,那么所有的真实目标函数 f f f为:
f 1 : f 1 ( x 1 ) = 0 , f 1 ( x 2 ) = 0 ; f 2 : f 2 ( x 1 ) = 0 , f 2 ( x 2 ) = 1 ; f 3 : f 3 ( x 1 ) = 1 , f 3 ( x 2 ) = 0 ; f 4 : f 4 ( x 1 ) = 1 , f 4 ( x 2 ) = 1 ; \begin{aligned} f_1:f_1(\boldsymbol{x}_1)=0,f_1(\boldsymbol{x}_2)=0;\\ f_2:f_2(\boldsymbol{x}_1)=0,f_2(\boldsymbol{x}_2)=1;\\ f_3:f_3(\boldsymbol{x}_1)=1,f_3(\boldsymbol{x}_2)=0;\\ f_4:f_4(\boldsymbol{x}_1)=1,f_4(\boldsymbol{x}_2)=1; \end{aligned} f1:f1(x1)=0,f1(x2)=0;f2:f2(x1)=0,f2(x2)=1;f3:f3(x1)=1,f3(x2)=0;f4:f4(x1)=1,f4(x2)=1;
一共 2 ∣ X ∣ = 2 2 = 4 2^{\vert \mathcal{X} \vert}=2^2=4 2∣X∣=22=4个真实目标函数。所以此时通过算法 L a \mathfrak{L}_a La学习出来的模型 h ( x ) h(\boldsymbol{x}) h(x)对每个样本无论预测值为0还是1必然有一半的 f f f与之预测值相等,例如,现在学出来的模型 h ( x ) h(\boldsymbol{x}) h(x)对 x 1 \boldsymbol{x}_1 x1的预测值为1,也即 h ( x 1 ) = 1 h(\boldsymbol{x}_1)=1 h(x1)=1,那么有且只有 f 3 f_3 f3和 f 4 f_4 f4与 h ( x ) h(\boldsymbol{x}) h(x)的预测值相等,也就是有且只有一半的 f f f与它预测值相等,所以 ∑ f I ( h ( x ) ≠ f ( x ) ) = 1 2 2 ∣ X ∣ \sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x})) = \cfrac{1}{2}2^{\vert \mathcal{X} \vert} ∑fI(h(x)=f(x))=212∣X∣;第3步一直到最后显然成立。值得一提的是,在这里我们假设真实的目标函数 f f f为“任何能将样本映射到{0,1}的函数且服从均匀分布”,但是实际情形并非如此,通常我们只认为能高度拟合已有样本数据的函数才是真实目标函数,例如,现在已有的样本数据为 { ( x 1 , 0 ) , ( x 2 , 1 ) } \{(\boldsymbol{x}_1,0),(\boldsymbol{x}_2,1)\} {
(x1,0),(x2,1)},那么此时 f 2 f_2 f2才是我们认为的真实目标函数,由于没有收集到或者压根不存在 { ( x 1 , 0 ) , ( x 2 , 0 ) } , { ( x 1 , 1 ) , ( x 2 , 0 ) } , { ( x 1 , 1 ) , ( x 2 , 1 ) } \{(\boldsymbol{x}_1,0),(\boldsymbol{x}_2,0)\},\{(\boldsymbol{x}_1,1),(\boldsymbol{x}_2,0)\},\{(\boldsymbol{x}_1,1),(\boldsymbol{x}_2,1)\} {
(x1,0),(x2,0)},{
(x1,1),(x2,0)},{
(x1,1),(x2,1)}这类样本,所以 f 1 , f 3 , f 4 f_1,f_3,f_4 f1,f3,f4都不算是真实目标函数。这也就是西瓜书公式(1.3)下面的第3段话举的“骑自行车”的例子所想表达的内容。
参考:
- 西瓜书
- 南瓜书