Multiclass Classification

之前我们都是在Binary classification的基础上学习算法和知识。

如何使用Binary classification算法进行Multiclass classification呢?

(一)One Versus All (OVA)Decomposition

image

现在有k种类别,如何进行分类呢?

思路1:分辨是这一类or不是这一类(Yes or Not),将问题转化成k个binary classification问题。最终得到k个w。

思路2-1:对于每一个x,我们使用logistic regression,看看x属于哪个类别的概率大;

image

image

OVA的问题是什么呢?source Unbalance。假设我们现在有100个类别,每个类别各占1%。那么,在进行某一类的【Yes or not】 binary 分类时,即使算法的回答是:全部是not,那么这个算法的准确率也是99%。效果非常好。

(二) One Versus One Decomposition

还是同样的问题,假设有k个类别。

第一步还是按照思路1,拆分成binary分类问题。但是需要拆分为clip_image002个binary classification问题。

但是思路2-1明显不适合此处了,这种情况下,最合适的算法是投票(voting)

思路2-2:voting of classifiers

image

image

无论是OVA还是OVO,他们都是一种meta-algorithm。它们依赖于其他的算法(此处依赖于线性分类算法),是一个计算框架,具体的内容需要用别的算法来填充。

原文地址:https://www.cnblogs.com/wangyanphp/p/5464763.html