对于OVR的实现有不理解的地方,请老师指点迷津
来源:9-8 OvR与OvO
小白一只726
2023-07-13

问题:
- 这里有四个类别,每次将一个类别和其他所有类别看成两个分类,这样就可以用逻辑回归去获取到想要的theta参数,那么这里有四个分类过程,是否意味着会有四个theta向量参数?
- 视频中提到“如果有n个类别就要进行n次分类,最后选择分类得分最高的类别”,这里的最后选择分类得分最高的类别是指的fit还是predict中去做的呢。我理解要想知道一个样本的在四个分类器中的分类得分,那么这个样本就一定是有标签的,这就一定是在fit中去做的。那么问题就来了,拟合过程中,每一个样本在这四个分类器中都会有对应最高分类得分,每个样本都可能会选择不同的分类器,也就是说选择了不同的theta参数,这样理解是否正确呢。
- 现在要预测一个新的样本的分类是什么,如何知道用哪个分类器(也就是用哪个theta)计算器其预测的分类呢。
1回答
-
liuyubobobo
2023-07-14
1)
是的,有四组 theta。
2)和3)
“如果有n个类别就要进行n次分类,最后选择分类得分最高的类别” 这说的是在 predict 环节。
整体 OvR 的过程是这样的:
首先,你有一组数据,假设是一个 4 类别的数据。四个类别分别是 ABCD。
先把 BCD 改成 X,这样你的这组数据就是一个二类别的数据了(A 和 X),然后基于这组数据就能 fit 出一个对 A 和 X 分类的模型(其实就是对 A 和 非A 分类的模型);
再把 ACD 改成 X,这样你的这组数据就是一个二类别的数据了(B 和 X),然后基于这组数据就能 fit 出一个对 B 和 X 分类的模型(其实就是对 B 和 非B 分类的模型);
再把 ABD 改成 X,这样你的这组数据就是一个二类别的数据了(C 和 X),然后基于这组数据就能 fit 出一个对 C 和 X 分类的模型(其实就是对 C 和 非C 分类的模型);
再把 ABC 改成 X,这样你的这组数据就是一个二类别的数据了(D 和 X),然后基于这组数据就能 fit 出一个对 D 和 X 分类的模型(其实就是对 D 和 非D 分类的模型);
现在,你有了四个模型(所以 (1) 的回答是,有四组 theta,对应 4 个模型。)
至此,fit 过程就结束了。
现在来了一个新数据,怎么做 predict?把这组数据分别扔给这四个模型,这四个模型相当于给出了这组数据是 ABCD 各自的”概率“。选择最高的作为最终分类结果。
所以:
”我理解要想知道一个样本的在四个分类器中的分类得分,那么这个样本就一定是有标签的“
不是的,我们把一个样本无差别的扔给四个分类器,都去做 predict,最终选最好的结果作为整体结果。
这其实也是你的问题 3)
最后:
这四个分类器合在一起,构成了 OvR 分类器。这有点儿类似于集成学习。(课程后续会介绍。)
继续加油!:)
012023-07-16
相似问题