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

本篇文章是在参考西瓜书、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(yx )作为预测的模型,即通过下式计算条件概率。
P ( y ∣ x ⃗ ) = P ( x ⃗ , y ) P ( x ⃗ ) P(y|\vec{x})=\frac{P(\vec{x},y)}{P(\vec{x})} P(yx )=P(x )P(x ,y)
例:朴素贝叶斯、GMM

1.1.2 判别模型

直接学习决策函数 f ( x ⃗ ) f(\vec{x}) f(x )或者条件概率分布 P ( y ∣ x ⃗ ) P(y|\vec{x}) P(yx )
例:决策树、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=1mP(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θmaxP(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θmaxP(θD)=argθmaxP(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)=iP(X=i)log2P(X=i)
我们称这个期望编码长度为这个信源的熵,记作 H ( x ) H(x) H(x). 显然,若信源(这个数据集)只会产生一种属性,则熵为 0;若信源可以等概率地产生两种属性,则熵为 1。
于是我们认为,熵可以衡量一个数据集的信息“纯度”。信息越纯,熵就越低;信息越混杂,熵就越高。

哈工大机器学习复习笔记(一)_第1张图片

条件熵

  • 特定条件熵:是指 X X X在给定 Y = v Y=v Y=v这个条件时的熵 H ( X ∣ Y = v ) H(X|Y=v) H(XY=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(XY=v)=iP(X=iY=v)log2P(X=iY=v)
  • 条件熵:是指 X X X在给定 Y Y Y条件下的熵 H ( X ∣ Y ) H(X|Y) H(XY)
    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(XY)=vvar(Y)P(Y=v)H(XY=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(XY)=H(Y)H(YX)=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=1np(xi)log2q(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=1np(xi)log2p(xi)i=1np(xi)log2q(xi)=H(p(x))+[i=1np(xi)log2q(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=1np(xi)log2q(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)childNparentNchildEntropy(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(DA)
特点(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=1VDDvlog2DDv
称为属性 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 Dwx x D~wx p~k=x D~wx x D~kwx r~v=x D~wx x D~vwx
直观地看, ρ \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=1Vr~vEnt(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~vwx .
哈工大机器学习复习笔记(一)_第2张图片 哈工大机器学习复习笔记(一)_第3张图片 哈工大机器学习复习笔记(一)_第4张图片 哈工大机器学习复习笔记(一)_第5张图片

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+byi
为便于讨论,我们把 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= 111x11x21xm1x12x22xm2x1dx2dxmd
定义误差函数
E ( w ) = ( y − X w ) T ( y − X w ) E(w)=(y-Xw)^T(y-Xw) E(w)=(yXw)T(yXw)
利用最小二乘法,我们需要求解 w ∗ w^* w使得上式最小,即
w ∗ = arg ⁡ min ⁡ w E ( w ) w^*=\arg \min_w E(w) w=argwminE(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)=(yTwTXT)(yXw)=yTyyTXwwTXTy+wTXTXw=yTy2wTXTy+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 wE(w)=2XTXw2XTy
令偏导数等于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= 111x1x2xNx12x22xN2x1mx2mxNm
其余求解步骤和线性回归相似。

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λ∣∣w2

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

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π σ1exp{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∣Σ∣ 1exp{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(AB)=P(B)P(BA)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=yX)=yP(XY=y)P(Y=y)P(XY=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=1mP(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θmaxP(Dθ)

哈工大机器学习复习笔记(一)_第6张图片 哈工大机器学习复习笔记(一)_第7张图片 哈工大机器学习复习笔记(一)_第8张图片

过拟合

在伯努利分布(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+nnhead+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θmaxP(θD)=argθmaxP(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θmaxP(Dθ)P(θ)

哈工大机器学习复习笔记(一)_第9张图片 哈工大机器学习复习笔记(一)_第10张图片

值得注意的是,当样本数量较少时,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=iX=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=ix)=P(x)P(xY=i)P(Y=i)=kπkpk(x)πipi(x)=qi(x)
其中 p i ( x ) = P ( x ∣ Y = i ) p_i(x)=P(x|Y=i) pi(x)=P(xY=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) πapa(x)>πbpb(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
以二分类为例,如下图所示,两类分布均满足二维高斯分布

哈工大机器学习复习笔记(一)_第11张图片

假设类别先验(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(XY=1)P(Y=1)=P(X)θ(2π)2nΣ1211exp{21(Xμ1)TΣ11(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(XY=1)P(Y=1)=P(X)(1θ)(2π)2nΣ2211exp{21(Xμ2)TΣ21(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Σ21(Xμ2)21(Xμ1)TΣ11(Xμ1)}=1θθΣ1Σ2 exp{21(XTμ2T)Σ21(Xμ2)21(XTμ1T)Σ11(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)Σ21(Xμ2)(XTμ1T)Σ11(Xμ1)]=ln1θθ+lnΣ1Σ2 +21[(XTΣ21XXTΣ21μ2μ2TΣ21X+μ2TΣ21μ2)(XTΣ11XXTΣ11μ1μ1TΣ11X+μ1TΣ11μ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Σ21μ2+2XTΣ1μ1μ1TΣ11μ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(XY=1),p2(X)=P(XY=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)θ1p1(x),p(x)θ2p2(x)]p(x)dx=min[θ1p1(x),θ2p2(x)]dx=θL2p1(x)dx+(1θ)L1p2(x)dx
用图例来表示

哈工大机器学习复习笔记(一)_第12张图片

贝叶斯分类器是理论上最好的分类器,因为它最小化了分类错误的概率。
如上图所示,贝叶斯分类器选择 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(XY=0),p1(X)=P(XY=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(XY=0)r(XY=1)=aP(Y=1∣X)=bP(Y=0∣X)
如果希望风险尽可能小,那么对于每个 X X X,我们都应该让它的风险尽量小,即选择 r ( X ∣ Y = 0 ) r(X|Y=0) r(XY=0) r ( X ∣ Y = 1 ) r(X|Y=1) r(XY=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θ1p1(x),p(x)bθ0p0(x)]p(x)dx=min[aθ1p1(x),bθ0p0(x)]dx=a(1θ)L0p1(x)dx+bθL1p0(x)dx
用图例来表示

哈工大机器学习复习笔记(一)_第13张图片

在期望损失最小意义下,决策面 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θ1p1(x0)=bθ0p0(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θ1p1(x0)>bθ0p0(x0)时,我们把 x x x分为第1类
  • a θ 1 p 1 ( x 0 ) < b θ 0 p 0 ( x 0 ) a\theta_1p_1(x_0)aθ1p1(x0)<bθ0p0(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个个案(邻居),把这些邻居的类别的众数作为自己的类别。

哈工大机器学习复习笔记(一)_第14张图片

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

非参数估计

基本形式如下
p ^ ( X ) = 1 N k ( X ) V \hat p(X)=\frac1N\frac{k(X)}V p^(X)=N1Vk(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)=N1V(X)k1
基于这个估计,可以得到贝叶斯判别的决策函数为
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(k21)N1V1(X)(k11)N2V2(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(xixi)2 D(x,x)=(xx)TΣ(xx)

总结

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

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

你可能感兴趣的:(机器学习,哈工大,期末复习)