内容来自Andrew老师课程Machine Learning的第三章内容的Multiclass Classification部分。
一、Multiclass Classification: One-vs-all(多元分类:一对多)
(1)下图左边是二元分类的图形,右边是三元分类的图形(代表多元分类)。在二元分类中,我们可以划出一条拟合曲线(直线、曲线、圆或者椭圆等),那么在多元分类中,我们不能简单的画出拟合曲线,那么我们该怎样进行预测呢,怎样把二元分类应用到多元分类中呢?
(2)如下图,
右1是将三角形看做是一个分类,将其他所有分类看作是另一个分类,那么就将这个多元分类的模型变成了二元分类,利用这个二元分类预测出三角形的概率,即是y=1的概率。
右2是将长方形看做是一个分类,将其他所有分类看作是另一个分类,那么就将这个多元分类的模型变成了二元分类,利用这个二元分类预测出长方形的概率,即是y=2的概率。
右3是将叉号看做是一个分类,将其他所有分类看作是另一个分类,那么就将这个多元分类的模型变成了二元分类,利用这个二元分类预测出叉号的概率,即是y=3的概率。
(3)分别将这些概率算出来之后,我们怎么知道我们的预测值是哪个呢?选择这些概率中的最大值作为预测值。
即:
y∈{0,1,..,n}h(0)θ(x)=P(y=0|x;θ)h(1)θ(x)=P(y=1|x;θ)...h(n)θ(x)=P(y=n|x;θ)prediction=maxi(h(i)θ(x))
y
∈
{
0
,
1
,
.
.
,
n
}
h
θ
(
0
)
(
x
)
=
P
(
y
=
0
|
x
;
θ
)
h
θ
(
1
)
(
x
)
=
P
(
y
=
1
|
x
;
θ
)
.
.
.
h
θ
(
n
)
(
x
)
=
P
(
y
=
n
|
x
;
θ
)
p
r
e
d
i
c
t
i
o
n
=
m
a
x
i
(
h
θ
(
i
)
(
x
)
)