逻辑回归损失函数(cost function)

逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(Cost Function)可以像线型回归那样,以均方差来表示;也可以用对数、概率等方法。损失函数本质上是衡量”模型预估值“到“实际值”的距离,选取好的“距离”单位,可以让模型更加准确。

1. 均方差距离

\[{J_{sqrt}}\left( w \right) = {\sum\limits_{i = 1}^m {{y_i}\left( {1 - p\left( {{x_i};w} \right)} \right)} ^2} + \left( {1 - {y_i}} \right){\left( {0 - p\left( {{x_i};w} \right)} \right)^2}{\rm{      (1)}}\]

用均方差作为损失函数,当模型完全预估错误时(y=1, p=0; 或y=0, p=1),损失是1。预估正确时,损失是0。错误值离正确值的“距离”相对较小,区分度不大。

另外,上面的损失函数相对\(\theta \)并非是凸函数,而是有很多极小值(local minimum)的函数。因此,很多凸优化的算法(如梯度下降)无法收敛到全局最优点。

2. log距离

均方差作为LR模型的距离衡量标准,最“预估错误”的惩罚太过柔和。因此,最后训练出来的模型会出现较多的“极端”预估错误情况。另外,均方差损失函数的非凸性也限制了其使用价值。

log距离作为损失函数的公式如下:

\[{J_{\log }}\left( w \right) = \sum\limits_{i = 1}^m { - {y_i}Log\left( {p\left( {{x_i};w} \right)} \right) - (1 - {y_i})Log\left( {1 - p\left( {{x_i};w} \right)} \right)} {\rm{        (2)}}\]

式(2)与式(1)的区别如下图所示:

3. 概率距离

LR模型预估的是概率,自然的,损失函数可以用联合概率分布来衡量。

\[{J_{stat}}(w) =  - \prod\limits_{i = 1}^m {{{\left( {p({x_i};w)} \right)}^{{y_i}}}{{\left( {1 - p({x_i};w)} \right)}^{1 - {y_i}}}} {\rm{     (3)}}\]

比较式(2)和式(3)可知:

\[{J_{\log }}\left( w \right) = Log\left( {{J_{stat}}(w)} \right){\rm{     (4)}}\]

由于log函数为单调递增函数,log距离和概率距离本质上是一样的,训练得到的结果也应该一致。

时间: 2024-07-31 04:40:29

逻辑回归损失函数(cost function)的相关文章

逻辑回归损失函数3D图

在学习逻辑回归的过程中,通过3D图像可以直接观察损失函数的收敛速度,对自行确定学习速率提供参考 损失函数公式: Octave程序如下: tx = linspace(100,-30,1000); %θ和X看做一个共同参数ty = round(unifrnd(0,1,1,1000));% y的值仅仅为0或1,随机生成1000个m=length(tx);[xx, yy] = meshgrid (tx, ty);tz = -1 *( yy* log( sigmoid(xx) ) + (1 - yy )

为什么逻辑回归损失函数不用均方损失/二元逻辑回归的损失函数适合采用对数损失函数

逻辑回归可以用于处理二元分类问题,将输出值控制在[0,1]区间内,为确保输出值时钟若在0到1之间,采用sigmoid函数,其具有该特性,将线性回归训练得到的模型输出数据作z = x1*w1+x2*w2+...+xn*wn+b代入得到y,保证了y在0~1之间 逻辑回归中用到sigmoid函数,若用均方误差则为非凸函数,有多个极小值,采用梯度下降法容易现如局部最优解中 因此在二元逻辑回归的损失函数一般采用对数损失函数 y'是x代入得到的预测值,介于0~1之间的: 若标签值为1,我们希望预测的结果也是

逻辑回归损失函数为何取负数

这样y与^y, 差值最小,因此使用其作为损失函数. 参考: https://www.zhihu.com/question/272058718 原文地址:https://blog.51cto.com/12597095/2486137

机器学习的简单逻辑回归的Advanced Optimization

Learning Course: One variable logistic regression optimization 单变量(只有一个特征)的用于分类的逻辑回归的cost function的最小值求解, here: x=[x1;x2]; y={0,1}; theta=[theta(1);theta(2)] 由于分类中的y值需为0-1之间的数值,因此这里的cost function不同于线性回归的cost function. hθ(x)=g(θTx), where g(x)= 1/(1-e

Andrew Ng机器学习(二):逻辑回归

1.逻辑回归解决什么问题? 逻辑回归用于分类问题. 对于二分类问题,输入多个特征,输出为是或不是(也可以写作1或0). 逻辑回归就是这样一个用于分类的模型. 2.什么是逻辑回归? 逻辑回归建立在线性回归的基础上. 首先,线性回归将多个特征映射到一个变量. 之后,在这个变量上设置一个阈值.大于这个阈值的判断为是,输出1:小于这个阈值的判断为否,输出0. 也可以不输出1或0,而输出是1的概率,再由概率是否大于0.5判断是或否. 逻辑回归就是这样一个输出是1的概率的模型(Sigmoid函数): 对于θ

大白话5分钟带你走进人工智能-第十八节逻辑回归之交叉熵损失函数梯度求解过程(3)

                                               第十八节逻辑回归之交叉熵损失函数梯度求解过程(3) 上一节中,我们讲解了交叉熵损失函数的概念,目标是要找到使得损失函数最小的那组θ,也就是l(θ)最大,即预测出来的结果在训练集上全部正确的概率最大.那我们怎么样找到我们的最优解呢?上节中提出用梯度下降法求解,本节的话我们对其具体细节展开. 先来看下我们用梯度下降求解最优解,想要通过梯度下降优化L(θ)到最小值需要几步? 第一步,随机产生w,随机到0附近会

R语言数据分析系列之九 - 逻辑回归

R语言数据分析系列之九 -- by comaple.zhang 本节将一下逻辑回归和R语言实现,逻辑回归(LR,LogisticRegression)其实属于广义回归模型,根据因变量的类型和服从的分布可以分为,普通多元线性回归模型,和逻辑回归,逻辑回归是指因变量是离散并且取值范围为{0,1}两类,如果离散变量取值是多项即变为 multi-class classification,所以LR模型是一个二分类模型,可以用来做CTR预测等.那么我们现在来引出逻辑回归如何做二分类问题. 问题引入 在多元线

线性回归和 逻辑回归 的思考(参考斯坦福 吴恩达的课程)

还是不习惯这种公式的编写,还是直接上word.... 对上面的(7)式取log后并最大化即可得到最小二乘法,即 argmaxθ J(θ) 思考二:线性回归到逻辑回归的转变: 1) 引入逻辑回归,假设用线性回归来做分类问题,设为二分类,即y取0或1. 则会出现如下的情况: 这种情况下是能很好的分类的,但若数据是如下所示呢: 则分类很不好. 思考三:逻辑回归损失函数的得来(解释):     答,也是通过最大似然得到的.y的取值为0,1:则认为这是一个伯努力的分布,也称为两点的分布,则公式表示如下:

基于分类问题的逻辑回归模型

由于分类问题的输出是0.1这样的离散值,因而回归问题中用到的线性回归模型就不再适用了.对于分类问题,我们建立逻辑回归模型. 针对逻辑回归模型,主要围绕以下几点来讨论. Logistic Regression (逻辑回归) Sigmoid Function (逻辑函数) Decision Boundaries (决策边界) Cost Function (代价函数) 决策边界不是数据集的属性,而是假设本身及其参数的属性.我们不是用训练集来定义的决策边界,我们用训练集来拟合参数θ,一旦有了参数θ就可以