您的位置:首页 > 其它

机器学习.周志华《3 线性模型》

2018-04-01 22:23 471 查看

线性模型: 

1. 假定示例有dd个属性,x=(x1,x2,...,xd)
2. 试图通过属性的线性组合进行预测


用向量形式表示就是: 



线性模型虽然简单,但却是基础。先研究线性、单属性的线性回归问题,其次进一步研究非线性、多属性的回归和分类问题。单属性回归:

多属性回归:


然后在实际情况中这个条件不一定能够满足,比如属性数目比较多,甚至超过样例数,导致XX的列数多于行数,这就相当于多元方程组变量数目>方程数,就会有多组解。选择哪个解便由学习算法的归纳偏好决定,常见的做法是引入正则化。

广义线性模型:


对数几率函数Logistic Regression

之前讨论的是使用线性模型进行回归学习,应用到分类中,就要利用广义线性模型,找一单调可微函数将分类任务的真实标记y与线性回归模型的预测值对应起来。对于最简单的二分类任务,最理想的是阶跃函数unit-step function。但阶跃函数并不是可微的,因此必须寻找替代函数surrogate function。目前使用比较广泛的是对数几率函数logistic function,它是Sigmoid函数的一种。


优点:

从本质上讲,logistic regression就是在用线性回归模型的预测结果去逼近真实标记的对数几率。虽然还是回归模型,但却是一种分类学习方法,它的好处是: 
1. 将分类进行建模,无需事先假设数据分布,避免假设分布不准确所带来的问题; 
2. 不仅分类,还可得到近似概率预测,可利用概率辅助决策 
3. 对率函数是任意阶可导的凸函数,可方便求取最优解确定模型之后,接下来自然要做的就是确定w和b。这里要使用到的方法是极大似然法。

多分类问题

多分类学习可在二分类基础上进行。将原问题拆分为多个二分类任务,然后每个二分类训练一个分类器,然后再进行集成获得最终的多分类结果。核心就是拆分+集成。最典型的拆分策略有三种: 
1.  One vs. One 
2.  One vs. Rest 
3.  Many vs. Many具体选择哪一种,要看具体情况下的存储和时间开销,以及性能高低。

一对一OvO

假设训练集有四类样本,C1,C2,C3,C4C1,C2,C3,C4,训练时两两组合为二分类进行训练,新样本通过这C2NCN2个分类器后会得到N(N−1)2N(N−1)2个分类结果,最终结果可根据这些分类结果投票产生。

一对其余OvR

训练时一个类作为正例,其余所有类作为反例。这样共有N个二分类器进行训练,新样本通过分类器时预测结果为正例的即为最终结果。

多对多MvM

本质前两种情况都是MvM的特殊情况。基本思路是训练集每一类通过多个分类器训练会产生一组编码结果,新样本通过分类器产生的编码结果与每个分类器的结果求距离,距离最短者即为最终结果。实例如下图:(二元)


线性判别分析LDA

线性判别分析Linear Discriminant Analysis是一种经典的线性学习方法,应用于分类任务中。LDA的思想:将训练集的样本投影到一条直线上,同一类的尽量互相靠近,而不同类之间尽可能相隔的远。使用数学语言,投影即是向量乘积, 同一类尽量靠近,就是协方差要小,不同类相隔远,就是类中心距离远,也就是均值投影的差要大。






LDA参考:https://blog.csdn.net/liumingpei/article/details/78145682

类别不平衡问题class-imbalance

类别不平衡即是不同类样本数相差很大,导致学习效果不佳。举个很简单的例子,1000个样本,有998个是反例,2个是正例,那么一个对样本永远只预测为反例的学习器也能实现99.8%的正确率,但这种学习器显然是没有用的。一个基本策略是再缩放rescaling。在之前的比率回归问题上,y1−yy1−y代表正例可能性与反例可能性的比值,那么如果y1−y>1y1−y>1就可预测为正例。而在类别不平衡的样本中,假设正例数目为m+m+,反例数目为m−m−(一般正例数目小于反例数目)。我们可设定学习器的决策条件为:当y1−y>m+m−y1−y>m+m−即可预测为正例。那么比率即可重改为y′1−y′=y1−ym−m+y′1−y′=y1−ym−m+。在实际操作中,再缩放却没那么容易,主要原因是不一定能有效的基于训练集观测几率去推断真实几率。因而往往有三类做法: 
1. 欠采样undersampling:去除一些反例数目,使得正例数目接近于反例数目,再进行学习。需要注意,若直接丢弃反例,可能会造成重要信息丢失,一种方法是利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样每个学习器就相当于欠采样,而全局看则没有丢失重要信息 ;
2. 过采样oversampling:增加正例数目,为防止过拟合,可对训练集正例进行插值产生额外正例,而不是直接重复采样初始正例样本 ;
3. 阈值移动threshold-moving:直接基于原训练集进行学习,但用训练好的分类器进行预测时,将y′1−y′=y1−ym−m+y′1−y′=y1−ym−m+嵌入决策中;
参考:https://blog.csdn.net/yzqzoom/article/details/51870899
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: