机器学习之Softmax与logistic回归

935 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

Softmax回归详解

在softmax回归中,我们解决的是多分类问题(相对于logistic回归解决的二分类问题),标记yy可以取kk个不同的值。对于训练集{(x(1),y(1)),,(x(m),y(m))}\{(x^{(1)},y^{(1)}),\cdots,(x^{(m)},y^{(m)})\},我们有y(1){1,2,,k}y^{(1)}\in \{1,2,\cdots,k\}。 对于给定的测试输入xx,我们相拥假设函数针对每一个类别jj估算出概率值P(y=jx)P(y=j|x)。因此,我们的假设函数要输出一个kk维的向量(向量元素的和为1)类表示kk个估计的概率值。我们采用如下形式的假设函数hθ(x)h_{\theta}(x)

hθ(x(i))=[P(y(i)=1x(i);θ)P(y(i)=2x(i);θ)P(y(i)=10x(i);θ)]=1j=1keθjTx(i)=[eθ1Tx(i)eθ2Tx(i)eθkTx(i)](1)h_{\theta}(x^{(i)})= \begin{bmatrix} P(y^{(i)}=1|x^{(i)};\theta) \\ P(y^{(i)}=2|x^{(i)};\theta) \\ \vdots \\ P(y^{(i)}=10|x^{(i)};\theta) \end{bmatrix} =\frac{1}{\sum_{j=1}^ke^{\theta_j^Tx^{(i)}}}= \begin{bmatrix} e^{\theta_1^Tx^{(i)}} \\ e^{\theta_2^Tx^{(i)}} \\ \vdots \\ e^{\theta_k^Tx^{(i)}} \end{bmatrix} \tag{1}

参数θ\theta是一个k×(n+1)k\times (n+1)的参数矩阵

P(y(i)x(i);θ)=j=1k{eθjTx(i)l=1keθlTx(i)}1(y(i)=j)(2)P(y^{(i)}|x^{(i)};\theta)=\prod_{j=1}^k\left\{\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}\right\}^{1(y^{(i)}=j)} \tag{2}

似然函数为:

L(θ)=P(YX;θ)=i=1mP(y(i)x(i);θ)=i=1mj=1k{eθjTx(i)l=1keθlTx(i)}1(y(i)=j)(3)\begin{aligned} L(\theta) &=P(\boldsymbol{Y}|\boldsymbol{X};\theta) \\ &=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta) \\ &=\prod_{i=1}^{m}\prod_{j=1}^k\left\{\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}\right\}^{1(y^{(i)}=j)}\\ \tag{3} \end{aligned}

对数似然函数为:

l(θ)=logL(θ)=i=1mj=1k1(y(i)=j)logeθjTx(i)l=1keθlTx(i)(4)\begin{aligned} l(\theta) &=\log L(\theta) \\ &=\sum_{i=1}^{m}\sum_{j=1}^k1(y^{(i)}=j)\log{\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}}\\ \tag{4} \end{aligned}

我们将训练模型参数θ\theta使其能够最小化代价函数:

J(θ)=1m[i=1mj=1k1(y(i)=j)logeθjTx(i)l=1keθlTx(i)](5)J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m}\sum_{j=1}^k1(y^{(i)}=j)\log{\frac{e^{\theta_j^Tx^{(i)}}}{\sum_{l=1}^ke^{\theta_l^Tx^{(i)}}}}\right] \tag{5}

logistic回归

在**《机器学习之线性回归模型》一章中,我们学习了如何使用线性模型进行回归学习。如果要将线性模型用来分类,就要用到该章结尾介绍的广义线性模型**了。 logistic回归模型采用logistic函数来将线性回归产生的预测值z=wTx+bz=\boldsymbol{w}^T\boldsymbol{x}+b转化为一个接近0或1的yy值;

y=11+ez(1)y=\frac{1}{1+e^{-z}} \tag{1}

由此得到logistic回归模型:

y=11+e(wTx+b)(2)y=\frac{1}{1+e^{-(\boldsymbol{w}^T\boldsymbol{x}+b)}} \tag{2}

假设我们的训练集是由mm个已标记的样本构成:{(x(1),y(1)),,(x(m),y(m)),}\{(x^{(1)},y^{(1)}),\cdots,(x^{(m)},y^{(m)}),\},输入特征向量x(i)Rn+1\boldsymbol{x}^{(i)}\in \mathbb{R}^{n+1}。(我们约定其中x0=1对应截距项x_0=1对应截距项)。 我们将用于分类的函数称为假设函数(hypothesis function),logistic回归中的假设函数为:

hθ=11+e(θTx)(3)h_\theta=\frac{1}{1+e^{(-\theta^Tx)}} \tag{3}

注意,(3)(3)中的θ\theta等价于[w;b][w;b]。 我们可以通过“极大似然法”(maximum likelihood method)来估计θ\theta。不妨设:

P(y=1x;θ)=hθ(x)P(y=0x;θ)=1hθ(x)(4)\begin{aligned} P(y=1|x;\theta) &=h_\theta(x) \\ P(y=0|x;\theta) &=1-h_\theta(x) \\ \tag{4} \end{aligned}

那么有

P(yx;θ)=(hθ(x))y(1hθ(x))1y(5)P(y|x;\theta)=(h_\theta(x))^y(1-h_\theta(x))^{1-y} \tag{5}

似然函数为:

L(θ)=P(YX;θ)=i=1mP(y(i)x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)(6)\begin{aligned} L(\theta) &=P(\boldsymbol{Y}|\boldsymbol{X};\theta) \\ &=\prod_{i=1}^{m}P(y^{(i)}|x^{(i)};\theta) \\ &=\prod_{i=1}^{m}(h_\theta(x^{(i)}))^{y^{(i)}}(1-h_\theta(x^{(i)}))^{1-y^{(i)}}\\ \tag{6} \end{aligned}

对数似然函数为:

l(θ)=logL(θ)=i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))(7)\begin{aligned} l(\theta) &=\log L(\theta) \\ &=\sum_{i=1}^{m}y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))\\ \tag{7} \end{aligned}

我们将训练模型参数θ\theta使其能够最小化代价函数:

J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))](8)J(\theta)=-\frac{1}{m}\left[\sum_{i=1}^{m}y^{(i)}\log h_\theta(x^{(i)})+(1-y^{(i)})\log (1-h_\theta(x^{(i)}))\right] \tag{8}