本篇文章是在参考西瓜书、PPT课件、网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助。这篇笔记只是复习的一个参考,大家一定要结合书本、PPT来进行复习,有些公式的推导最好能够自己演算一遍。由于作者水平有限,笔记中难免有些差错,欢迎大家评论留言。
完整版跳转

1. 概述

1.1 学习模型的分类

1.1.1 生成模型

通过数据学习联合概率分布 P ( x ⃗ , y ) P(\vec{x},y) P(x ,y)然后求出条件概率分布 P ( y ∣ x ⃗ ) P(y|\vec{x}) P(y∣x )作为预测的模型,即通过下式计算条件概率。
P ( y ∣ x ⃗ ) = P ( x ⃗ , y ) P ( x ⃗ ) P(y|\vec{x})=\frac{P(\vec{x},y)}{P(\vec{x})} P(y∣x )=P(x )P(x ,y)​
例:朴素贝叶斯、GMM

1.1.2 判别模型

直接学习决策函数 f ( x ⃗ ) f(\vec{x}) f(x )或者条件概率分布 P ( y ∣ x ⃗ ) P(y|\vec{x}) P(y∣x )。
例:决策树、SVM、线性回归、逻辑回归、kNN

1.2 估计参数的方法

1.2.1 极大似然估计(MLE)

已知训练集 D = { ( x ⃗ 1 , y 1 ) , ( x ⃗ 2 , y 2 ) , … , ( x ⃗ m , y m ) } \mathcal{D}=\{(\vec{x}_1,y_1),(\vec{x}_2,y_2),\dots,(\vec{x}_m,y_m)\} D={(x 1​,y1​),(x 2​,y2​),…,(x m​,ym​)},假设每个样本独立同分布,则出现这种训练集的概率为 P ( D ∣ θ ) = ∏ i = 1 m P ( y ~ i , x ⃗ i ∣ θ ) P(\mathcal{D}|\theta)=\prod_{i=1}^m{P(\tilde{y}_i,\vec{x}_i|\theta)} P(D∣θ)=∏i=1m​P(y~​i​,x i​∣θ),我们的目标是找 θ \theta θ使得 P ( D ∣ θ ) P(\mathcal{D}|\theta) P(D∣θ)最大,即
θ ^ = arg ⁡ max ⁡ θ P ( D ∣ θ ) \hat{\theta}=\arg \max_{\theta}P(\mathcal{D}|\theta) θ^=argθmax​P(D∣θ)

1.2.2 最大后验估计(MAP)

假设已知训练集 D = { ( x ⃗ 1 , y 1 ) , ( x ⃗ 2 , y 2 ) , … , ( x ⃗ m , y m ) } \mathcal{D}=\{(\vec{x}_1,y_1),(\vec{x}_2,y_2),\dots,(\vec{x}_m,y_m)\} D={(x 1​,y1​),(x 2​,y2​),…,(x m​,ym​)}和参数 θ \theta θ的先验分布 P ( θ ) P(\theta) P(θ),MAP选择在这种条件下概率最大的 θ \theta θ,即
θ ^ = arg ⁡ max ⁡ θ P ( θ ∣ D ) = arg ⁡ max ⁡ θ P ( D ∣ θ ) P ( θ ) P ( D ) \hat{\theta}=\arg\max_{\theta}P(\theta|\mathcal{D}) = \arg\max_{\theta}{\frac{P(\mathcal{D}|\theta)P(\theta)}{P\mathcal(D)}} θ^=argθmax​P(θ∣D)=argθmax​P(D)P(D∣θ)P(θ)​

1.2.3 算法

最小二乘法、梯度下降法、共轭梯度法

2. 决策树

决策树是一种基本的分类和回归方法。课程中主要利用决策树对样本进行分类。决策树,顾名思义,有着树形结构,它由结点和有向边组成,其中

  • 内部节点表示一个特征或者属性
  • 叶子结点表示一种分类
  • 有向边代表一种划分规则

优点:可读性强、分类速度快
决策树的学习通常包括三个步骤,分别是特征选择、决策树生成和决策树剪枝。

2.1 生成算法

生成算法可分为以下3步:

  1. 选择根节点,将所有数据放在根节点;
  2. 选择一个最优特征,并根据这个特征将训练数据分割成子集;
  3. 递归执行上一步,直至所有数据子集都基本被正确分类,或者没有合适的特征为止.

递归返回的三种情况:

  1. 当前结点包含的样本全属于同一类别,无需划分;
  2. 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分(标记为叶节点,将类别设置为该点所含样本最多的类别,可看做是当前节点的后验分布);
  3. 当前结点包含的样本集合为空,不能划分(标记为叶节点,类别设置为该节点父节点所含样本数最多的类别).

2.2 特征选择

希望决策树的分支节点所包含的样本尽可能属于同一类别,即节点的“纯度”尽可能高。

切分方案

  • 对于类别变量:可以考虑多路切分,一个取值对应一路切分。也可以考虑两路切分,此时将类别分成两个子集,此时需要找到最优切分方案。
  • 对于连续变量:可以考虑先离散化(例如聚类等手段),转为类别变量;也可以考虑二值决策(小于V的放在一路,大于等于V的放另一路),不过计算量可能很大。

假设我们要给一个数据集(属性是类别变量)编码。回顾哈夫曼编码,出现频率越多的字符会得到尽量短的编码,在这里亦然。 从信息论的角度,我们给出现概率为 p p p的属性,分配 log ⁡ 2 ( 1 / p ) \log_2(1/p) log2​(1/p)的编码长度。最后来计算任意一条数据的期望编码长度:
H ( x ) = − ∑ i P ( X = i ) log ⁡ 2 P ( X = i ) H(x)=-\sum_i{P(X=i) \log_2{P(X=i)}} H(x)=−i∑​P(X=i)log2​P(X=i)
我们称这个期望编码长度为这个信源的熵,记作 H ( x ) H(x) H(x). 显然,若信源(这个数据集)只会产生一种属性,则熵为 0;若信源可以等概率地产生两种属性,则熵为 1。
于是我们认为,熵可以衡量一个数据集的信息“纯度”。信息越纯,熵就越低;信息越混杂,熵就越高。

条件熵

  • 特定条件熵:是指 X X X在给定 Y = v Y=v Y=v这个条件时的熵 H ( X ∣ Y = v ) H(X|Y=v) H(X∣Y=v)
    H ( X ∣ Y = v ) = − ∑ i P ( X = i ∣ Y = v ) log ⁡ 2 P ( X = i ∣ Y = v ) H(X|Y=v)=-\sum_i{P(X=i|Y=v)\log_2{P(X=i|Y=v)}} H(X∣Y=v)=−i∑​P(X=i∣Y=v)log2​P(X=i∣Y=v)
  • 条件熵:是指 X X X在给定 Y Y Y条件下的熵 H ( X ∣ Y ) H(X|Y) H(X∣Y)
    H ( X ∣ Y ) = ∑ v ∈ v a r ( Y ) P ( Y = v ) H ( X ∣ Y = v ) H(X|Y)=\sum_{v\in var(Y)}{P(Y=v)H(X|Y=v)} H(X∣Y)=v∈var(Y)∑​P(Y=v)H(X∣Y=v)
  • 互信息:
    I ( X ; Y ) = H ( X ) − H ( X ∣ Y ) = H ( Y ) − H ( Y ∣ X ) = H ( X ) + H ( Y ) − H ( X , Y ) I(X;Y)=H(X)-H(X|Y)=H(Y)-H(Y|X)=H(X)+H(Y)-H(X,Y) I(X;Y)=H(X)−H(X∣Y)=H(Y)−H(Y∣X)=H(X)+H(Y)−H(X,Y)

