第3章 线性模型理解记录
Posted wyy_persist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第3章 线性模型理解记录相关的知识,希望对你有一定的参考价值。
线性回归
多元线性回归
对数几率回归(逻辑回归:适合做回归和二分类问题):
项目实验步骤:通过设置线性表达式,然后使用sigmoid函数对每一个验证集中的x向量进行预测输出得到结果y,而后将结果y输入到sigmoid函数中(该函数中,当x大于0时,得到的值接近1,相反地,当x小于0时,得到的预测类为0。这样就实现了将属性集合组成的数据输入表示成了两种类别,也就是实现了二分类。其中,对于范围函数(包含x参数和theat参数),可以使用线性模型中经常使用的牛顿法或梯度下降方法从而获得最优参数矩阵,实现求解。
这里对不同的应用场景,使用F1值公式进行分类的正确率的获得,从而不断对参数矩阵进行优化,从而可以实现不同场景下,模型具有不同的参数,这样一来,就实现了特定场景特定参数矩阵的目的。这一特性在一些AI项目中应用十分广泛。
线性判别分析(使用一维向量进行投影):
项目实验步骤:给定数据集,得到数据集合中每一个类示例的集合,均值向量,协方差矩阵。而后将数据投影到直线w,并得到两类样本的协方差矩阵,尽可能使得同一类之间的样本分布协方差尽可能小,让不同类别在直线w上的分布协方差尽可能大。而后设置一个目标函数;分母是同一类别之间的协方差表达式,分子是不同类别样本之间的协方差表达式,而后定义类内散度矩阵和类间散度矩阵,该式子就是最大化的目标。而后,由于w的确定和其长度无关只和其的方向有关,那么令w的转置 * 类内散度矩阵 * w = 1;解该式子后,即得到优化目标为:min -wT * Sb * w;s.t wT * Sw * w = 1;而后使用拉格朗日乘子法,将乘子lamda带入得到式子:Sb * w = lamda * (u0 -u1);带入式子得到:
w = Sw-1 * (u0 - u1);而后对Sw进行奇异值分解,得到实对角矩阵,其对角线上的元素是Sw的奇异值,然后得到w的表达。
扩展:将LDA扩展到多分类任务中。先定义全局散度矩阵,而后得到优化目标,进而得到w投影矩阵,同时在多分类问题场景下的LDA方法也是一种监督降维技术。
多分类学习
项目实验步骤:1.使用OvO拆解策略。将数据集中的N个类中两两进行配对,产生了N * (N - 1)/2个分类任务,其中每一个分类任务中将Ci划归为正类,将Cj划归为负类。对于不同分类任务得到的多个分类结果,使用投票法产生本次的输入的分类类别。
- 使用OvR分解策略。每次将一个类的样例作为正例,所有其他的类的样例作为反例来训练N个分类器,如果在预测的时候只有一个分类器预测为正类,那么对应的类别标记作为最终的分类结果。如果有多个分类器都预测为正类,那么考虑各个分类器的预测置信度,选择置信度最大的类别标记作为分类结果。
- 使用多对多拆解策略。每一次将若干个类作为正类,将若干个类作为负类,但是正反类的构造需要有特殊的设计。最常用的技术是:ECOC“纠错输出码”。编码:对N个类做M次划分,每一次将其中的一些类划分为正类,将另外一些作为反类。共得到了M个二分类训练集,并得到M个分类器。解码:使用上述的M个分类器对预测样本进行预测,并将得到的M个标记组成一个编码,将这个编码与每个类各自的编码进行比较,返回其中距离最小的类别作为最终的预测结果。
(其中的类别划分通过编码矩阵指定,同时编码矩阵有多种形式,有二元码,三元码(正类 反类 停用类)),同时ECOC码对样例的预测错误输出实现一定程度的容忍和纠错能力。如果其中的某一个分类器将结果预测错误,那么由于编码本身的纠错能力足以还可以使得该样例得到的编码和对应样本的实际的编码的距离仍然是最短的。一般情况下,ECOC码越长那么纠错能力越强。但是对于有限的类别数,码长超过一定范围之后,就失去了意义。对同等长度的编码,两个不同类别之间的距离越大,那么表明此种编码方案比较合适。
重点:为了解决类别不平衡的问题(该问题出现在当反例或正例数过多时,会出现在学习器不可以很好的具有泛化能力),那么可以采用过采样和欠采样并以观测几率(由于对样本总体的采样是无偏采样,那么这里的观测几率就是真实几率)来和分类器的预测几率来进行比较(当预测几率大于观测几率的时候,就预测为正例。)这个是实际的决策条件,虚拟的决策条件是当预测几率大于1的时候就可以。
但是在使用上述的虚拟判断条件的时候,需要注意的是应当将观测几率的到数乘上预测几率,这个过程称为再缩放。使用再缩放技术可以将该虚拟的条件实际化为预测几率大于观测几率这个实际条件。
但是再缩放基于的是对样本的无偏采样,这个条件在实际的应用中一般是不成立的。那么就需要使用欠采样 过采样 或 直接使用原本的样例进行训练。而后将得到的新的预测几率使用上述的乘法公式,实现了阈值移动。
对欠采样中的代表算法EasyEnsemble利用的是集成学习机制,将反例划分为若干个集合供不同的学习器使用,这样来说每一个学习器虽然进行了欠采样,但是多个分类器进行集合之后得到的结果也不至于丢失重要的信息。
再缩放也是代价敏感学习的基础。
以上是关于第3章 线性模型理解记录的主要内容,如果未能解决你的问题,请参考以下文章