国外网站建设的步骤,wordpress是响应式吗,邵阳微网站开发lz2v,公司三站合一的网站目录#xff1a;sheng的学习笔记-AI目录-CSDN博客 基本术语#xff1a;
若我们欲预测的是离散值#xff0c;例如“好瓜”“坏瓜”#xff0c;此类学习任务称为“分类”(classification)#xff1b;
若欲预测的是连续值#xff0c;例如西瓜成熟度0.95、0.37#xff0c;…目录sheng的学习笔记-AI目录-CSDN博客 基本术语
若我们欲预测的是离散值例如“好瓜”“坏瓜”此类学习任务称为“分类”(classification)
若欲预测的是连续值例如西瓜成熟度0.95、0.37此类学习任务称为“回归”(regression)。
对只涉及两个类别的“二分类”(binary classification)任务通常称其中一个类为“正类”(positive class)另一个类为“反类”(negative class)
涉及多个类别时则称为“多分类”(multi-class classification)任务。比如跟进图片判断图片中的水果是 苹果梨西瓜 多分类学习模型
现实中常遇到多分类学习任务。有些二分类学习方法可直接推广到多分类但在更多情形下我们是基于一些基本策略利用二分类学习器来解决多分类问题。
通常称分类学习器为“分类器”(classifier)。
考虑N个类别C1,C2,...,CN多分类学习的基本思路是“拆解法”即将多分类任务拆为若干个二分类任务求解。
具体来说先对问题进行拆分然后为拆出的每个二分类任务训练一个分类器在测试时对这些分类器的预测结果进行集成以获得最终的多分类结果。这里的关键是如何对多分类任务进行拆分以及如何对多个分类器进行集成。
OvR
OvR亦称OvA(One vs.All)。最经典的拆分策略有三种“一对一”One vs.One简称OvO、“一对其余”One vs.Rest简称OvR和“多对多”Many vs.Many简称MvM。
OvO
“一对一”One vs.One简称OvO
给定数据集D{(x1,y1)(x2,y2)...(xm,ym)},yi∈{C1,C2,...,CN}。OvO将这N个类别两两配对从而产生N(N-1)/2个二分类任务例如OvO将为区分类别Ci和Cj训练一个分类器该分类器把D中的Ci类样例作为正例Cj类样例作为反例。在测试阶段新样本将同时提交给所有分类器于是我们将得到N(N-1)/2个分类结果最终结果可通过投票产生即把被预测得最多的类别作为最终分类结果
OvR
“一对其余”One vs.Rest简称OvR,OvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。在测试时若仅有一个分类器预测为正类则对应的类别标记作为最终分类结果如图3.4所示。若有多个分类器预测为正类则通常考虑各分类器的预测置信度选择置信度最大的类别标记作为分类结果。说白了如果c1,c2都是但c1的预测结果是0.6c2的预测结果是0.8那就选c2 OvO和OvR对比
OvR只需训练N个分类器而OvO需训练N(N-1)/2个分类器因此OvO的存储开销和测试时间开销通常比OvR更大。但在训练时OvR的每个分类器均使用全部训练样例而OvO的每个分类器仅用到两个类的样例因此在类别很多时OvO的训练时间开销通常比OvR更小。至于预测性能则取决于具体的数据分布在多数情形下两者差不多
MvM
“多对多”Many vs.Many简称MvMMvM是每次将若干个类作为正类若干个其他类作为反类。显然OvO和OvR是MvM的特例。MvM的正、反类构造必须有特殊的设计不能随意选取。
ECOC一种MvM的方法
Error Correcting Output Codes简称ECOC
ECOC[Dietterich and Bakiri,1995]是将编码的思想引入类别拆分并尽可能在解码过程中具有容错性。ECOC工作过程主要分为两步
编码
对N个类别做M次划分每次划分将一部分类别划为正类一部分划为反类从而形成一个二分类训练集这样一共产生M个训练集训练出M个分类器。
解码
M个分类器分别对测试样本进行预测这些预测标记组成一个编码。将这个预测编码与每个类别各自的编码进行比较返回其中距离最小的类别作为最终预测结果。类别划分通过“编码矩阵”(coding matrix)指定。
编码矩阵有多种形式常见的主要有二元码[Dietterich and Bakiri,1995]和三元码[Allwein et al.,2000]。前者将每个类别分别指定为正类和反类后者在正、反类之外还可指定“停用类”。下图中a分类器f2将C1类和C3类的样例作为正例C2类和C4类的样例作为反例
在图b中分类器f4将C1类和C4类的样例作为正例C3类的样例作为反例。在解码阶段各分类器的预测结果联合起来形成了测试示例的编码该编码与各类所对应的编码进行比较将距离最小的编码所对应的类别作为预测结果。例如在图3.5(a)中若基于欧氏距离预测结果将是C3。
示意图 原理
测试阶段ECOC编码对分类器的错误有一定的容忍和修正能力。例如图3.5(a)中对测试示例的正确预测编码是(-1,1,1,-1,1)假设在预测时某个分类器出错了例如f2出错从而导致了错误编码(-1,-1,1,-1,1)但基于这个编码仍能产生正确的最终分类结果C3。
一般来说对同一个学习任务ECOC编码越长纠错能力越强。然而编码越长意味着所需训练的分类器越多计算、存储开销都会增大另一方面对有限类别数可能的组合数目是有限的码长超过一定范围后就失去了意义。对同等长度的编码理论上来说任意两个类别之间的编码距离越远则纠错能力越强。因此在码长较小时可根据这个原则计算出理论最优编码。然而码长稍大一些就难以有效地确定最优编码事实上这是NP难问题。不过通常我们并不需获得理论最优编码因为非最优编码在实践中往往已能产生足够好的分类器。另一方面并不是编码的理论性质越好分类性能就越好 Softmax回归(Softmax regression)
Softmax回归(Softmax regression)也称为多项Multinomial)或多类Multi-Class)的Logistic回归是Logistic回归在多分类问题上的推广。
假设你想识别猫狗和小鸡把猫加做类1狗为类2小鸡是类3如果不属于以上任何一类叫做类0。
这里显示的图片及其对应的分类就是一个例子这幅图片上是一只小鸡所以是类3猫是类1狗是类2我猜这是一只考拉那就是类0下一个类3以此类推。 softmax回归有个特别的地方
个激活函数 需要输入一个4×1维向量然后输出一个4×1维向量。之前我们的激活函数都是接受单行数值输入例如Sigmoid和ReLu激活函数输入一个实数输出一个实数。Softmax激活函数的特殊之处在于因为需要将所有可能的输出归一化就需要输入一个向量最后输出一个向量。
一般在多分类的输出层用softmax函数但在训练过程中一般用ReLu或Sigmoid
公式
在L层在公式 z wx b中假设得到结果z,设一个变量t如下图 最后的公式是注意这四个值加起来等于1 在最后输出就是第一个值最大的0.842
整体架构图 参考资料
书机器学习 周志华。俗称西瓜书
吴恩达的深度学习