相对熵(KL散度)

相对熵用于描述两个分布之间的差异,假设 P P P代表真实分布, Q Q Q代表预测分布,那么这两个分布之间就有一个“相似度”,那么就可以描述它们之间的差异的大小,这就是相对熵。计算公式如下。
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) log ⁡ 2 p ( x i ) q ( x i ) D_{KL}(p||q)=\sum_{i=1}^n{p(x_i)\log_2\frac{p(x_i)}{q(x_i)}} DKL​(p∣∣q)=i=1∑n​p(xi​)log2​q(xi​)p(xi​)​
显然, D K L ( p ∣ ∣ q ) ≠ D K L ( q ∣ ∣ p ) D_{KL}(p||q) \neq D_{KL}(q||p) DKL​(p∣∣q)=DKL​(q∣∣p).

交叉熵

在机器学习中,评估一个模型的好坏,只需要计算KL散度即可,而对KL散度公式做一下变形,我们发现,只需要关注交叉熵即可:
D K L ( p ∣ ∣ q ) = ∑ i = 1 n p ( x i ) log ⁡ 2 p ( x i ) − ∑ i = 1 n p ( x i ) log ⁡ 2 q ( x i ) = − H ( p ( x ) ) + [ − ∑ i = 1 n p ( x i ) log ⁡ 2 q ( x i ) ] \begin{aligned} D_{KL}(p||q) &=\sum_{i=1}^n{p(x_i)\log_2 p(x_i)}-\sum_{i=1}^n{p(x_i)\log_2 q(x_i)}\\ &= -H(p(x))+[-\sum_{i=1}^n{p(x_i)\log_2 q(x_i)}] \end{aligned} DKL​(p∣∣q)​=i=1∑n​p(xi​)log2​p(xi​)−i=1∑n​p(xi​)log2​q(xi​)=−H(p(x))+[−i=1∑n​p(xi​)log2​q(xi​)]​
等式的前一部分恰巧就是 p p p的熵,这部分是不会变化的,而等式的后一部分,就是交叉熵
H ( p , q ) = − ∑ i = 1 n p ( x i ) log ⁡ 2 q ( x i ) H(p,q)=-\sum_{i=1}^n{p(x_i)\log_2 q(x_i)} H(p,q)=−i=1∑n​p(xi​)log2​q(xi​)

信息增益

定义信息增益
G a i n = E n t r o p y ( p a r e n t ) − ∑ c h i l d N c h i l d N p a r e n t E n t r o p y ( c h i l d ) Gain=Entropy(parent)-\sum_{child}\frac{N_{child}}{N_{parent}}Entropy(child) Gain=Entropy(parent)−child∑​Nparent​Nchild​​Entropy(child)
信息增益实际上反映了目标类变量与属性A变量在D(样本集)上的互信息,即
G a i n ( D , A ) = H ( D ) − H ( D ∣ A ) Gain(\mathcal{D},A)=H(\mathcal{D})-H(\mathcal{D}|A) Gain(D,A)=H(D)−H(D∣A)
特点(ID3以信息增益为准则来选择划分属性):

  • 信息增益大的特征具有更强的分类能力(如果某个特征的信息增益为0,则表示其没有什么分类能力)
  • 缺点:倾向于选择具有切分分支多的属性,易导致生成的决策树不具有泛化能力

增益率

