第三章 线性模型
线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。
-
线性模型:\(f(x;\theta)=w^Tx+b\)
-
决策函数(非线性):在分类问题中\(y=g(f(x;\theta)),f(x;\theta)\) 也称为判别函数;
-
符号函数:
-
\(g(f(x;\theta))=sgn(f(x;w))\triangleq \begin{cases} 1\quad if\quad f(x;w)>0,\\-1 \quad if\quad f(x;w)<0.\end{cases}\)
-
线性分类:
-
分类示例:
- 图像分类
- 目标检测
- 实例分割
- 垃圾邮件过滤
- 文档分类
- 情感分类
- 文本分类
3.1 线性判别函数和决策边界
线性分类模型=线性判别函数+线性决策边界
3.1.1 二分类
- 决策边界(超平面): \(f(x;w)=w^Tx+b\)
- 有向距离:特征空间中样本点到决策平面的有向距离.\(\gamma = \frac{f(x;w)}{\Vert w \Vert}\)
- 线性可分定义:
- 优化方法:0-1损失函数,但是不可导,导致无法优化\(w\)
3.1.2 多分类
- 多分类线性可分定义
- 处理方式:
(1)一对其余:将C类问题转换为C个1对其余的二分类问题,需要C个判别函数\(f_c\) ;
(2)一对一:把C类问题转换为\(\frac{C(C-1)}{2}\) 个一对一的二分类问题,共需要 $$\frac{C(C-1)}{2}$$ 个判别函数;
(3)argmax:改进的一对其余方式,共需要C个判别函数,\(y= \mathop{argmax} \limits_{c=1}^{C}f_c(x;w_c)\) ;
解决一对其余和一对一方式无法处理特征空间中难以确定类别的区域的问题。
3.2 交叉熵和对数似然
熵(Entropy)
- 在信息论中,熵用来衡量一个随机事件的不确定性。
-
熵越高,则随机变量的信息越多;熵越低,则随机变量的信息越少。
-
在对分布 () 的符号进行编码时,熵 () 也是理论上最优的平均编码长度,这种编码方式称为熵编码( Entropy Encoding )
交叉熵(Cross Entropy)
- 交叉熵是按照概率分布q的最优编码对真实分布为p的信息进行编码的长度。
- 在给定 的情况下,如果 p和 越接近,交叉熵越小;如果 p 和 越远,交叉熵就越大
KL散度(Kullback-Leibler Divergence)
- KL散度是用概率分布q来近似p时所造成的信息损失量。
- KL散度是按照概率分布q的最优编码对真实分布为p的信息进行编码,其平均编码长度(即交叉熵)H(p,q)和p的最优平均编码长度(即熵)H(p)之间的差异。
交叉熵损失
最小化交叉熵等价于最大化对数似然
3.2 Logistic回归
-
将分类问题看做条件概率估计问题
-
引入非线性函数g 来预测类别标签的条件概率p(y=c|x)。
以二分类为例, -
函数f:线性函数
-
函数g:把线性函数的值域从实数区间“挤压”到了(0,1)之间,可以用来表示概率。
-
Logistic函数:
-
激活函数:也就是决策函数为Logistic函数
,进而得到
因此Logistic回归称为对数几率回归。
-
交叉熵损失函数
交叉熵损失函数,模型在训练集的风险函数为
梯度为
- 梯度下降法更新:
- 风险函数\(\mathcal{R}(w)\) 是关于参数 \(w\)的连续可导的凸函数,因此Logistic还可以使用高阶的优化方法,如牛顿法。
3.3 Softmax回归
-
决策函数:
-
向量表示: 是C个类的权重向量组成的矩阵,\(1C\) 为C维的全1向量, \(\hat{y}\in \mathcal{R}^C\) 为所有类别的预测条件概率组成的向量。
-
风险函数:
-
梯度:
-
证明过程:
- 参数更新:\(W_{t+1}\leftarrow W_t +\alpha(\frac{1}{N}\Sigma^N_{n=1}x^{(n)}(y^{(n)}-\hat{y}^{(n)}_{W_t})^T)\)
- 其中 \(\alpha\) 是学习率, \(\hat{y}^{(n)}_{W_t}\)是当参数为 \(W_t\) 时的softmax回归模型的输出。
要注意的是,Softmax 回归中使用的 个权重向量是冗余的,即对所有的权重向量都减去一个同样的向量,不改变其输出结果.因此,Softmax回归往往需要使用正则化来约束其参数。此外,我们还可以利用这个特性来避免计算Softmax 函数时在数值计算上溢出问题。
3.4 感知器
-
1957年Frank Roseblatt提出;线性分类器;
-
分类准则: \(\hat{y} = sgn(w^Tx)\)
-
模拟生物神经元行为的机器,有与生物神经元相对应的部件,如权重(突触)、偏置(阈值)及激活函数(细胞体),输出为+1或-1(输出和学习方式有关)
-
参数学习算法
一种错误驱动的在线学习算法:
先初始化一个权重向量w←0(通常是全零向量);
每次分错一个样本(x,y)时,即
用这个样本来更新权重
根据感知器的学习策略,可以反推出感知器的损失函数为
梯度更新: .
- 感知器参数学习的更新过程
- 收敛性
-
Novikoff,1963年证明了对于二分类问题,如果训练集是线性可分的,那么感知器算法可以在有限次迭代后收敛;若训练集不是线性可分的,那么这个算法则不确保收敛。
-
假设对于一个二分类问题,存在一个 \(\gamma\) 正常数和权重向量 \(w^*\),并且\(\Vert w^* \Vert = 1\) ,有 \((w^*)^T(y^{(n)}x^{(n)}) \geq \gamma\) (\(\gamma\) 其实就是间隔)
有如下定理:
证明过程:
(1) 因权重更新方式: ,且初始权重为0,在第K次更新时感知器的权重向量为 .下面分别计算 的上下界;
(2)计算 的上界:
(3)计算 的下界:
(4)综上有:
- 缺点
(1)在线性可分的数据集上,感知器虽然可以找到超平面,但并不保证其泛化能力;
(2)感知器对样本顺序比较敏感,因不同的迭代顺序产生不同的超平面;
(3)如果训练集不是线性可分的,那么永远不会收敛。
3.5 SVM
支持向量机(Support Vector Machine,SVM)是一个经典的二分类算法,其找到的分割超平面具有更好的鲁棒性,因此广泛使用在很多任务上,并表现出了很强优势
- 决策函数:
- 目标优化函数:
数据中所有满足 的样本点(也就是 的样本点),都称为SVC(支持向量)[这个可以从KKT条件解释];
- 参数学习:
(1)引入拉格朗日乘数,有 ,并分别对w和b求导有:
进而得到拉格朗日对偶函数
(2)优化方式:可以通过多种凸优化方式优化,但优化代价高,在实践中常常使用SMO算法(序列最小优化算法),可以获得全局最优解;
(3)核函数
支持向量机还有一个重要的优点是可以使用核函数(Kernel Function)隐式地将样本从原始特征空间映射到更高维的空间,并解决原始特征空间中的线性不可分问题
- 有线性核函数、多项式核函数、RBF核函数(常用,受问题影响较小),softmax核函数;
(4)软间隔
避免在特征空间中出现线性不可分的情况,引入松弛变量\(\xi\) ;
上述公式也可以为经验风险+正则化风险的形式:
其中 \(max(0,1-y^{(n)}(w^Tx^{(n)}+b))+\frac{1}{2C}\Vert w \Vert^2\)称为Hinge损失函数。
3.6 损失函数的对比
- Logistic回归的损失函数:
- 感知器的损失函数:
- 软间隔SVM的损失函数: ;
- 平方损失函数:
- 不同损失函数的对比
- 根据正确分类惩罚较小,错误分类,分得越错惩罚越大的原理,有平方损失不适用。
3.7 总结
- 常见线性模型的比较:
- 参考资料:
- Bishop C M. Pattern recognition and machine learning[M]. 5th edition. Springer, 2007.
- 感知器的提出:Rosenblatt F. The perceptron: a probabilistic model for information storage and organization inthe brain.[J]. Psychological review, 1958, 65(6):386.
- 感知器的局限,Minsky M, Seymour P. Perceptrons[M]. MIT press, 1969.
- 反向传播算法,Werbos P. Beyond regression: New tools for prediction and analysis in the behavioral sciences[D].Harvard University, 1974.
- 核技巧、投票感知器,Freund Y, Schapire R E. Large margin classification using the perceptron algorithm[J]. Machinelearning, 1999, 37(3):277-296.
- 感知器收敛性证明,Collins M. Discriminative training methods for hidden markov models: Theory and experimentswith perceptron algorithms[C]//Proceedings of the conference on Empirical methods in naturallanguage processing. 2002: 1-8.
- 平均感知器算法,McDonald R, Hall K, Mann G. Distributed training strategies for the structured perceptron[C]//Human Language Technologies: The 2010 Annual Conference of the North American Chapter ofthe Association for Computational Linguistics. 2010: 456-464.
- SVM及核方法,cholkopf B, Smola A J. Learning with kernels: support vector machines, regularization, optimization, and beyond[M]. MIT press, 2001.