本站原创文章,转载请说明来自《老饼讲解-机器学习》ml.bbbdata.com
sklearn中逻辑回归做多分类时有两种选择ovr与multinomial,
ovr对每个类别都建立一个模型,每个模型只预测属于某个类别的概率,
最后哪个类别的预测概率最高,就是哪个类别。
而multinomial则是使用逻辑回归的推广形式softmax回归,
本文简单讲解ovr和multinomial的将逻辑回归改为多分类模型的机制。
OVR多分类模型
设有K个类别,则建立K个模型,
每个模型以类 i 作为1类,其它作为0类。
最后得到K个模型,每个模型预测属于i类的概率。
OVR的概率预测
将K个模型对X进行预测,第 i 个 模型的预测值代表属于 i 类的概率,最后将预测值归一化,得到属于各个类别的概率。
OVR的类别预测
概率最大的类别即为预测类别。
总结
简单的说,OVR模型就是有K个类别,就建K个二分类逻辑回归模型,
最后比较哪个类别的预测概率最高,就判为哪一类。
sklearn中multinomial用的是softmax回归,属于逻辑回归的推广。
多类别输出的格式
多类别输出是一个one-hot编码,
它是一个只有0/1的向量,
例如有3类,标签为{0,1,2},
则类别 0 的输出为[1,0,0],
类别 1 的输出为[0,1,0],
类别 2 的输出为[0,0,1]
softmax模型表达式
softmax回归将逻辑回归的模型表达式推广为:
即我们需要求一组 ,
使得上述模型P 在 每个训练样本上的预测值 更接近训练目标[0,0,0,....1,0,0,0,0].
End