G a i n _ r a t i o ( D , A ) = G a i n ( D , A ) I V ( A ) Gain\_ratio(\mathcal{D},A)=\frac{Gain(\mathcal{D},A)}{IV(A)} Gain_ratio(D,A)=IV(A)Gain(D,A)​
其中
I V ( A ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ⁡ 2 ∣ D v ∣ ∣ D ∣ IV(A)=-\sum_{v=1}^V{\frac{|\mathcal{D}^v|}{|\mathcal{D}|}}\log_2\frac{|\mathcal{D}^v|}{|\mathcal{D}|} IV(A)=−v=1∑V​∣D∣∣Dv∣​log2​∣D∣∣Dv∣​
称为属性 A A A的“固有值”。属性 A A A的可能取值数目越多,则 I V ( A ) IV(A) IV(A)的值通常也会越大。

特点

  • 本质上是对信息增益乘以加权系数,当特征A取值集合较大时加权系数较小,表示抑制该特征,反之亦成立
  • 缺点:对可取值数目较少的属性有所偏好

C4.5算法先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率较高的,即综合考虑信息增益和增益率。

2.3 剪枝算法

Occam’s 剃刀:选择适合训练集合数据的最简单假设

2.3.1 预剪枝

在算法变成一棵完全成熟的树之前停止它,节点的典型停止情况:

  • 如果所有实例都属于同一个类,则停止
  • 如果所有属性值都相同,则停止

更多的限制条件:

  • 如果实例数量少于用户指定的阈值,则停止;
  • 如果实例的类分布与可用的特征无关,停止(例如,使用$ χ 2 \chi^2 χ2检验);
  • 如果扩展当前节点不能改善混杂度量(例如,基尼系数或信息增益),停止。

特点

  • 不仅降低了过拟合的风险,还显著减少了决策树的训练时间
  • 有些划分虽然当前无法带来泛化性能的提升,甚至可能导致泛化性能暂时下降,但在其基础上进行的后续划分却有可能导致性能显著提高。因此,预剪枝基于“贪心”本质禁止这些分支展开,可能存在欠拟合的风险

2.3.2 后剪枝

使决策树完整生长,以自底向上的方式修剪决策树的节点,如果修剪后泛化误差有所改善,则用叶节点替换子树,叶节点的类标签由子树中的大多数实例类确定,可以使用MDL (Minimum Description Length)进行后剪枝。

特点

  • 后剪枝决策树通常比预剪枝决策树保留了更多的分支,欠拟合风险较小,且泛化性能往往优于预剪枝决策树;
  • 训练时间开销比未剪枝决策树和预剪枝决策树要大得多。

2.4 缺失值处理

给定训练集 D \mathcal{D} D和属性 A A A,令 D ~ \tilde{\mathcal{D}} D~表示 D \mathcal{D} D中 A A A属性没有缺失值的样本子集, D i ~ \tilde{\mathcal{D}^i} Di~表示 D ~ \tilde{\mathcal{D}} D~中 A A A属性取值为 a i a_i ai​的样本子集, D k ~ \tilde{\mathcal{D}_k} Dk​~​表示 D ~ \tilde{\mathcal{D}} D~中第 k k k类的样本子集。为每个样本赋予一个权重 w x ⃗ w_{\vec{x}} wx ​,并定义
ρ = ∑ x ⃗ ∈ D ~ w x ⃗ ∑ x ⃗ ∈ D w x ⃗ p ~ k = ∑ x ⃗ ∈ D ~ k w x ⃗ ∑ x ⃗ ∈ D ~ w x ⃗ r ~ v = ∑ x ⃗ ∈ D ~ v w x ⃗ ∑ x ⃗ ∈ D ~ w x ⃗ \rho=\frac{\sum_{\vec{x}\in \tilde{\mathcal{D}}}{w_{\vec{x}}}}{\sum_{\vec{x}\in \mathcal{D}}{w_{\vec{x}}}}\\ \tilde{p}_k=\frac{\sum_{\vec{x}\in \tilde{\mathcal{D}}_k}{w_{\vec{x}}}}{\sum_{\vec{x}\in \tilde{\mathcal{D}}}{w_{\vec{x}}}}\\\tilde{r}_v=\frac{\sum_{\vec{x}\in \tilde{\mathcal{D}}^v}{w_{\vec{x}}}}{\sum_{\vec{x}\in \tilde{\mathcal{D}}}{w_{\vec{x}}}} ρ=∑x ∈D​wx ​∑x ∈D~​wx ​​p~​k​=∑x ∈D~​wx ​∑x ∈D~k​​wx ​​r~v​=∑x ∈D~​wx ​∑x ∈D~v​wx ​​
直观地看, ρ \rho ρ表示无缺失值样本所占的比例, p ~ k \tilde{p}_k p~​k​表示无缺失值样本中第 k k k类所占的比例, r ~ v \tilde{r}_v r~v​则表示无缺失值样本中在属性 A A A上取值为 A v A^v Av的样本所占的比例。
信息增益公式的推广
G a i n ( D , A ) = ρ × G a i n ( D ~ , A ) = ρ × ( E n t ( D ~ ) − ∑ v = 1 V r ~ v E n t ( D ~ v ) ) \begin{aligned} Gain(\mathcal{D},A)&=\rho \times Gain(\tilde{\mathcal{D}},A)\\ & =\rho \times (Ent(\tilde{\mathcal{D}})-\sum_{v=1}^V {\tilde{r}_v}Ent(\tilde{\mathcal{D}}^v)) \end{aligned} Gain(D,A)​=ρ×Gain(D~,A)=ρ×(Ent(D~)−v=1∑V​r~v​Ent(D~v))​

  • 如果 x ⃗ \vec{x} x 在属性 A A A上的取值已知,则正常划分且保持权重 w x ⃗ w_{\vec{x}} wx ​;
  • 如果 x ⃗ \vec{x} x 在属性 A A A上的取值缺失,则将该样本同时划入所有子结点,且样本权值在与属性 A v A^v Av对应的子结点中调整为 r ~ v ⋅ w x ⃗ \tilde{r}_v \cdot w_{\vec{x}} r~v​⋅wx ​.

3. 曲线拟合(Lab1)

3.1 线性回归和最小二乘法

给定数据集 D = { ( x ⃗ 1 , y 1 ) , ( x ⃗ 2 , y 2 ) , … , ( x ⃗ m , y m ) } \mathcal{D}=\{(\vec{x}_1,y_1),(\vec{x}_2,y_2),\dots,(\vec{x}_m,y_m)\} D={(x 1​,y1​),(x 2​,y2​),…,(x m​,ym​)},其中 x ⃗ i \vec{x}_i x i​为 d d d维向量。线性回归模型试图学得
f ( x ⃗ i ) = w T x ⃗ i + b ⋍ y i f(\vec{x}_i)=w^T\vec{x}_i+b\backsimeq y_i f(x i​)=wTx i​+b⋍yi​
为便于讨论,我们把 b b b看做是 w 0 w_0 w0​,进而吸收进 w w w向量中。相应的,把数据集 D \mathcal{D} D表示为一个 m × ( d + 1 ) m \times (d+1) m×(d+1)大小的矩阵 X X X,其中每行对应于一个样本,把每行的第一个元素设为1,其余的 d d d个元素对应于样本的 d d d个属性值,即
X = [ 1 x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d ⋮ ⋮ ⋮ ⋱ ⋮ 1 x m 1 x m 2 ⋯ x m d ] X= \begin{bmatrix} 1 & x_{11} & x_{12} & \cdots & x_{1d} \\ 1 & x_{21} & x_{22} & \cdots & x_{2d} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_{m1} & x_{m2} & \cdots & x_{md} \end{bmatrix} X= ​11⋮1​x11​x21​⋮xm1​​x12​x22​⋮xm2​​⋯⋯⋱⋯​x1d​x2d​⋮xmd​​ ​
定义误差函数
E ( w ) = ( y − X w ) T ( y − X w ) E(w)=(y-Xw)^T(y-Xw) E(w)=(y−Xw)T(y−Xw)
利用最小二乘法,我们需要求解 w ∗ w^* w∗使得上式最小,即
w ∗ = arg ⁡ min ⁡ w E ( w ) w^*=\arg \min_w E(w) w∗=argwmin​E(w)
先将 E ( w ) E(w) E(w)展开,得到
E ( w ) = ( y T − w T X T ) ( y − X w ) = y T y − y T X w − w T X T y + w T X T X w = y T y − 2 w T X T y + w T X T X w \begin{aligned} E(w)&=(y^T-w^TX^T)(y-Xw)\\ &=y^Ty-y^TXw-w^TX^Ty+w^TX^TXw\\ &=y^Ty-2w^TX^Ty+w^TX^TXw \end{aligned} E(w)​=(yT−wTXT)(y−Xw)=yTy−yTXw−wTXTy+wTXTXw=yTy−2wTXTy+wTXTXw​
对 w w w求导得
∂ E ( w ) ∂ w = 2 X T X w − 2 X T y \frac{\partial E(w)}{\partial w}=2X^TXw-2X^Ty ∂w∂E(w)​=2XTXw−2XTy
令偏导数等于0,可得
X T X w = X T y X^TXw=X^Ty XTXw=XTy
如果 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1存在,那么
w ∗ = ( X T X ) − 1 X T y w^*=(X^TX)^{-1}X^Ty w∗=(XTX)−1XTy
注: w T A w w^TAw wTAw对 w w w求偏导通常应该等于 A w + A T w Aw+A^Tw Aw+ATw,但由于这里 A = X T X A=X^TX A=XTX是对称阵,故
∂ ( w T X T X w ) ∂ w = 2 X T X w \frac{\partial (w^TX^TXw)}{\partial w}=2X^TXw ∂w∂(wTXTXw)​=2XTXw
如果 ( X T X ) − 1 (X^TX)^{-1} (XTX)−1不存在,那么 X T X w = X T y X^TXw=X^Ty XTXw=XTy的解不唯一,选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项,即倾向于选择 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣较小的解。

3.2 多项式拟合

本质上等价于线性拟合,只不过线性拟合的输入 X X X变为
X = [ 1 x 1 x 1 2 ⋯ x 1 m 1 x 2 x 2 2 ⋯ x 2 m ⋮ ⋮ ⋮ ⋱ ⋮ 1 x N x N 2 ⋯ x N m ] X= \begin{bmatrix} 1 & x_1 & x_1^2 & \cdots & x_1^m \\ 1 & x_2 & x_2^2 & \cdots & x_2^m \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & x_N & x_N^2 & \cdots & x_N^m \end{bmatrix} X= ​11⋮1​x1​x2​⋮xN​​x12​x22​⋮xN2​​⋯⋯⋱⋯​x1m​x2m​⋮xNm​​ ​
其余求解步骤和线性回归相似。

3.3 过拟合

我们刚刚的拟合过程,只对数据负责,不对分布负责,亦即不对未来的数据负责。最小二乘法只保证了“对于这些给定的点而言,我拟合出的超平面是最好的”;没有保证对于其他的点,也能与实际情况一致。此时,模型只注重于提升“在当前数据集下的性能”,亦即把训练误差降得很低;但没有考虑泛化能力,从而测试误差会很高。
我们在多项式拟合的过程中观测到,产生过拟合时, w w w的各个参数往往具有大的绝对值。于是我们考虑能不能在训练误差较小的同时,让 w w w尽可能小。办法就是往误差函数里面加惩罚项(亦称正则项): w w w的参数越大,惩罚项越大,会增加误差。显然,当误差最小时,应该训练误差很小、惩罚项也很小。于是误差式(在最小二乘误差的基础上)改为
E ~ ( w ) = E ( w ) + λ 2 ∣ ∣ w ∣ ∣ 2 \tilde{E}(w) = E(w)+\frac {\lambda}2||w||^2 E~(w)=E(w)+2λ​∣∣w∣∣2

  • 当惩罚项比重较大时会降低模型复杂度,有可能会出现欠拟合的情况;
  • 当惩罚项比重适当时模型复杂度与问题匹配,能较好地拟合数据,并且有一定的泛化能力;
  • 而当惩罚项比重较小时,会逐渐退化为原模型,这时有过拟合的风险。

4. 统计学习的建模工具

4.1 高斯分布

一维高斯分布
p ( x ) = 1 2 π σ exp ⁡ { − ( x − μ ) 2 2 σ 2 } p(x)=\frac{1}{\sqrt{2\pi}\sigma}\exp\{-\frac{(x-\mu)^2}{2\sigma^2}\} p(x)=2π ​σ1​exp{−2σ2(x−μ)2​}
多维高斯分布
p ( x ) = 1 ( 2 π ) k ∣ Σ ∣ exp ⁡ { − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) } p(x)=\frac{1}{\sqrt{(2\pi)^k|\Sigma|}}\exp\{-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)\} p(x)=(2π)k∣Σ∣ ​1​exp{−21​(x−μ)TΣ−1(x−μ)}

