《机器学习》(二)——《西瓜书》3章

线性模型基本形式

给定由d个属性描述对的示例x = (x_{1};x_{2};...;x_{d}),其中{x_{i}}是第i个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即

image.png

一般用向量形式表示写成

线性回归

线性回归试图学得

   利用均方误差进行度量,让均方误差最小化,即

均方误差对应常用的欧几里得距离或简称“欧式距离”。基于均方误差最小化进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使得所有样本到直线的欧式距离之和最小。

求解w和b使得均方误差最小化的过程,称为线性回归模型的最小二乘“参数估计”。我们将均方误差分别对w和b求导,得到

令上两式为零可得到w和b最优解的闭式解

更一般的情形是数据集D,样本由d个属性描述。此时我们试图学得

这称为“多元线性回归”。 类似地,可利用最小二乘来对w和b进行估计。为方便讨论,把w和b吸收如向量形式相应地,把数据集D表示为一个大小的矩阵X,其中每行对应一个示例,改行前d个元素对应于示例的d个属性值,最后一个元素恒置为1,即

再把标记写成向量形式则有

为满秩矩阵或正定矩阵时,令上式为零可得的   

当其不是满秩矩阵,即我们常遇到大量的变量,其数目超过样例数,导致X的列数多于行数,显然不满秩。此时可解除多个\hat{w},他们都能使均方误差最小化。选择哪一个作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化项。

假设我们认为示例所对应的输出标记是在指数尺度多行变化,那就可将输出标记的对数作为先行模型逼近的目标,即

这就是“对数线性回归”。同时实际上是在试图让逼近y。实质已是求输入空间到输出空间的非线性函数映射。

更一般地,考虑单调可微函数g(.),令

这样得到的模型称为“广义线性模型(generalized linear model)”,其中函数g(.)称为“联系函数”。显然,对数线性回归是广义线性模型在g(.)=ln(.)时的特例。

对数几率回归

对于分类任务,只需找一个单调可微函数将分类任务的真实标记y与线性回归模型的预测值联系起来。考虑二分类任务,其输出标记,而线性回归模型产生的预测值是实值,于是,只需将实值转换为0/1值。最理想的是“单位阶跃函数”

即预测值z大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别。

但单位阶跃函数不连续,我们希望找到能在一定程度上近似单位阶跃函数的“替代函数”,并单调可微。对数几率函数(logistic function)即为这样一个替代函数:

对数几率函数是一种“sigmoid函数”,它将z值转化为一个接近0或1的y值,并且其输出在z=0附近变化很陡,则

若将 y 视为样本 x 作为正例的可能性,则 1-y 是其反例可能性,两者的比值

称为“几率(odds)”,反映了 x 作为正例的相对可能性。对几率取对数则得到“对数几率(log odds,亦称logit)”

从上可以看出,实际上是用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应模型称为“对数几率回归”。

估计对数几率回归的 w 和 b。若将 y 视为类后验概率估计

显然有

利用极大似然法来估计 w 和 b。给定数据集,对对率回归模型最大化“对数似然”

线性判别分析Fisher

线性判别分析LDA(Linear Discriminant Analysis)是一种经典的线性学习方法,亦称“Fisher 判别分析”。

LDA思想:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离;在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别。

image.png

给定数据集分别表示第类示例的集合、均值向量、协方差矩阵。若将数据投影到直线 w 上,则两类样本的中心在直线上的投影分布为 w^{T}u_{0} 和 w^{T}u_{1};若将所有样本点都投影到直线上,则两类样本的协方差分别为w^{T}\Sigma _{0}w 和 w^{T}\Sigma _{1}w

欲使同类样例的投影点尽可能接近,可以让同类样例投影点的协方差尽可能小,即w^{T}\Sigma _{0}w + w^{T}\Sigma _{1}w尽可能小;而欲使异类样例的投影点尽可能远离,可以让类中心之间的距离尽可能大,即||w^{T}u_{0} - w^{T}u_{1}||_{2}^{2} 尽可能大。同时考虑二者,则可得到欲最大化的目标

image.png

多分类学习

现实任务中常遇到多分类学习任务。有些二分类学习方法可直接推广到多分类,利用二分类学习器来解决多分类问题。

考虑N个类别 C1、C2、.....Cn,多分类学习的基本思路是“拆解法”,即将多分类任务拆为若干个二分类任务求解。

最经典的拆分策略有三种:一对一(one vs one ,OvO)、一对其余(one vs rest,OvR)和多对多(many vs many,MvM) 。

image.png

OvO将 N 个类别两两配对,从而产生 N(N-1)/2 个二分类任务;

OvR则每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N 个分类器。

OvR只需要训练N个分类器,而OvO需训练 N(N-1)//2 个分类器,因此OvO的存储开销和测试时间开销通常比OvR更大。但在训练时,OvR的每个分类器均使用全部样本进行训练,而OvO的每个分类器仅用到两个类别的样例,因此,在类别很多时,OvO的训练时间开销通常比OvR更小。至于预测性能,则取决于具体的数据分布,在多数情况下两者差不多。

MvM 是每次将若干可类作为正类,若干个其他类作为反类。显然,OvO和OVR 是MvM 的特例。

类别不平衡问题

类别不平衡就是指分类任务中不同类别的训练样例数目相差很大的情况。即使原始问题中不同类别训练样例数目相当,在使用OvR、MvM策略后仍可能出现类别不平衡现象。

现假设正例样本较少、反例较多。

处理方法——再缩放:欠采样,过采样、阈值移动

欠采样:直接对训练集中反类样例进行“欠采样”,即去除一些反例使得正、反数目接近,再进行学习;

过采样:增加一些正例使得正、反数目接近,然后再进行学习

阈值移动:直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将嵌入到其决策中。

上式中y表达了正例的可能性,几率反映了正例可能性与反例可能性之比值,m+表示正例数目、m-表示反例数目,则观测几率是

欠采样的时间开销通常远小于过采样发,因为前者丢弃了很多反例,使得分类器训练集远小于初始训练集。

再缩放 也是 代价敏感学习 的基础。在代价敏感学习中将 代替即可,其中是将正例误分为反例的代价,是将反例误分为正例的代价。

猜你喜欢

转载自juejin.im/post/7033392728004100109