【机器学习】多项逻辑斯蒂回归/softmax回归推导与求解

1. 多项逻辑斯蒂回归模型

多项逻辑斯蒂回归模型(multi-nominal logistic regression model),又称为Softmax Regression,是一个用来预测离散型随机变量的不同可能结果的概率的模型,用于进行多项分类。

前面在逻辑斯蒂回归原理推导与求解中讲到的逻辑斯蒂回归模型是二项分类模型,用于二分类。将其推广为多项分类,假设离散型随机变量Y的取值集合是\left\{ {1,2, \ldots ,K} \right\},那么多项逻辑斯蒂回归模型是(这也就是softmax函数,推导softmax函数详见参考文献1):

                                     p\left( {y = k\left| {x;w} \right.} \right) = \frac{​{\exp \left( {w_k^Tx} \right)}}{​{\sum\limits_{l = 1}^K {\exp \left( {w_l^Tx} \right)} }}            (1)

(1)式也就是,在已知参数w和数据x的情况下,预测值y为类别k的条件概率。如果y=0,1,而且w0=0,那么就是逻辑回归的形式了。

将(1)式连乘得到在已知现有数据的条件下,w是真正参数的概率,即似然函数:

                                    \begin{array}{l} L\left( w \right) = {\prod\limits_{i = 1}^m {\prod\limits_{k = 1}^K {p\left( {​{y^{\left( i \right)}} = k\left| {​{x^{\left( i \right)}};w} \right.} \right)} } ^{1\left\{ {​{y^{\left( i \right)}} = k} \right\}}}\\ = {\prod\limits_{i = 1}^m {\prod\limits_{k = 1}^K {\frac{​{\exp \left( {w_k^T{x^{\left( i \right)}}} \right)}}{​{\sum\limits_{l = 1}^K {\exp \left( {w_l^T{x^{\left( i \right)}}} \right)} }}} } ^{1\left\{ {​{y^{\left( i \right)}} = k} \right\}}} \end{array}            (2)

由于乘法难解,通过对数可以将乘法转换为加法,简化计算。对数似然函数为:

                                    \begin{array}{l} l\left( w \right) = \log {\prod\limits_{i = 1}^m {\prod\limits_{k = 1}^K {\frac{​{\exp \left( {w_k^T{x^{\left( i \right)}}} \right)}}{​{\sum\limits_{l = 1}^K {\exp \left( {w_l^T{x^{\left( i \right)}}} \right)} }}} } ^{1\left\{ {​{y^{\left( i \right)}} = k} \right\}}}\\ = \sum\limits_{i = 1}^m {\sum\limits_{k = 1}^K {1\left\{ {​{y^{\left( i \right)}} = k} \right\}} \left( {w_k^T{x^{\left( i \right)}} - \log \sum\limits_{l = 1}^K {\exp \left( {w_l^T{x^{\left( i \right)}}} \right)} } \right)} \end{array}            (3)

其中,{I\left\{ {​{y^{\left( i \right)}} = k} \right\}}表示当第i个样本的分类为k时,返回1,否则为0。

似然函数表示样本成为真实的概率,似然函数越大越好,此时我们可以用梯度上升法求最大值,也可以引入一个负号转换为梯度下降法来求解。

代价函数为:

                                     J\left( w \right) = - \sum\limits_{i = 1}^m {\sum\limits_{k = 1}^K {1\left\{ {​{y^{\left( i \right)}} = k} \right\}} \left( {w_k^T{x^{\left( i \right)}} - \log \sum\limits_{l = 1}^K {\exp \left( {w_l^T{x^{\left( i \right)}}} \right)} } \right)}            (3)

下面介绍逻辑斯蒂回归中梯度下降法求参数。

2. 梯度下降法求解

求偏导得到代价函数对于参数的梯度,对于每一个输出目标kk = 1,2 , \cdots , K,其参数w_k的梯度是: 

                                     \frac{​{\partial J\left( w \right)}}{​{\partial {w_k}}} = - \sum\limits_{i = 1}^m {​{x^{\left( i \right)}}\left( {1\left\{ {​{y^{\left( i \right)}} = k} \right\} - p\left( {​{y^{\left( i \right)}} = k\left| {​{x^{\left( i \right)}};w} \right.} \right)} \right)}            (4)

{w_k}代表第k类的参数,是一个向量。

因此,在使用梯度下降法求解时,对于每一个{w_k},k = 1,2, \cdots ,K,每次迭代地更新公式为:

                                     {w_k}: = {w_k} + \alpha \sum\limits_{i = 1}^m {​{x^{\left( i \right)}}\left( {1\left\{ {​{y^{(i)}} = k} \right\} - p\left( {​{y^{(i)}} = k|{x^{(i)}};w} \right)} \right)}            (5)

参考文献:

1. 多类别逻辑回归(Multinomial Logistic Regression)

2. 机器学习方法(五):逻辑回归Logistic Regression,Softmax Regression

 

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值