4.2 贝叶斯公式

P ( A ∣ B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B)=\frac{P(B|A)P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)P(A)​
更一般的形式
P ( Y = y ∣ X ) = P ( X ∣ Y = y ) P ( Y = y ) ∑ y P ( X ∣ Y = y ) P ( Y = y ) P(Y=y|X)=\frac{P(X|Y=y)P(Y=y)}{\sum_yP(X|Y=y)P(Y=y)} P(Y=y∣X)=∑y​P(X∣Y=y)P(Y=y)P(X∣Y=y)P(Y=y)​

4.3 极大似然估计(MLE)

已知训练集 D = { ( x ⃗ 1 , y 1 ) , ( x ⃗ 2 , y 2 ) , … , ( x ⃗ m , y m ) } \mathcal{D}=\{(\vec{x}_1,y_1),(\vec{x}_2,y_2),\dots,(\vec{x}_m,y_m)\} D={(x 1​,y1​),(x 2​,y2​),…,(x m​,ym​)},假设每个样本独立同分布,则出现这种训练集的概率为 P ( D ∣ θ ) = ∏ i = 1 m P ( y ~ i , x ⃗ i ∣ θ ) P(\mathcal{D}|\theta)=\prod_{i=1}^m{P(\tilde{y}_i,\vec{x}_i|\theta)} P(D∣θ)=∏i=1m​P(y~​i​,x i​∣θ),我们的目标是找 θ \theta θ使得 P ( D ∣ θ ) P(\mathcal{D}|\theta) P(D∣θ)最大,即
θ ^ = arg ⁡ max ⁡ θ P ( D ∣ θ ) \hat{\theta}=\arg \max_{\theta}P(\mathcal{D}|\theta) θ^=argθmax​P(D∣θ)

过拟合

在伯努利分布(Example 1)中,我们有
θ ^ h e a d = n h e a d n h e a d + n t a i l \hat{\theta}^{head}=\frac{n^{head}}{n^{head}+n^{tail}} θ^head=nhead+ntailnhead​
如果在训练集中,由于样本数量较少导致 n h e a d = 0 n^{head}=0 nhead=0,那么就会有 θ ^ h e a d = 0 \hat{\theta}^{head}=0 θ^head=0,我们就会预测硬币正面朝上的概率为零,这显然是不合理的。

解决方案:Smoothing

上式可被修正为
θ ^ h e a d = n h e a d + n ′ n h e a d + n t a i l + n ′ \hat{\theta}^{head}=\frac{n^{head}+n'}{n^{head}+n^{tail}+n'} θ^head=nhead+ntail+n′nhead+n′​
其中 n ′ n' n′是伪(虚拟)计数。

4.4 最大后验估计(MAP)

我们抛硬币10次,其中8次朝上,按照MLE的思路,这个硬币抛出正面朝上的概率就是0.8,然而实际生活中,我们不太会据此判断抛这个硬币八成正面朝上。这是因为我们见过的硬币都是比较均匀的,我们有“硬币一般是均匀的”这一个先验知识。
MLE的思想中,实际参数 θ \theta θ是一个定值,我们需要通过观测,来直接估计这个值,没有利用任何先验知识。而贝叶斯思想中, θ \theta θ是一个随机变量,不同的取值概率是不一样的,具体的概率分布是由我们依据经验来估计。比如我们可以估计,硬币“正面朝上”的概率服从以0.5为均值的正态分布。
最大后验方法(MAP)不是尝试最大化 P ( D ∣ θ ) P(\mathcal{D}|\theta) P(D∣θ),而是尝试最大化 P ( θ ∣ D ) P(\theta|\mathcal{D}) P(θ∣D). 也就是说,MLE是对于每一个 θ \theta θ,比较参数 θ \theta θ生成这个数据集的概率,是在 θ \theta θ指定的情况下求生成数据集 D \mathcal{D} D的概率;MAP是考虑在数据集已知的情况下, θ \theta θ最有可能的取值,是在数据集 D \mathcal{D} D给定的情况下,求 Θ = θ \Theta=\theta Θ=θ的概率。
假设已知训练集为 D \mathcal{D} D,参数 θ \theta θ的先验分布 P ( θ ) P(\theta) P(θ),MAP选择在这种条件下概率最大的 θ \theta θ,即
θ ^ = arg ⁡ max ⁡ θ P ( θ ∣ D ) = arg ⁡ max ⁡ θ P ( D ∣ θ ) P ( θ ) P ( D ) \hat{\theta}=\arg\max_{\theta}P(\theta|\mathcal{D}) = \arg\max_{\theta}{\frac{P(\mathcal{D}|\theta)P(\theta)}{P\mathcal(D)}} θ^=argθmax​P(θ∣D)=argθmax​P(D)P(D∣θ)P(θ)​
另外,我们注意到
P ( θ ∣ D ) = P ( D ∣ θ ) P ( θ ) P ( D ) ∝ P ( D ∣ θ ) P ( θ ) P(\theta|\mathcal{D}) = {\frac{P(\mathcal{D}|\theta)P(\theta)}{P\mathcal(D)}}\propto P(\mathcal{D}|\theta)P(\theta) P(θ∣D)=P(D)P(D∣θ)P(θ)​∝P(D∣θ)P(θ)
因此最后的优化的式子变为
θ ^ = arg ⁡ max ⁡ θ P ( D ∣ θ ) P ( θ ) \hat{\theta}= \arg\max_{\theta}{P(\mathcal{D}|\theta)P(\theta)} θ^=argθmax​P(D∣θ)P(θ)

