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

  统计/机器学习 回归分析 监督式学习 损失函数    浏览次数: 2964
8

逻辑回归的损失函数是怎么来的?为什么定义成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



   2个回答 
19

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
熵的log的底数是2,logloss的底数是e吧 - brpc   2018-03-16 22:31
1

逻辑回归是最大熵模型对应类别为两类时的特殊情况

bean   2018-03-16 22:25



  相关主题

LR中若标签为+1和-1,损失函数如何推导,求大佬解答   3回答

用SGD计算逻辑回归时的迭代公式是什么?   2回答

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

如何计算加权最小二乘法的样本权重?   2回答

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

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

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

如何理解GBDT里面“损失函数的负梯度在当前模型的值,可以作为残差的估计”?   1回答

cross entropy是什么意思?   1回答

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

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

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



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

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

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

我们谢绝答非所问。

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

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