逻辑回归的损失函数是怎么来的

  统计/机器学习 回归分析 监督式学习 损失函数
7

逻辑回归的损失函数是怎么来的?为什么定义成log-loss?

$$\text{log-loss}=-\frac{1}{n}\sum_{i=1}^n\left((y_i\log p_i)+(1-y_i)\log(1-p_i)\right)$$

 

Alfred   2017-03-16 14:00



   1个回答 
13

Logistic regression的loss function不是凭空出现的,是根据逻辑回归本身式子中系数的最大似然估计推导而来的。

逻辑回归的式子是这样的

$$Pr(y_i = 1) = \frac{1}{1+e^{-(\beta_0+\beta_1x_i)}}.$$

下面我们可以写出逻辑回归中的$\beta_0$和$\beta_1$的似然函数

\begin{eqnarray*} L(\beta_0,\beta_1)&=&\prod_{i=1}^n p(Y=y_i|X=x_i)\\ &=& \prod_{i=1}^n p(x_i)^{y_i}(1-p(x_i))^{1-y_i}. \end{eqnarray*}

其中$(x_i,y_i)$表示训练集中的每一个样本点。我们对似然函数取对数,可得

$$ \log L(\beta_0,\beta_1) = \sum_{i=1}^n\left(y_i\log(p(x_i))+(1-y_i)\log(1-p(x_i))\right).$$

我们希望上式越大越好,换句话说,对于给定样本数量$n$,我们希望$-\frac{1}{n}\log L(\beta_0,\beta_1)$越小越好,这个也就是LogLoss。

$$ \text{log-loss} = - \frac{1}{n}\sum_{i=1}^n\left(y_i\log(p(x_i))+(1-y_i)\log(1-p(x_i))\right). $$

所以说逻辑回归的损失函数不是定义出来的,而是根据最大似然估计推导而来的。


KingBug   2017-03-19 09:56

原来如此!和信息熵不谋而合! - 道画师   2017-03-31 11:36


相关问题

Ridge,Lasso,ElasticNet的目标函数分别是什么?   1回答

最小二乘回归和线性回归   2回答

huber loss是什么?什么时候用?   1回答

泊松回归(poission regression)的损失函数是什么?   1回答

python里有没有huber loss的线性回归   1回答

cross entropy是什么意思?   1回答

logloss的取值范围是多少?一般好的分类器能达到多少?   4回答

Hamming Loss汉明损失的计算公式是什么?   1回答

怎么理解surrogate loss function代理损失函数?   2回答

python求logloss   1回答

多分类问题有没有类似LogLoss的模型评判标准?   1回答

Gini指数、Gini系数、Gini不纯是一回事吗?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!