值得注意的是,当样本数量较少时,MAP会倾向于先验概率;而当样本数量较大时,先验概率起到的作用微乎其微,MAP受似然值主导。

两种参数估计方法的对比和缺点

对比

  • MLE中 θ \theta θ是一个未知的常数,需要从数据中进行估计;MAP中 θ \theta θ是一个随机变量,我们假设了它的先验分布
  • 如果MAP中 θ \theta θ的先验服从均匀分布,则两种估计得到的结果相同
    缺点
  • MLE:如果数据集太小容易过拟合
  • MAP:两个有着不同先验的人将会得到不同的估计

5. 贝叶斯判别

贝叶斯决策论,在分类任务中是在所有相关概率都已知的理想情形下,考虑如何基于这些概率和误判损失来选择最优的类别标记

5.1 决策面推导

假设我们正在分类一个样本。对于每一个类,我们已知这个类生成这个样本的概率。那么现在想要判断某个样本 x x x出自哪个类别,只需要知道 P ( Y = i ∣ X = x ) P(Y=i|X=x) P(Y=i∣X=x),亦即
P ( Y = i ∣ x ) = P ( x ∣ Y = i ) P ( Y = i ) P ( x ) = π i p i ( x ) ∑ k π k p k ( x ) = q i ( x ) P(Y=i|x)=\frac{P(x|Y=i)P(Y=i)}{P(x)}=\frac{\pi_ip_i(x)}{\sum_k\pi_kp_k(x)}=q_i(x) P(Y=i∣x)=P(x)P(x∣Y=i)P(Y=i)​=∑k​πk​pk​(x)πi​pi​(x)​=qi​(x)
其中 p i ( x ) = P ( x ∣ Y = i ) p_i(x)=P(x|Y=i) pi​(x)=P(x∣Y=i), p i ( x ) p_i(x) pi​(x)称为似然函数。
在执行判别时,分母显然是个定值,我们只需要判断分子的大小。也就是说,若 π a p a ( x ) > π b p b ( x ) \pi_ap_a(x)>\pi_bp_b(x) πa​pa​(x)>πb​pb​(x),我们就判断 a a a类胜出。写成另一种形式,即
l a b = p a ( x ) p b ( x ) > π b π a l_{ab}=\frac{p_a(x)}{p_b(x)}>\frac{\pi_b}{\pi_a} lab​=pb​(x)pa​(x)​>πa​πb​​
上式中 l a b l_{ab} lab​称为似然比, π b π a = θ b a \frac{\pi_b}{\pi_a}=\theta_{ba} πa​πb​​=θba​称为判决阈值。 这种判别方式就是贝叶斯判别。
与之等价地,实践上可以两边取对数,再比较。决策函数是:
h ( X ) = − ln ⁡ p 1 ( X ) + ln ⁡ p 2 ( X ) > ln ⁡ π 1 π 2 h(X)=-\ln p_1(X)+\ln p_2(X)>\ln \frac{\pi_1}{\pi_2} h(X)=−lnp1​(X)+lnp2​(X)>lnπ2​π1​​
以二分类为例,如下图所示,两类分布均满足二维高斯分布

