Logistic回归,多类分类

博客介绍了多类分类的两种方法,1对其他(OvR)通过训练多个Logistic回归分类器,选择最大概率类别作为预测;Softmax分类器将输出概率由x线性组合经Softmax函数变换得到,还提及Scikit - Learn中Logistic回归类及多类分类实现方式和参数选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1对其他(One-vs-Rest,OvR):

对每个类别c,训练一个Logistic回归分类器,预测y=c概率

对新的输入x,选择使得最大的类别作为预测(最大后验估计,MAP):

 

多项分布

在概率分布中,贝努利(Bernoulli)分布的输出只有两种取值。

Multinoulli分布,或称为范畴分布(categorical distribution),输出有K种取值。

类似用Bernoulli分布描述两类分类的概率分布,可用Multinoulli分布描述多类分类的概率分布,其参数为向量,其中,其中每一个分量表示第c个状态的概率。用符号Cat(y;θ)表示。

将类别y用独热编码(编码为C维向量,当y=c时,第c维为1,其他元素均为0),记为向量y

则Multinoulli分布的概率函数为:,其中表示向量y的第c个元素

或者用标量形式记为:,其中I(.)为示性函数,当括号中条件满足时函数值为1,否则为0。

 

Softmax分类器

类似两类分类模型推导,假设输出y=c的概率可以由x的线性组合再经过sigmoid函数变换得到

则模型为:

上述等式右边为Softmax函数。Softmax函数为sigmoid函数的推广,将C维向量的每个元素转换为[0,1]的数,且变换后元素之和为1:

因此得到的分类器被称为Softmax分类器。

将类别y用独热编码为向量y:

向量μ表示Multinoulli分布的参数:

为第i个样本的类别,则Softmax分类模型的log似然函数为:

Softmax分类模型的log似然函数为:

定义Softmax损失为:

则极大似然估计等价于最小训练集上的Softmax损失/负log似然损失:

正则项:Softmax分类模型的正则项同两类分类模型

目标函数优化方法:同两类分类模型

 

Logistic回归优化求解

Scikit-Learn中实现Logistic回归的类

class sklearn.linear_model.LogisticRegression(penalty=’l2’, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver=’liblinear’, max_iter=100, multi_class=’ovr’, verbose=0, warm_start=False, n_jobs=1)

参数multi_class决定了多类分类的实现方式,可选:

1、‘ovr’:即1对其他(one-vs-rest,OvR),将多类分类转化为多个二类分类任务。为了完成第C类的分类决策,将所有第C类的样本作为正例,除了第c类样本以外的所有样本都作为负例,每个类别的二分类器单独训练。

2、‘multinomial’:Softmax回归分类,对多项分布概率整体进行训练。

注意:multi_class选择会影响优化算法solver参数的选择

OvR:可用所有的slover

Multinomial:只能选择newton-cg,lbfgs和sag/saga(liblinear不支持)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值