机器学习-专题详述

【介绍】sklearn逻辑回归多分类的两种模型:ovr与multinomial

作者 : 老饼 发表日期 : 2022-06-26 10:12:40 更新日期 : 2024-06-30 01:13:06
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



逻辑回归一般用于做二分类,但往往也会应用于做多分类

用sklearn实现逻辑回归多分类时,所使用的模型有两种:ovr与multinomial

本文简单讲解ovr和multinomial两种模型的机制分别是什么



    01. sklearn逻辑回归多分类模型简介    




本节对sklearn里的多分类逻辑回归模型进行简单介绍




    sklearn逻辑回归多分类模型简介    


sklearn中提供的两种逻辑回归多分类模型
sklearn中逻辑回归做多分类时有两种方式:ovr与softmax回归
其中ovr对每个类别都建立一个模型,每个模型只预测属于某个类别的概率
最后哪个类别的预测概率最高,就是哪个类别
而softmax回归则是逻辑回归的多分类推广模型

关于sklearn逻辑回归多分类的调用方式
在sklearn中调用逻辑回归做多分类与调用二分类时所用的函数是一样的,
都是通过LogisticRegression函数来实现,
但如果要指定用的是softmax回归还是OVR,就需要设定multi_class的值,如下:
clf = LogisticRegression(multi_class='multinomial')    # 使用softmax模型         
clf = LogisticRegression(multi_class='OVR')                # 使用OVR模型               
如果不设,则默认使用multinomial(softmax)模型







  02. ovr与multinomial详解  




本节对多类别逻辑回归的两种模型:OVR与softmax进行详细介绍




   逻辑回归-OVR多分类模型    


OVR模型介绍
OVR的全称为One-vs-the-rest,它以二分类逻辑回归模型为基础,
设有K个类别,则建立K个模型,每个模型以类 i 作为1类,其它作为0类
最后得到K个模型,每个模型预测属于i类的概率
 
    OVR如何进行概率预测   
 
OVR对样本进行概率预测的流程如下
 
1. 将K个模型对X进行预测                                             
 第i个 模型的预测值代表属于i类的概率         
2. 将所有预测值归一化,就得到属于各个类别的概率   
  
    OVR如何进行类别预测   
 
OVR的类别预测是基于概率预测的基础,
只需先进行概率预测,然后将概率最大的类别作为预测类别
 简单的说,OVR模型就是有K个类别,就建K个二分类逻辑回归模型,
最后比较哪个类别的预测概率最高,就判为哪一类




    逻辑回归-softmax多分类模型     


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 




联系老饼