假设类别先验(class prior)如下
P ( Y = 1 ) = θ P ( Y = − 1 ) = 1 − θ P(Y=1)=\theta\\P(Y=-1)=1-\theta P(Y=1)=θP(Y=−1)=1−θ
当每个类别均是高斯分布时,我们可以得到一维决策面(decision boundary)
P ( Y = 1 ∣ X ) = P ( X ∣ Y = 1 ) P ( Y = 1 ) P ( X ) = θ 1 ( 2 π ) n 2 ∣ Σ 1 ∣ 1 2 exp ⁡ { − 1 2 ( X − μ 1 ) T Σ 1 − 1 ( X − μ 1 ) } P ( X ) P(Y=1|X)=\frac{P(X|Y=1)P(Y=1)}{P(X)}=\frac{\theta \frac{1}{(2\pi)^{\frac{n}{2}}|\Sigma_1|^{\frac1{2}}}\exp\{-\frac1{2}(X-\mu_1)^T\Sigma_1^{-1}(X-\mu_1)\}}{P(X)} P(Y=1∣X)=P(X)P(X∣Y=1)P(Y=1)​=P(X)θ(2π)2n​∣Σ1​∣21​1​exp{−21​(X−μ1​)TΣ1−1​(X−μ1​)}​ P ( Y = − 1 ∣ X ) = P ( X ∣ Y = − 1 ) P ( Y = − 1 ) P ( X ) = ( 1 − θ ) 1 ( 2 π ) n 2 ∣ Σ 2 ∣ 1 2 exp ⁡ { − 1 2 ( X − μ 2 ) T Σ 2 − 1 ( X − μ 2 ) } P ( X ) P(Y=-1|X)=\frac{P(X|Y=-1)P(Y=-1)}{P(X)}=\frac{(1-\theta) \frac{1}{(2\pi)^{\frac{n}{2}}|\Sigma_2|^{\frac1{2}}}\exp\{-\frac1{2}(X-\mu_2)^T\Sigma_2^{-1}(X-\mu_2)\}}{P(X)} P(Y=−1∣X)=P(X)P(X∣Y=−1)P(Y=−1)​=P(X)(1−θ)(2π)2n​∣Σ2​∣21​1​exp{−21​(X−μ2​)TΣ2−1​(X−μ2​)}​
令 P ( Y = 1 ∣ X ) / P ( Y = − 1 ∣ X ) = 1 P(Y=1|X)/P(Y=-1|X)=1 P(Y=1∣X)/P(Y=−1∣X)=1有(决策面)
1 = θ 1 − θ Σ 2 Σ 1 exp ⁡ { 1 2 ( X − μ 2 ) T Σ 2 − 1 ( X − μ 2 ) − 1 2 ( X − μ 1 ) T Σ 1 − 1 ( X − μ 1 ) } = θ 1 − θ Σ 2 Σ 1 exp ⁡ { 1 2 ( X T − μ 2 T ) Σ 2 − 1 ( X − μ 2 ) − 1 2 ( X T − μ 1 T ) Σ 1 − 1 ( X − μ 1 ) } \begin{aligned} 1&=\frac{\theta}{1-\theta}\sqrt{\frac{\Sigma_2}{\Sigma_1}}\exp\{\frac1{2}(X-\mu_2)^T\Sigma_2^{-1}(X-\mu_2)-\frac1{2}(X-\mu_1)^T\Sigma_1^{-1}(X-\mu_1)\}\\ &=\frac{\theta}{1-\theta}\sqrt{\frac{\Sigma_2}{\Sigma_1}}\exp\{\frac1{2}(X^T-\mu_2^T)\Sigma_2^{-1}(X-\mu_2)-\frac1{2}(X^T-\mu_1^T)\Sigma_1^{-1}(X-\mu_1)\} \end{aligned} 1​=1−θθ​Σ1​Σ2​​ ​exp{21​(X−μ2​)TΣ2−1​(X−μ2​)−21​(X−μ1​)TΣ1−1​(X−μ1​)}=1−θθ​Σ1​Σ2​​ ​exp{21​(XT−μ2T​)Σ2−1​(X−μ2​)−21​(XT−μ1T​)Σ1−1​(X−μ1​)}​
两边取对数得
0 = ln ⁡ θ 1 − θ + ln ⁡ Σ 2 Σ 1 + 1 2 [ ( X T − μ 2 T ) Σ 2 − 1 ( X − μ 2 ) − ( X T − μ 1 T ) Σ 1 − 1 ( X − μ 1 ) ] = ln ⁡ θ 1 − θ + ln ⁡ Σ 2 Σ 1 + 1 2 [ ( X T Σ 2 − 1 X − X T Σ 2 − 1 μ 2 − μ 2 T Σ 2 − 1 X + μ 2 T Σ 2 − 1 μ 2 ) − ( X T Σ 1 − 1 X − X T Σ 1 − 1 μ 1 − μ 1 T Σ 1 − 1 X + μ 1 T Σ 1 − 1 μ 1 ) ] \begin{aligned} 0&=\ln\frac{\theta}{1-\theta} + \ln \sqrt{\frac{\Sigma_2}{\Sigma_1}} + \frac1{2}[(X^T-\mu_2^T)\Sigma_2^{-1}(X-\mu_2)-(X^T-\mu_1^T)\Sigma_1^{-1}(X-\mu_1)]\\ &=\ln\frac{\theta}{1-\theta} + \ln \sqrt{\frac{\Sigma_2}{\Sigma_1}} + \frac1{2}[(X^T\Sigma_2^{-1}X-X^T\Sigma_2^{-1}\mu_2-\mu_2^T\Sigma_2^{-1}X+\mu_2^T\Sigma_2^{-1}\mu_2)\\&-(X^T\Sigma_1^{-1}X-X^T\Sigma_1^{-1}\mu_1-\mu_1^T\Sigma_1^{-1}X+\mu_1^T\Sigma_1^{-1}\mu_1)] \end{aligned} 0​=ln1−θθ​+lnΣ1​Σ2​​ ​+21​[(XT−μ2T​)Σ2−1​(X−μ2​)−(XT−μ1T​)Σ1−1​(X−μ1​)]=ln1−θθ​+lnΣ1​Σ2​​ ​+21​[(XTΣ2−1​X−XTΣ2−1​μ2​−μ2T​Σ2−1​X+μ2T​Σ2−1​μ2​)−(XTΣ1−1​X−XTΣ1−1​μ1​−μ1T​Σ1−1​X+μ1T​Σ1−1​μ1​)]​
若 Σ 1 = Σ 2 \Sigma_1=\Sigma_2 Σ1​=Σ2​,则
0 = ln ⁡ θ 1 − θ + 1 2 [ − 2 X T Σ − 1 μ 2 + μ 2 T Σ 2 − 1 μ 2 + 2 X T Σ − 1 μ 1 − μ 1 T Σ 1 − 1 μ 1 ] = ln ⁡ θ 1 − θ + X T ( Σ − 1 μ 1 − Σ − 1 μ 2 ) + 1 2 ( μ 2 T Σ − 1 μ 2 − μ 1 T Σ − 1 μ 1 ) \begin{aligned} 0&=\ln\frac{\theta}{1-\theta} + \frac1{2}[-2X^T\Sigma^{-1}\mu_2+\mu_2^T\Sigma_2^{-1}\mu_2+2X^T\Sigma^{-1}\mu_1-\mu_1^T\Sigma_1^{-1}\mu_1]\\ &=\ln\frac{\theta}{1-\theta} +X^T(\Sigma^{-1}\mu_1-\Sigma^{-1}\mu_2)+\frac12(\mu_2^T\Sigma^{-1}\mu_2-\mu_1^T\Sigma^{-1}\mu_1) \end{aligned} 0​=ln1−θθ​+21​[−2XTΣ−1μ2​+μ2T​Σ2−1​μ2​+2XTΣ−1μ1​−μ1T​Σ1−1​μ1​]=ln1−θθ​+XT(Σ−1μ1​−Σ−1μ2​)+21​(μ2T​Σ−1μ2​−μ1T​Σ−1μ1​)​
由此得到了一个关于 X X X的线性分类器,亦即分类面是一条直线(二维的情况)。

5.2 贝叶斯误差

首先定义
p 1 ( X ) = P ( X ∣ Y = 1 ) , p 2 ( X ) = P ( X ∣ Y = − 1 ) q 1 ( X ) = P ( Y = 1 ∣ X ) , q 2 ( X ) = P ( Y = − 1 ∣ X ) θ 1 = θ , θ 2 = 1 − θ p_1(X)=P(X|Y=1),p_2(X)=P(X|Y=-1)\\ q_1(X)=P(Y=1|X),q_2(X)=P(Y=-1|X)\\ \theta_1=\theta,\theta_2=1-\theta p1​(X)=P(X∣Y=1),p2​(X)=P(X∣Y=−1)q1​(X)=P(Y=1∣X),q2​(X)=P(Y=−1∣X)θ1​=θ,θ2​=1−θ
风险
r ( X ) = min ⁡ [ q 1 ( X ) , q 2 ( X ) ] r(X)=\min[q_1(X),q_2(X)] r(X)=min[q1​(X),q2​(X)]
则贝叶斯误差(风险的期望)
ϵ = E ( r ( x ) ) = ∫ r ( x ) p ( x ) d x = ∫ min ⁡ [ q 1 ( x ) , q 2 ( x ) ] p ( x ) d x = ∫ min ⁡ [ θ 1 p 1 ( x ) p ( x ) , θ 2 p 2 ( x ) p ( x ) ] p ( x ) d x = ∫ min ⁡ [ θ 1 p 1 ( x ) , θ 2 p 2 ( x ) ] d x = θ ∫ L 2 p 1 ( x ) d x + ( 1 − θ ) ∫ L 1 p 2 ( x ) d x \begin{aligned} \epsilon&=E(r(x))=\int r(x)p(x)dx\\ &=\int \min[q_1(x),q_2(x)]p(x)dx\\ &=\int \min[\frac{\theta_1p_1(x)}{p(x)},\frac{\theta_2p_2(x)}{p(x)}]p(x)dx\\ &=\int \min[\theta_1p_1(x),\theta_2p_2(x)]dx\\ &=\theta\int_{L_2}p_1(x)dx+(1-\theta)\int_{L_1}p_2(x)dx \end{aligned} ϵ​=E(r(x))=∫r(x)p(x)dx=∫min[q1​(x),q2​(x)]p(x)dx=∫min[p(x)θ1​p1​(x)​,p(x)θ2​p2​(x)​]p(x)dx=∫min[θ1​p1​(x),θ2​p2​(x)]dx=θ∫L2​​p1​(x)dx+(1−θ)∫L1​​p2​(x)dx​
用图例来表示

