一般我们见到的都是0,1标签,+-1时该如何推导呢?
3个回答
logistic regression中用的是logistic sigmoid函数
$$\text{sigmoid}(x)=\frac{e^x}{e^x+1}\in [0,1]$$
而$$\text{tanh}(x)=2\text{sigmoid}(2x)-1=\frac{e^x-e^{-x}}{e^x+e^{-x}}\in [-1,1]$$
下面蓝色是sigmoid,红色是tanh。
如果是用neural network,标签是一位的-1/+1,最后一层用tanh activation function。如果标签是一位的0/1,可用sigmoid。如果标签是多位的one hot编码,最后一层用softmax。
---------------------------------------------------------------------------------
令$x$是输入数据,$w$是logistic regression参数,$y=-1/1$是标签,$\sigma(z)=\sigma(w^Tx)$是sigmoid函数。
似然函数(likelihood)模型是
$P(y_i|x_i)_w=\sigma(y_iz_i)$,$y_i=-1/1$, $z_i=w^Tx_i$
minimum negtive log likelihood可得损失函数:
$argmin_w{l(w)_{y,x}}$
$=argmin_w{-\sum_{i=1}^N ln\sigma(y_iz_i)}$
$=argmin_w{\sum_{i=1}^N ln\dfrac{1}{\sigma(y_iz_i)}}$
$=argmin_w{\sum_{i=1}^N ln(1+e^{-y_iz_i})}$
注意,因为用的模型是sigmoid函数,这里的最小负log释然函数等价于最小cross entropy。
如果用cross entropy写
令$t=0.5y+0.5$,表示是否$y==1$的标签,$t=0/1$。
$argmin_w{CE(w)_{y,x}}$
$=argmin_w{-[t_i ln\sigma(z_i)+(1-t_i)ln(1-\sigma(z_i))]}$
$=argmin_w{-[(0.5y+0.5)ln\dfrac{1}{1+e^{-z_i}}+(0.5-0.5y)ln\dfrac{1}{1+e^{z_i}}]}$
$=argmin_w{ln(1+e^{z_i})-\dfrac{y+1}{2}z_i}$
当$y=-1/1$
$CE(w)_{y,x}=l(w)_{y,x}$
为什么非要是-1和+1呢?把0,1映射成-1,+1不就可以了?
逻辑回归里通常把负样本标记为0其实是有意义的,因为逻辑回归可以得到预测概率,预测结果为0,不仅表示了是负样本,同时也是表示$P(Y=1)=0$的意思。-1,+1表达不了这个。
SofaSofa数据科学社区DS面试题库 DS面经