1. 参数VS非参数
给定样本集 $(x_i, y_i), i= 1,2,cdots, n $,其中 (x_i) 表示特征向量, (y_i) 表示样本标签。
考虑一个新的向量 (x),要将他分类到可选分类 ({C_1, C_2,cdots, C_c})中 。
方法:
- 参数的
- 非参数的
1.1 参数方法
参数方法:
-
参数方法假设样本分布的形式(概率密度函数Probability Density Function)是已知的
-
使用训练样本来估计分布参数,比如高斯分布中的 (mu) 和 (sigma)
-
如果对于分布的假设是正确的,则预测会很准确;否则预测可能会很差
参数方法使用极大似然估计来训练分类器,这点在前面一章的贝叶斯决策论也讲过。
假定:
- 给定训练集 (D=(x_k, y_k), k=1,2,cdots,n)
- (p(x|omega_i)sim N(mu_i, Sigma_i), i=1,2,cdots, c)
方法:
- 将训练集 (D) 划分为 (D_i,i=1,2,cdots, c)
- 对每一个分类的数据 (D_i) 分别估计 (mu_i) 和 (Sigma_i)
- 判别函数 (g_i(x)) 取决于 (mu_i) 和 (Sigma_i)
1.2 非参数方法
非参数方法:
- 不会去假设样本分布符合某种特定分布
- 相反,它假设判别函数具有某种特定的形式。比如SVM ,神经网络等等
- 训练样本被用来估计分类器的参数
- 局部最优,但易于使用
![](https://i.loli.net/2018/04/05/5ac5f0398471f.png)
2. 线性分类模型(二分类为例)
{:width="100px"}
考虑一个简单的场景:类之间不相交
- 数据线性可分
- 不同类的数据由一个线性决策表面完全分开
线性判别式注意:
- 决策表面是输入的线性函数
- 输入空间划分为决策区域
2.1 二分类问题
决策表面如此定义 (g(x)=0):
因为 (g(x)) 是线性的,所以决策表面是一个超平面:
![](https://i.loli.net/2018/04/05/5ac5fb41e747b.png)
2.1.1 线性判别函数的几何意义
对于一个2分类线性判别函数:
- 判别函数表示向量(x)(代表一个待分类的数据)各个分量的线性组合,公式(2)已经说明了这个问题
- (g(x)=w^Tx+w_0),其中 (w) 和 (w_0) 表示权重向量和偏置
- 对于一个给定的 (x),若 (g(x)geq0) ,则 (xin C_1) ,否则 (xin C_2)
- 决策边界 (g(x)=0)
几何意义:任意点到决策表面的距离
![](https://i.loli.net/2018/04/05/5ac600524d094.png)
-
令 (x) 为任意点
-
令 (x_perp)表示 (x) 到决策表面的正交投影
[ otag x=x_perp + rfrac{w}{||w||} ext { where } r ext{ denote the distance between } x_perp ext{ and } x ] -
两边都乘以相同的因子 (w^T),则:
[ otag g(x)=0+frac{r}{||w||}Rightarrow r=frac{g(x)}{||w||} ]
2.2 决策区域的凸性
简单的说,就是两个点 (x_a) 和 (x_b)在区域 (R_k)中,则两点连线上的所有点,均在这个区域内。
2.3 向量增强
对公式(2)如下操作:
- 增加一维 (x_0=1)
- (x leftarrow (x_0,x))
- (wleftarrow (omega_0, w))
于是:
显然这个决策边界在增强的 (D+1) 维样本空间中穿过原点
2.4 模型小结
![](https://i.loli.net/2018/04/05/5ac607b2d29a5.png)
- 判别函数表示向量(x)(代表一个待分类的数据)各个分量的线性组合,视作每个独立单元
- 每个单元都具有输入输出
- 输入单元精确输出与输入相同的值
- 如果加权输入之和大于0,则输出单元输出1,否则输出-1
2.5 感知器算法
输入向量 (x) 通过一个固定的非线性变化得到一个特征向量 (phi(x))
(f) 是一个符号函数
+1和-1分别表示向量 (x) 属于两个类。根据这个设定,我们可以得到损失函数。
2.5.1 感知器标准
使用标签 (y_nin{+1,-1}),每个模式需要满足:
对每个分错的样本,感知器标准试图最小化:
2.5.2 算法流程
随机梯度下降梯度更新公式:
其中,(eta) 是学习率,(k) 是steps
算法训练循环以下步骤:
- 如果样本错分为(C_1(y_n=+1)),增加权重
- 如果样本错分为(C_2(y_n=-1)),减小权重
2.6 最小二乘分类
主要思想,最小化投影距离:
其中 (b_i) 是任意选取的。
对公式(6)进一步化简:
其中矩阵符号:
最小化 (J), 显然 (Xw=b),所以有:
然而,矩阵 (X) 可能是奇异的,也就是说,没有逆矩阵。
2.6.1 违逆法pseudo-inverse method
对于公式(7),求梯度:
极值必要条件:
可以求得:
2.6.2 最小均方算法least-Mean-Squared
相比于违逆法,该方法的优势在于
- 违逆法在 (X^TX) 奇异的时候有问题
- 避免了矩阵很大的时候计算复杂
- 违逆法训练时间更长
回顾公式(6),直接求其对于(w)的梯度:
更新公式:
- 即使分离超平面存在,LMS方法也不需要收敛到它
- 由于梯度噪声,LMS不会达到最佳效果
2.7 广义线性模型
广义线性判别函数:
其中 (f) 是激活函数。相应的决策表面:
所以决策边界在特征空间里是线性的,即使 (f) 是非线性的
广义线性判别函数:
二次判别函数:
对于样本 (x_i),如果分类正确,则 (g(w,x_i)y_i>0)
定义一个判别函数 (J(w)),如果 (w)是一个解向量,则该函数达到最小值
算法流程:
-
随机选择初始权重 (w_1)
-
计算梯度 ( abla J(w(1)))
-
根据负梯度计算:
[ otag w(k+1)=w(k)-eta(k) abla J(w(k)) ext{ for } abla J=frac{partial J}{partial w} ](eta) 是学习率,控制步幅
3.多分类
3.1 扩展到多分类方法
-
One-versus-the-rest
构建判别函数,使用 (c) 个分类器,每个分类器解决一个2分类问题
-
One-versus-one
(c) 个分类,对每两个分类构建一个分类器,则共有 (frac{c(c-1)}{2}) 个判别函数
3.2 多分类判别
考虑一个 (c) 分类问题,判别函数形式:
对于给定输入 (x),如果 (y_k(x)>y_j(x) ext{ for all }j eq k),则 (xin C_k),则 (C_k) 和 (C_j)之间的决策边界为:
相应的超平面为:
二分类问题其实也是如此。
![](https://i.loli.net/2018/04/07/5ac836025de11.png)
优势:
- 避免默认两可的区域
- 每个决策区域单连通
- 低复杂度
- 需要c个分类器