贝叶斯分类器是理论上最好的分类器,因为它最小化了分类错误的概率。
如上图所示,贝叶斯分类器选择 x = x 0 x=x_0 x=x0​作为决策面,这时风险的期望为 ϵ = S A + S B + S C \epsilon=S_A+S_B+S_C ϵ=SA​+SB​+SC​;而如果选择其他决策面(例如 x = x ^ x=\hat x x=x^),则 ϵ ′ = S A + S B + S C + S D > ϵ \epsilon'=S_A+S_B+S_C+S_D>\epsilon ϵ′=SA​+SB​+SC​+SD​>ϵ。故贝叶斯分类器可以最小化风险的期望,从而使出错的概率最小。

2020年第二题

Y Y Y为类别(两类, Y = 0 Y=0 Y=0和 Y = 1 Y=1 Y=1)随机变量,将真实类为 1 1 1的样本判断为类 0 0 0造成的损失为 a a a,反之为 b b b,如下表所示。那么期望损失最小意义下的分类准则?并用图例说明。

Y 0 1
0 0 a
1 b 0

首先定义
p 0 ( X ) = P ( X ∣ Y = 0 ) , p 1 ( X ) = P ( X ∣ Y = 1 ) q 0 ( X ) = P ( Y = 0 ∣ X ) , q 1 ( X ) = P ( Y = 1 ∣ X ) θ 0 = θ , θ 1 = 1 − θ p_0(X)=P(X|Y=0),p_1(X)=P(X|Y=1)\\ q_0(X)=P(Y=0|X),q_1(X)=P(Y=1|X)\\ \theta_0=\theta,\theta_1=1-\theta p0​(X)=P(X∣Y=0),p1​(X)=P(X∣Y=1)q0​(X)=P(Y=0∣X),q1​(X)=P(Y=1∣X)θ0​=θ,θ1​=1−θ
根据题意,对风险做出定义
r ( X ∣ Y = 0 ) = a P ( Y = 1 ∣ X ) r ( X ∣ Y = 1 ) = b P ( Y = 0 ∣ X ) \begin{aligned} r(X|Y=0)&=aP(Y=1|X)\\ r(X|Y=1)&=bP(Y=0|X)\\ \end{aligned} r(X∣Y=0)r(X∣Y=1)​=aP(Y=1∣X)=bP(Y=0∣X)​
如果希望风险尽可能小,那么对于每个 X X X,我们都应该让它的风险尽量小,即选择 r ( X ∣ Y = 0 ) r(X|Y=0) r(X∣Y=0)和 r ( X ∣ Y = 1 ) r(X|Y=1) r(X∣Y=1)中的较小值。所以,在期望损失最小意义下,
r ( X ) = min ⁡ { a P ( Y = 1 ∣ X ) , b P ( Y = 0 ∣ X ) } = min ⁡ { a q 1 ( X ) , b q 0 ( X ) } \begin{aligned} r(X)&=\min\{aP(Y=1|X),bP(Y=0|X)\}\\ &=\min\{aq_1(X),bq_0(X)\} \end{aligned} r(X)​=min{aP(Y=1∣X),bP(Y=0∣X)}=min{aq1​(X),bq0​(X)}​
此时风险的期望
ϵ = E ( r ( x ) ) = ∫ r ( x ) p ( x ) d x = ∫ min ⁡ [ a q 1 ( x ) , b q 0 ( x ) ] p ( x ) d x = ∫ min ⁡ [ a θ 1 p 1 ( x ) p ( x ) , b θ 0 p 0 ( x ) p ( x ) ] p ( x ) d x = ∫ min ⁡ [ a θ 1 p 1 ( x ) , b θ 0 p 0 ( x ) ] d x = a ( 1 − θ ) ∫ L 0 p 1 ( x ) d x + b θ ∫ L 1 p 0 ( x ) d x \begin{aligned} \epsilon&=E(r(x))=\int r(x)p(x)dx\\ &=\int \min[aq_1(x),bq_0(x)]p(x)dx\\ &=\int \min[\frac{a\theta_1p_1(x)}{p(x)},\frac{b\theta_0p_0(x)}{p(x)}]p(x)dx\\ &=\int \min[a\theta_1p_1(x),b\theta_0p_0(x)]dx\\ &=a(1-\theta)\int_{L_0}p_1(x)dx+b\theta\int_{L_1}p_0(x)dx \end{aligned} ϵ​=E(r(x))=∫r(x)p(x)dx=∫min[aq1​(x),bq0​(x)]p(x)dx=∫min[p(x)aθ1​p1​(x)​,p(x)bθ0​p0​(x)​]p(x)dx=∫min[aθ1​p1​(x),bθ0​p0​(x)]dx=a(1−θ)∫L0​​p1​(x)dx+bθ∫L1​​p0​(x)dx​
用图例来表示

在期望损失最小意义下,决策面 x = x 0 x=x_0 x=x0​满足
a θ 1 p 1 ( x 0 ) = b θ 0 p 0 ( x 0 ) a\theta_1p_1(x_0)=b\theta_0p_0(x_0) aθ1​p1​(x0​)=bθ0​p0​(x0​)

  • 当 a θ 1 p 1 ( x 0 ) > b θ 0 p 0 ( x 0 ) a\theta_1p_1(x_0)>b\theta_0p_0(x_0) aθ1​p1​(x0​)>bθ0​p0​(x0​)时,我们把 x x x分为第1类
  • 当 a θ 1 p 1 ( x 0 ) < b θ 0 p 0 ( x 0 ) a\theta_1p_1(x_0)<b\theta_0p_0(x_0) aθ1​p1​(x0​)<bθ0​p0​(x0​)时,我们把 x x x分为第0类

如上图所示,我们选择 x = x 0 x=x_0 x=x0​作为决策面,这时风险的期望为 ϵ = S A + S B + S C \epsilon=S_A+S_B+S_C ϵ=SA​+SB​+SC​;而如果选择其他决策面(例如 x = x ^ x=\hat x x=x^),则 ϵ ′ = S A + S B + S C + S D > ϵ \epsilon'=S_A+S_B+S_C+S_D>\epsilon ϵ′=SA​+SB​+SC​+SD​>ϵ。故我们的分类器可以最小化风险的期望,从而使出错的概率最小。
注:在贝叶斯判别中, a = b = 1 a=b=1 a=b=1,实际上是这一题的特殊情况。

5.3 KNN分类器

kNN的思想如下:对于一个个案,找到它附近的 k k k个个案(邻居),把这些邻居的类别的众数作为自己的类别。

kNN是比较接近于最优解的。有证据证明,渐近情况下,1-临近的分类器的误差小于2倍贝叶斯误差,不过这毕竟是理论结果。另外,若贝叶斯分类器误差为0,渐进地,k-临近的误差也会为0。

非参数估计

基本形式如下
p ^ ( X ) = 1 N k ( X ) V \hat p(X)=\frac1N\frac{k(X)}V p^​(X)=N1​Vk(X)​

