机器学习系列4:逻辑回归与softmax回归详解

一、Logistic regression中sigmod函数推导

sigmod函数的推导

1.伯努利分布

一个事件x,其结果只有两种:x=1 or 0,比如抛硬币。
when ,
when ,
伯努利分布的概率质量函数为:

可以写成

2.指数族分布

如果一个分布能用以下的方式写出,就设这类分布属于指数族:

伯努利分布可以表示成:

可以发现,伯努利分布是指数族分布,其中:

3.sigmod函数的推导

标准的逻辑回归问题中,是二分类的,与伯努利分布类似。

上式即为sigmod函数的由来。
综上:若有一个样本空间,
那么

即为

二、Logistic regression损失函数推导

与线性回归的损失函数推导类似,通过最大似然函数估计来推出:
首先已知:

更简洁地,上式可以写成:

假设m个样本都是相互独立的,即可得似然函数:

取对数:

我们要求似然函数的最大值,反之在似然函数前加个负号,就能得到损失函数:

三、Logistic regression梯度下降

我们先将简化:
J(\theta)=-\frac{1}{m} \sum_{i=1}^m \left \{ y^i log(\frac{1}{1+e^{-\theta^Tx^i }}) + (1-y^i)log(1-\frac{1}{1+e^{-\theta^Tx^i }}) \right \} {}\\ =-\frac{1}{m} \sum_{i=1}^m \left \{ -y^i log({1+e^{-\theta^Tx^i }}) - (1-y^i)log({1+e^{\theta^Tx^i }}) \right \}
可得:
\begin{split} \frac{\partial {J(\theta) } }{\partial{\theta_j}} = {} & -\frac{1}{m} \sum_{i=1}^m \left \{ -y^i \frac{-x_j^i e^ {-\theta^Tx^i }} {1+e^ {-\theta^Tx^i }} - (1-y^i) \frac{x_j^ie^{\theta^Tx^i }}{1+e^{\theta^Tx^i }}) \right \} {}\\ &= -\frac{1}{m} \sum_{i=1}^m \left \{ y^i \frac{ x_j^i} {1+e^{\theta^Tx^i }} - (1-y^i) \frac{x_j^ie^{\theta^Tx^i }}{1+e^{\theta^Tx^i }}) \right \} {}\\ &= -\frac{1}{m} \sum_{i=1}^m \left \{ \frac{ y^ix_j^i - x_j^i e^{\theta^Tx^i } +y^ix_j^ie^{\theta^Tx^i }} {1+e^{\theta^Tx^i }} \right \} {}\\ &=-\frac{1}{m} \sum_{i=1}^m \left \{ \frac{y^i(1+e^{\theta^Tx^i }) - e^{\theta^Tx^i } } {1+e^{\theta^Tx^i }} x_j^i \right \} {}\\ &= -\frac{1}{m} \sum_{i=1}^m \left \{ y^i - \frac{1 } {1+e^{-\theta^Tx^i }} x_j^i \right \}{}\\ &= -\frac{1}{m} \sum_{i=1}^m \left \{ (y^i - h_\theta(x^i)) x_j^i \right \}{}\\ &=\frac{1}{m} \sum_{i=1}^m \left \{ ( h_\theta(x^i) - y^i ) x_j^i \right \} \end{split}

四、softmax函数推导

softmax回归是逻辑回归的推广,在标准的逻辑回归中,响应变量y只有两个类别:0或1,在softmax回归中,y可以是k个取值中的任意一个:

比如说在手写数字识别问题中,k=10,y有10个类别。
y取每个类别都对应一个概率,由于总的概率相加必为1,因此我们可以用k-1个参数来对这些概率值参数化。
令:
可得:

对应定义

T(y)是一个k-1维的向量,代表向量第i个元素。
这就是熟悉的one-hot向量的形式
再介绍一种几号:指示函数:,若参数为真,则等于1,否则等于0.
比如,
根据定义,可知: (确保理解此处)
因为:
把k个多项式表示成指数分布:
\begin{split} p(y;\phi)= {} & \phi_1^{1 \{y=1 \} }\phi_2^{1 \{y=2 \}} \cdots \phi_k^{1 \{y=k \}} {}\\ & = \phi_1^{ T(y)_1} \phi_2^{ T(y)_2} \cdots \phi_k^{ 1-\sum_{i=1}^{k-1}T(y)_i} {}\\ &= exp \left\{ T(y)_1 log(\phi_1) + T(y)_2 log(\phi_2) + \cdots + (1- \sum_{i=1}^{k-1}T(y)_i)log(\phi_k) \right \} {}\\ &=exp \left\{ T(y)_1 log(\frac{\phi_1}{\phi_k}) + T(y)_2 log( \frac{\phi_2}{\phi_k }) + \cdots + log(\phi_k) \right \} {}\\ & =b(y)exp(\eta^TT(y)-\alpha(\eta)) \end{split}
其中:

与i=1,2,...,k相对应的链接函数为:

为方便起见,定义:
对链接函数取反函数:

得:
可得:

得到响应函数:

与逻辑回归,线性回归一样,softmax回归也属于广义线性模型,满足假设:自然参数和输入x是线性相关的,即
即可得到y的条件分布为:

最终得到的适用于解决多分类问题的模型,即为softmax回归的激活函数。

一下还有softmax损失函数和梯度下降的推导,由于时间关系,改天再补上,请见谅。

你可能感兴趣的:(机器学习系列4:逻辑回归与softmax回归详解)