文章目录
判别函数法
两步贝叶斯决策:根据样本估计概率密度函数,再根据概率密度函数求分界面
判别函数法:基于样本直接进行分类器设计
确定三个基本要素:
- 分类器(判别函数)的类型
- 分类器设计的目标或准则
- 利用样本数据设计算法搜索最优的函数参数
-
贝叶斯分类器的优缺点:
- 优点:
- 使错误率或风险最小,理论上的最优分类器
- 用做评价其它分类器的参照
- 缺点:
- 需要已知有关样本总体分布的知识,包括各类的先验概率和类条件概率密度函数
- 获取统计分布及其参数这部分是很困难的,实际问题中并不一定具备获取准确统计分布的条件
- 优点:
-
分类问题:特征空间的划分问题
- 分类器的设计问题:确定分界面的问题
-
判别函数:表示分界面的函数(线性或非线性)
分界面的确定:
- 函数类型选择:由设计者选择
- 最佳参数确定:是依据一定的准则函数,通过一个学习过程来实现优化
4.1 线性判别函数
-
一般形式:
-
d d d 维特征空间中:线性判别函数表示为
g ( x ) = w 1 x 1 + w 2 x 3 + . . . + w d x d + w d + 1 = w T x + w d + 1 g(x)=w_1x_1+w_2x_3+...+w_dx_d+w_{d+1}=w^Tx+w_{d+1} g(x)=w1x1+w2x3+...+wdxd+wd+1=wTx+wd+1
其中 w w w 为加权向量 -
增广向量形式: x = ( x 1 , x 2 , . . . , x d , 1 ) T x=(x_1,x_2,...,x_d,1)^T x=(x1,x2,...,xd,1)T, w = ( w 1 , w 2 , . . . , w d , w d + 1 ) T w=(w_1,w_2,...,w_d,w_{d+1})^T w=(w1,w2,...,wd,wd+1)T
g ( x ) = w T x \color{red}g(x)=w^Tx g(x)=wTx
-
-
两类问题:
-
分界面: g ( x ) = w T x + w d + 1 = 0 g(x)=w^Tx+w_{d+1}=0 g(x)=wTx+wd+1=0
相应的分类规则是
- g ( x ) > 0 g(x)>0 g(x)>0,则决策 x ∈ ω 1 x\in \omega_1 x∈ω1
- g ( x ) < 0 g(x)<0 g(x)<0,则决策 x ∈ ω 2 x\in \omega_2 x∈ω2
- g ( x ) = 0 g(x)=0 g(x)=0,则可将 x x x 划分到任一类,或拒判
在高维特征空间中,分界面 g ( x ) = 0 g(x)=0 g(x)=0 是超平面
-
若两点 X 1 X_1 X1 和 X 2 X_2 X2 都在分界面上,则
w T X 1 + w d + 1 = w T X 2 + w d + 1 w T ( X 1 − X 2 ) = 0 w^TX_1+w_{d+1}=w^TX_2+w_{d+1}\\ w^T(X_1-X_2)=0 wTX1+wd+1=wTX2+wd+1wT(X1−X2)=0
即 w w w 是分界面的法向量,并且指向 g ( x ) > 0 g(x)>0 g(x)>0 的决策域。
-
-
线性判别函数分类器的设计:直接利用训练样本集建立线性判别函数式,即寻找最优的权向量 w w w 的过程
-
特点:
- 无需分析总体的统计分布
- 容易实现,但错误率和风险可能比贝叶斯分类器大
-
步骤:
- ⨀ \color{red}\bigodot ⨀ 1. 采集训练样本,构成训练样本集(样本应具有典型性)
- ⨀ \color{red}\bigodot ⨀ 2. 确定一个准则 J = J ( w , x ) \color{red}J=J(w,x) J=J(w,x),能反映分类器性能,且存在权值 w ∗ w^* w∗ 使得分类器性能最优
- ⨀ \color{red}\bigodot ⨀ 3. 设计求解 w w w 的最优算法,得到解向量 w ∗ w^* w∗
-
常用准则:感知器准则,最小平方误差准则,最小错分样本数准则,Fisher准则
-
4.1.1 感知器准则 Perceptron
Rosenblatt在1950s提出,最初用于脑模型、人工神经网络
-
感知器:
- 特点:
- 具有单层计算单元的神经元模型
- 多输入单输出的非线性器件
- 各个权值可以通过样本的训练学习来调整,从而实现线性可分函数
- 适用问题:二类分类问题
y = f ( ∑ i = 1 n w i x i ) = s g n ( w T x ) \color{red} y=f\left(\sum\limits_{i=1}^n w_ix_i\right)=sgn\left(w^Tx\right) y=f(i=1∑nwixi)=sgn(wTx) - 分类规则:
{ w T x > 0 , x ∈ ω 1 w T x < 0 , x ∈ ω 2 \begin{cases}\begin{aligned} &w^Tx>0, && x\in \omega_1\\ &w^Tx<0, && x\in \omega_2 \end{aligned} \end{cases} {wTx>0,wTx<0,x∈ω1x∈ω2
- 特点:
-
感知器训练算法:利用训练样本对初始的**权重值逐步修正**直至最终确定
算法过程:
-
⨀ \color{red}\bigodot ⨀ 0. 输入训练样本 X = { x 1 , x 2 , . . . , x n } X=\{x_1,x_2,...,x_n \} X={x1,x2,...,xn},及其类别 ω 1 , ω 2 \omega_1,\omega_2 ω1,ω2。输出权重 w w w
-
⨀ \color{red}\bigodot ⨀ 1. 初始化: k = 1 k=1 k=1, w ( 1 ) w(1) w(1) 为任意值,权重迭代步长 0 < c ≤ 1 0<c\le 1 0<c≤1
-
⨀ \color{red}\bigodot ⨀ 2. 计算判别函数值:对样本 x k x_{k} xk,计算 g ( x k ) = w T ( k ) x k g(x_{k})=w^T(k)x_{k} g(xk)=wT(k)xk
-
⨀ \color{red}\bigodot ⨀ 3. 调整权重:按照规则调整
-
若 x k ∈ ω 1 x_k\in \omega_1 xk∈ω1 且 g ( x k ) ≤ 0 g(x_k)\le 0 g(xk)≤0,则 w ( k + 1 ) = w ( k ) + c ⋅ x k \color{red}w(k+1)=w(k)+c\cdot x_k w(k+1)=w(k)+c⋅xk
-
若 x k ∈ ω 2 x_k\in \omega_2 xk∈ω2 且 g ( x k ) > 0 g(x_k)> 0 g(xk)>0,则 w ( k + 1 ) = w ( k ) − c ⋅ x k \color{red}w(k+1)=w(k)-c\cdot x_k w(k+1)=w(k)−c⋅xk
-
若 x k ∈ ω 1 x_k\in \omega_1 xk∈ω1 且 g ( x k ) > 0 g(x_k)> 0 g(xk)>0,或 x k ∈ ω 2 x_k\in \omega_2 xk∈ω2 且 g ( x k ) ≤ 0 g(x_k)\le 0 g(xk)≤0,则 w ( k + 1 ) = w ( k ) \color{red}w(k+1)=w(k) w(k+1)=w(k)
-
-
⨀ \color{red}\bigodot ⨀ 4. 终止条件检验:
- 若 k < n k<n k<n,令 k = k + 1 k = k+1 k=k+1,返回第二步
- 若 k = n k=n k=n,仍有样本被错分,则令 k = 1 k=1 k=1,返回第二步
- 若 k = n k=n k=n,且所有样本均已正确分类,则算法结束
例题 \color{White}\colorbox{Fuchsia}{例题} 例题:已知两类训练样本, ( 0 , 0 ) , ( 0 , 1 ) (0,0),(0,1) (0,0),(0,1) 属于 ω 1 \omega_1 ω1, ( 1 , 0 ) , ( 1 , 1 ) (1,0),(1,1) (1,0),(1,1) 属于 ω 2 \omega_2 ω2,取增量 c = 1 c=1 c=1,试用感知器算法求解 w ∗ w^* w∗
-
常规计算:
# 常规计算 import numpy as np x = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]) w = np.array([1, 1]) c = 0.5 for id in range(100): t = id % 4 if(t <= 1): if(np.vdot(x[t], w) <= 0): w = w + c * x[t] else: if(np.vdot(x[t], w) > 0): w = w - c * x[t] print(w)
-
增加分量:规范化增广样本向量
# 增加分量 import numpy as np x = np.array([[0, 0, 1], [0, 1, 1], [-1, 0, -1], [-1, -1, -1]]) w = np.array([1, 1, 1]) c = 0.5 for id in range(100): t = id % 4 if(np.vdot(x[t], w) <= 0): w = w + c * x[t] print(w)
最终权重为 w ∗ = ( − 3 , 0 , 1 ) T w^*=(-3,0,1)^T w∗=(−3,0,1)T,则相应的分界面为 − 3 x 1 + 1 = 0 -3x_1+1=0 −3x1+1=0
-
-
梯度法求解感知器权重:
梯度下降法求函数极小值点
梯度:函数在该点变化率最大的方向(负梯度为下降最快的方向)
算法过程:
-
⨀ \color{red}\bigodot ⨀ 1. 设计一个权重的函数,使得其最小值点在感知器的最优权重值处
-
⨀ \color{red}\bigodot ⨀ 2. 对于两类问题的感知器分类器,如果将第二类样本的属性值都 × ( − 1 ) \times (-1) ×(−1),则对于两类的样本,最优权重都满足 w T x > 0 w^Tx>0 wTx>0
-
⨀ \color{red}\bigodot ⨀ 3. 设计优化目标函数(错分函数——使最小)
J ( w , x ) = k 0 ⋅ ∑ w T x ≤ 0 ( − w T x ) = k ⋅ ∑ ( ∣ w T x ∣ − w T x ) , k > 0 J(w,x)=k_0\cdot\sum\limits_{w^Tx\le 0}\left(-w^Tx\right)=k\cdot\sum\limits\left(|w^Tx|-w^Tx\right),\quad k>0 J(w,x)=k0⋅wTx≤0∑(−wTx)=k⋅∑(∣wTx∣−wTx),k>0
当 ∣ w T x ∣ − w T x = 0 |w^Tx|-w^Tx=0 ∣wTx∣−wTx=0 时,目标函数可达到最小值,可得最优权向量 w ∗ w^* w∗ -
⨀ \color{red}\bigodot ⨀ 4. 令 k = 1 2 k=\dfrac{1}{2} k=21,对 J ( w , x ) J(w,x) J(w,x) 求导得
∇ J = ∂ J ∂ w = ∑ w T x k ≤ 0 ( − x k ) = 1 2 [ x ⋅ s g n ( w T x ) − x ] \nabla J=\dfrac{\partial J}{\partial w}= \sum\limits_{w^Tx_k\le 0}\left(-x_k\right)=\dfrac{1}{2}\left[x\cdot sgn(w^Tx)-x \right] ∇J=∂w∂J=wTxk≤0∑(−xk)=21[x⋅sgn(wTx)−x]
则梯度下降迭代公式(沿负梯度方向搜索)为
w ( k + 1 ) = w ( k ) − c 2 [ x ( k ) s g n ( w ( k ) T ⋅ x ( k ) ) − x ( k ) ] = { w ( k ) , w ( k ) T ⋅ x ( k ) > 0 w ( k ) + c x ( k ) , o t h e r s \begin{aligned} w(k+1)&=w(k)-\color{red}\dfrac{c}{2}\left[x(k)sgn(w(k)^T\cdot x(k))-x(k) \right]\\ &=\begin{cases} \color{red}w(k),&&w(k)^T\cdot x(k)>0\\ \color{red}w(k)+cx(k),&&others \end{cases} \end{aligned} w(k+1)=w(k)−2c[x(k)sgn(w(k)T⋅x(k))−x(k)]={w(k),w(k)+cx(k),w(k)T⋅x(k)>0others
其中 c c c 为迭代增量。 -
总结:
-
当 c c c 为常数时,梯度下降法(固定增量法)的迭代公式和感知器算法的迭代公式是一致的。
-
若 c c c 较小,则收敛速度较慢;若 c c c 较大,则收敛速度较快,但是当搜索接近极值点时,可能产生过调、引起振荡。
-
可变增量法: c c c 值随着搜索的进行而改变。
-
-
4.1.2 最小平方误差准则 LMSE
- 基本思想:
- 感知器准则:求解不等式组
- 最小平方误差准则:求解等式方程组
- 优势:适用于线性不可分样本集,使错分的样本尽量少
-
引入:对于两类问题的感知器分类器,如果将第二类样本的属性值都乘以 − 1 -1 −1,则对于两类的样本,最优权重都满足 w T x > 0 w^Tx>0 wTx>0(增加分量)。如果任意给定一个向量 b = [ b 1 , b 2 , . . . , b n ] T > 0 b=[b_1,b_2,...,b_n]^T >0 b=[b1,b2,...,bn]T>0,那么求解最优权重的问题可以转化成求解 w w w,使之满足
w T x i = b i > 0 , i = 1 , 2 , . . . , n \color{red}w^Tx_i=b_i>0,\qquad i=1,2,...,n wTxi=bi>0,i=1,2,...,n -
最小平方误差准则:求解最优权重的问题等价于求解 w w w,使之满足 X ⋅ w ⃗ = b ⃗ \color{red}X\cdot \vec{w} = \vec{b} X⋅w=b,其中
b ⃗ = ( b 1 , b 2 , . . . , b n ) > 0 X = ( x 1 T x 2 T ⋮ x n T ) = ( x 11 x 12 ⋯ x 1 d 1 ⋮ ⋮ x n 1 1 x n 1 2 ⋯ x n 1 d 1 x ( n 1 + 1 ) 1 x ( n 1 + 1 ) 2 ⋯ x ( n 1 + 1 ) d − 1 ⋮ ⋮ x n 2 1 x n 2 2 ⋯ x n 2 d − 1 ) \vec{b}=(b_1,b_2,...,b_n)>0\\ X=\begin{pmatrix}x_1^T\\x_2^T\\\vdots\\x_n^T \end{pmatrix}=\begin{pmatrix}x_{11}&x_{12}&\cdots&x_{1d}&1\\\vdots&&&&\vdots\\x_{n_11}&x_{n_12}&\cdots&x_{n_1d}&1\\x_{(n_1+1)1}&x_{(n_1+1)2}&\cdots&x_{(n_1+1)d}&-1\\\vdots&&&&\vdots\\x_{n_21}&x_{n_22}&\cdots &x_{n_2d}&-1 \end{pmatrix} b=(b1,b2,...,bn)>0X=⎝⎜⎜⎜⎛x1Tx2T⋮xnT⎠⎟⎟⎟⎞=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎛x11⋮xn11x(n1+1)1⋮xn21x12xn12x(n1+1)2xn22⋯⋯⋯⋯x1dxn1dx(n1+1)dxn2d1⋮1−1⋮−1⎠⎟⎟⎟⎟⎟⎟⎟⎟⎞-
当 n = d + 1 n=d+1 n=d+1 时可直接求解。当 n = n 1 + n 2 > d + 1 n=n_1+n_2>d+1 n=n1+n2>d+1时,上述方程没有精确解,属于矛盾方程组,需要使用伪逆求解。
-
误差向量: e ⃗ = X ⋅ w ⃗ − b ⃗ \vec{e}=X\cdot \vec{w}-\vec{b} e=X⋅w−b
-
与感知器的区别:
-
LMSE:找到合适的权重使误差最小,故用误差向量的平方作为准则函数。
J s ( w , x , b ) = ∣ ∣ e ⃗ ∣ ∣ 2 = ∣ ∣ X ⋅ w ⃗ − b ⃗ ∣ ∣ 2 = ∑ i = 1 n ( w T x i − b i ) 2 \color{red}J_s(w,x,b)=||\vec{e}||^2=||X\cdot \vec{w}-\vec{b}||^2=\sum\limits_{i=1}^n(w^Tx_i-b_i)^2 Js(w,x,b)=∣∣e∣∣2=∣∣X⋅w−b∣∣2=i=1∑n(wTxi−bi)2
-
-
计算方法:计算 w ∗ = arg min J s ( w , x , b ) w^*=\arg\min J_s(w,x,b) w∗=argminJs(w,x,b)
-
求伪逆:在极值处对 w w w 的梯度为零,即最小极值的条件为
∂ J s ∂ w = 2 X T ( X w − b ) = 0 X T X w = X T b w ∗ = ( X T X ) − 1 X T b \dfrac{\partial J_s}{\partial w}=2X^T(Xw-b)=0\\ X^TXw=X^Tb \\ w^*=(X^TX)^{-1}X^Tb ∂w∂Js=2XT(Xw−b)=0XTXw=XTbw∗=(XTX)−1XTb
其中 X + = ( X T X ) − 1 X T \color{red}X^{+}=(X^TX)^{-1}X^T X+=(XTX)−1XT 称为 X X X 的伪逆。则权值 w ∗ = X + b w^*=X^+b w∗=X+b -
梯度下降法(迭代求解):使用固定增量的梯度下降法建立 b ⃗ \vec{b} b 的迭代公式
-
初始化: w , b , k = 0 w,b,k=0 w,b,k=0。
b ⃗ \vec{b} b 可任意给定,不过一般设 b ⃗ = { 1 , 1 , . . . , 1 } \vec{b}=\{1,1,...,1\} b={1,1,...,1}
-
迭代:
b ( k + 1 ) = b ( k ) + Δ b ( k ) Δ b ( k ) = s t e p ⋅ ( ∂ J s ∂ w ) k = s t e p ⋅ [ x w ( k ) − b ( k ) + ∣ x w ( k ) − b ( k ) ∣ ] = s t e p ⋅ ( e ( k ) − ∣ e ( k ) ∣ ) w ( k ) = ( X T X ) − 1 X T b ( k ) = X + ⋅ b ( k ) b(k+1)=b(k)+\Delta b(k)\\ \Delta b(k)=step\cdot \left(\dfrac{\partial J_s}{\partial w} \right)_k=step\cdot [xw(k)-b(k)+|xw(k)-b(k)|]=\color{red}step\cdot (e(k)-|e(k)|)\\ w(k)=(X^TX)^{-1}X^Tb(k)=X^+\cdot b(k) b(k+1)=b(k)+Δb(k)Δb(k)=step⋅(∂w∂Js)k=step⋅[xw(k)−b(k)+∣xw(k)−b(k)∣]=step⋅(e(k)−∣e(k)∣)w(k)=(XTX)−1XTb(k)=X+⋅b(k)
-
-
-
算法步骤:
- ⨀ \color{red}\bigodot ⨀ 1. 将训练样本符号规范化,得 X X X ,计算其伪逆 X + X^+ X+
- ⨀ \color{red}\bigodot ⨀ 2. 初始化 b ( 1 ) > 0 , k = 1 , 0 < c ≤ 1 b(1)>0,k=1,0<c\le 1 b(1)>0,k=1,0<c≤1
- ⨀ \color{red}\bigodot ⨀ 3. 计算权重 w ( k ) = X + b ( k ) w(k)=X^+b(k) w(k)=X+b(k),及误差 e ( k ) = x w ( k ) − b ( k ) e(k)=xw(k)-b(k) e(k)=xw(k)−b(k)
- ⨀ \color{red}\bigodot ⨀ 4. 若 e ( k ) e(k) e(k) 的所有分量都为负数,则算法无解结束。若 e ( k ) = 0 e(k)=0 e(k)=0,则算法有解结束, w ( k ) w(k) w(k)。否则算法继续。
- ⨀ \color{red}\bigodot ⨀ 5. 迭代: b ( k + 1 ) = b ( k ) + c ( e ( k ) + ∣ e ( k ) ∣ ) b(k+1)=b(k)+c(e(k)+|e(k)|) b(k+1)=b(k)+c(e(k)+∣e(k)∣)
- ⨀ \color{red}\bigodot ⨀ 6. 令 k = k + 1 k=k+1 k=k+1,返回步骤三。
-
特点:
- 求得的权重值 w w w 依赖于 b b b 和 s t e p step step 的选取。不同的 b b b 初值,将得到不同的权重
- 由于可判断算法能否终止,因此提供了判断二类问题是否线性可分的方法
- 令 b = ( 1 , 1 , … , 1 ) T b=(1,1,…,1)^T b=(1,1,…,1)T,在样本数无穷大时,最小均方误差的解逼近贝叶斯判断的结果。
4.1.3 最小错分样本数准则
-
线性可分性:对于二类问题,若将第二类样本的属性值都乘以 − 1 -1 −1(符号规范化),则对于两类的样本,最优权重都满足 w T x > 0 w^Tx>0 wTx>0。于是有
{ 线 性 可 分 存 在 w T x > 0 , ∀ x 线 性 不 可 分 不 存 在 w T x > 0 , ∀ x \begin{aligned}\begin{cases} &线性可分&&存在w^Tx>0,\forall x\\ &线性不可分&&不存在w^Tx>0,\forall x \end{cases}\end{aligned} {线性可分线性不可分存在wTx>0,∀x不存在wTx>0,∀x- 线性不可分问题:无论使用什么样的分类超平面,都会有样本被错分
-
折中方案:
-
寻找合适的分界面使尽量少的样本被错分
-
对于符号规范化后的增广向量表示的样本而言,就是寻找合适的 w w w 使得尽量多的样本满足 w T x > 0 w^Tx>0 wTx>0
-
为了提高结果的鲁棒性,引入非负的松弛变量 b > 0 b>0 b>0,要求最优解 w ∗ w^* w∗ 满足:使尽量多的样本满足
( w ∗ ) T x − b > 0 \color{red}(w^*)^Tx-b>0 (w∗)Tx−b>0
-
-
最小错分样本数准则函数:
w ∗ = arg min w J ( w , x ) = ∣ ∣ ( w T x − b ) − ∣ w T x − b ∣ ∣ ∣ 2 其 中 b = [ 1 1 . . . 1 ] T \color{red}w^*=\arg\min_w J(w,x)=\left|\left|(w^Tx-b)-|w^Tx-b| \right|\right|^2\\ 其中\; b=[1\;1\;...\;1]^T w∗=argwminJ(w,x)=∣∣∣∣(wTx−b)−∣wTx−b∣∣∣∣∣2其中b=[11...1]T- 优化算法:共轭梯度法
4.1.4 Fisher线性判别准则
。。。
4.2 非线性判别函数
对于线性不可分的样本,线性判别函数的分类效果往往不够满意
非线性判别函数此时可以达到更好的分类效果,基础的主要有两类:分段线性判别函数和二次线性判别函数
4.2.1 分段线性判别函数 Piecewise
是一类特殊的非线性判别方法,其决策面(分界面)由若干超平面段组成。比一般的超曲面简单,又可以逼近各种形状的超曲面
- 两类问题的基本做法:把各类划分成适当的子类,在多个子类间构建线性判别函数,再将其分段合并。
- 将每一类的样本分成若干子类(聚类分析)
- 针对每一个子类设计一个线性判别函数
- 将不同子类的线性判别函数组合起来得到分段线性的决策面,即分段线性判别函数
4.2.1.1 分段线性距离分类器
引入:最小错误率贝叶斯决策是直观上的最小距离分类器。即以两类的均值为中心点,新样本靠近哪类中心点就决策为哪一类。
适用于:各子类在各维分布基本对称的情形
-
单峰数据:保证各维上分布基本对称且各类先验概率基本相同。
- 两类问题下:与两类均值连线垂直的平分面(超平面)作为分界面
-
多峰数据:将样本每类划分成若干子类,使每个子类是单峰分布且尽可能在各维对称。
- 分段线性距离判别函数:以每部分的均值作为代表点构造的分段线性判别函数。
- 当考虑待分类样本时,分到距离其最近的子类所属的大类中。于是可得到多段超平面组成的分类面。
- 两类问题下:由两类不同峰两两决定的分界面组合起来构成分段线性分界面
-
数学语言表示:将每个类 w i w_i wi 划分为子类 w i j w_{i_j} wij,此子类的均值为 m i j m_{i_j} mij。考虑样本 x x x,
- 判别函数:类
w
i
w_i
wi 中离该样本最近的子类均值到样本的距离
g i ( x ) = min i j ∣ ∣ x − m i j ∣ ∣ g_i(x)=\min_{i_j}||x-m_{i_j}|| gi(x)=ijmin∣∣x−mij∣∣ - 决策规则:
若 g k ( x ) = min i = 1 , . . . , c g i ( x ) , 则 决 策 x ∈ w k 若g_k(x)=\min_{i=1,...,c} g_i(x),则决策x\in w_k 若gk(x)=i=1,...,cmingi(x),则决策x∈wk
- 判别函数:类
w
i
w_i
wi 中离该样本最近的子类均值到样本的距离
4.2.1.2 一般的分段线性判别函数
分段线性距离分类器是分段线性判别函数的特殊情况。
- 确定划分后的子类,便可以视为多类问题讨论
- 子类的划分:三种方法
- 根据专业知识人工确定
- 假设子类数目,利用错误修正法
- 未知子类数目,分类树思想
4.2.2 二次判别函数 Quadratic
- 一般形式:
g ( x ) = x T W x + w T x + w 0 其 中 W : d × d 实 对 称 矩 阵 w : d 维 列 向 量 d : 特 征 空 间 维 数 \begin{aligned} \color{red}g(x)&\color{red}=x^TWx+w^Tx+w_0\\ 其中\;W&:d\times d实对称矩阵\\ w&:d维列向量\\ d&:特征空间维数 \end{aligned} g(x)其中Wwd=xTWx+wTx+w0:d×d实对称矩阵:d维列向量:特征空间维数- 参数个数: ( 1 + 2 + . . . + d ) + d + 1 = 1 2 d ( d + 3 ) + 1 (1+2+...+d)+d+1=\dfrac{1}{2}d(d+3)+1 (1+2+...+d)+d+1=21d(d+3)+1,直接从数据学习求解过于复杂
- 常见方法:参数化
例如:假设每一类数据都是正态分布
4.3 多类问题
4.3.1 多个两类分类器的组合
-
基本思路:把多类问题分解成多个两类问题
-
常见方法:
-
一对多 one-over-all:每个分类器都将某一类与剩余所有类区分。
利用 k − 1 k-1 k−1 个两类分类器可实现 k k k 个类的分类
- 问题:
- 训练样本不均衡,使分类面有偏。
- 一般 k − 1 k-1 k−1 个分类器将特征空间划分成多于 k k k 个区域,在多出来的区域内的分类会出现歧义。
- 问题:
-
逐对分类 pairwise:每个分类器都将某两类区分
利用 k ( k − 1 ) 2 \dfrac{k(k-1)}{2} 2k(k−1) 个两类分类器可实现 k k k 个类的分类
-
-
决策树(多级分类器):将复杂的多类问题转化成多级多个两类问题。并非使用某一个决策规则把多个类别一次分开,而是采用分级形式使问题逐步得到解决。
- 训练过程:在非叶结点仍然可能包含多个类别的样本,这些样本被再分成两个子集,如此下去,直至分成的每一部分只包含同一类别的样本,或某一类样本占优势为止(即抵达叶节点)
- 树的建立:注意
- 选择一个合适的树结构,即合理安排树的节点和分支
- 确定在每个非终止节点上要使用的特征(分裂变量)
- 在每个非终止节点上选择合适的决策规则(如线性判别函数)
4.3.2 多类线性判别函数
- 多类线性判别函数:
- 判别函数:对
k
k
k 个类设计
k
k
k 个判别函数
g i ( x ) = w i T x + w i 0 , i = 1 , 2 , . . . , k g_i(x)=w_i^Tx+w_{i0},\quad i=1,2,...,k gi(x)=wiTx+wi0,i=1,2,...,k - 决策规则:哪一类的判别函数最大则决策为哪一类
若 g i ( x ) > g j ( x ) , ∀ j ≠ i , 则 x ∈ w i 若g_i(x)>g_j(x),\forall j\ne i,\quad 则 x\in w_i 若gi(x)>gj(x),∀j=i,则x∈wi
- 判别函数:对
k
k
k 个类设计
k
k
k 个判别函数