其中, k k k为落在 X X X临近区域 R R R的数据点数量, V V V为区域 R R R的体积, N N N为样本总数。
对于kNN而言,我们对上式稍作修改,得到新的密度估计
p ^ ( X ) = 1 N k − 1 V ( X ) \hat p(X)=\frac1N\frac{k-1}{V(X)} p^​(X)=N1​V(X)k−1​
基于这个估计,可以得到贝叶斯判别的决策函数为
h ( X ) = − ln ⁡ p 1 ( X ) p 2 ( X ) = − ln ⁡ ( k 1 − 1 ) N 2 V 2 ( X ) ( k 2 − 1 ) N 1 V 1 ( X ) > ln ⁡ π 1 π 2 h(X)=-\ln \frac{p_1(X)}{p_2(X)} = -\ln \frac{(k_1-1)N_2V_2(X)}{(k_2-1)N_1V_1(X)} > \ln \frac{\pi_1}{\pi_2} h(X)=−lnp2​(X)p1​(X)​=−ln(k2​−1)N1​V1​(X)(k1​−1)N2​V2​(X)​>lnπ2​π1​​
对于Voting KNN分类器而言, k 1 + k 2 = k k_1+k_2=k k1​+k2​=k, V 1 = V 2 V_1=V_2 V1​=V2​, N 1 = N 2 N_1=N_2 N1​=N2​。

kNN是基于实例的学习。需要确定一个距离函数,需要确定超参数 k k k,然后kNN会根据手上已有的实例来进行分类。常用的距离函数有欧氏距离(L2范数)、曼哈顿距离(L1范数)、马氏距离等。
马氏距离的计算公式如下
D ( x , x ′ ) = ∑ i σ i 2 ​ ( x i ​ − x i ′ ​ ) 2 ​ ⇔ D ( x , x ′ ) = ( x − x ′ ) T Σ ( x − x ′ ) D(x,x^′)=\sqrt{\sum_iσ_i^2​(x_i​−x_i^′​)^2} ​⇔D(x,x^′)=\sqrt{(x−x^′)^TΣ(x−x^′)} D(x,x′)=i∑​σi2​​(xi​​−xi′​​)2 ​​⇔D(x,x′)=(x−x′)TΣ(x−x′) ​

总结

  • kNN不具有显式的学习过程,它直接基于实例对样本进行预测(惰性学习的代表);
  • kNN是非参数学习算法,它没有任何参数需要学习( k k k是超参数,不是需要学习的参数);
  • 当训练样本数量较大时kNN的精度较高;
  • 当数据很大的情况下kNN的计算成本较高;
  • 若某一个类的个案特别多,如果 k k k选得稍大了一点,就会导致错误分类(极端情况, k → + ∞ k \to +\infty k→+∞时,则kNN会直接把样本分到具有样本数量最多的类别)。

哈工大机器学习复习笔记(一)
哈工大机器学习复习笔记(二)
哈工大机器学习复习笔记(三)
哈工大机器学习复习笔记(四)

哈工大机器学习复习笔记(一)相关推荐

  1. 哈工大机器学习复习笔记(四)

    本篇文章是在参考西瓜书.PPT课件.网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助.这篇笔记只是复习的一个参考,大家一定要结合书本.PPT来进行复习,有些公式 ...

  2. 2.机器学习复习笔记-各种评估指标

    文章目录 TP FP TN FN 准确率(Accuracy) 精确率(Precision).召回率(Recall).PR曲线. F1 Score RMSE ROC PR曲线和ROC曲线对比 余弦距离. ...

  3. 哈工大信息安全概论复习笔记(2)

    哈工大信息安全概论复习笔记(2) 文章目录 哈工大信息安全概论复习笔记(2) 考点八 RSA公钥算法 考点九 散列函数的特点和作用 考点十 EMI.EMC.防电磁泄漏主要方法 考点十一 容错与容灾的概 ...

  4. 【人工智能】人工智能发展简史 | 复习笔记

    人工智能发展简史 人工智能基本概念 "人工智能" 是相对于"人类智能" 而言的,"人类智能"是"人工智能"的原型:&qu ...

  5. 2021 数据挖掘与大数据分析复习笔记 电子科技大学《数据挖掘与大数据分析期末》课程期末高分指南

    狼狈不堪的数据挖掘期末课程复习结束辽 给这门课程画上一个句号吧! 虽然之后主要方向是搞开发了 但是万一以后想去搞大数据捏~ 这是我总结的这门课程的部分章节内容 为了总结下这门课程所学 也让之后有缘找到 ...

  6. 自然语言处理复习笔记

    自然语言处理期末复习笔记 复习摘要 大致梳理了下<自然语言处理>这门课程的知识纲要 作者: Hongtauo CSDN链接:(27条消息) Hongtauo的博客_CSDN博客-笔记,实验 ...

  7. 吴恩达机器学习课程笔记一

    吴恩达机器学习课程笔记 前言 监督学习---`Supervised learning` 无监督学习---`Unsupervised learning` 聚类 异常检测 降维 增强学习---`Reinf ...

  8. 浙江大学-数据挖掘课程-复习笔记

    Home FrontEnd Wiki PaperReading Github Others About 浙江大学-数据挖掘课程-复习笔记 介绍 什么是数据挖掘:抽取interesting patter ...

  9. 【山东大学】web数据管理——复习笔记

    写在前面 若有图片加载失败,请科学上网 . 本文为对软件学院连老师的PPT课件总结所得的复习笔记,仅供参考.不保证对考点的全覆盖,以PPT为主. 对往年考过的题相关知识点前面都标注了"考过& ...

最新文章

  1. 读写锁ReadWriteLock
  2. 描述符应用 -- 让python变成一个强类型的语言
  3. 正在CPU上运行的进程_进程的概念,系统资源分配的单元
  4. docker logs 容器日志文件路径查看
  5. Resin 的 watchdog(看门狗)介绍
  6. oracle压缩参数,Oracle 11g版本EXPDP 的COMPRESSION参数压缩比堪比“gzip -9”
  7. java解析excel文件处理数字成像_Java处理Excel工具,POI解析,使用InputStream读取文件...
  8. spring cloud中gateway存在的意义是什么?
  9. 算法学习一:排序算法实现与算法性能分析
  10. Windows之远程访问×××的简单部署
  11. 在进入上交之后对未来的展望(第一篇博客)
  12. 信息学奥赛之数学一本通 pdf_整理青少年信息奥赛
  13. Ubuntu20.04Server双网卡问题
  14. MOEA/D的通俗解析--1.MOEA
  15. Win11应用商店打不开怎么办?
  16. 谷歌身份验证器(Google Authenticator)的使用详情
  17. 人脸特征点定位方法DEST, 基于VS2019+OpenCV3.4.6
  18. 树莓派学习笔记——串口与摄像头
  19. php 邮件上传类阿里云邮件上传接口
  20. 自媒体短视频搬运如何伪原创上热门!老司机教你伪原创短视频的做法

热门文章

  1. Python面向树莓派使用RPi.GPIO库
  2. 关联分析——频繁项集的产生之Apriori算法
  3. go-golang环境二进制安装(windows、linux 安装go、go安装)
  4. 如何计算并有效降低独立站的客户流失率?
  5. VMware无法连接网络问题不显示网络连接
  6. [bzoj5178] [Jsoi2011] 棒棒糖
  7. R语言ggpubr包的ggdotplot函数可视化偏差棒棒糖图(计算数值的z-score、自定义分组数据点色彩、自定义调色板、添加点图的线段、自定义线条形式颜色、排序从大到小、数据点大小、添加数据标签
  8. 最小长度路线板排列问题
  9. 几种常用回归算法——线性回归、支持向量机回归和KNN回归
  10. 字段是什么意思,ocpp文档里的FIELD(字段)