logistic回归详解(二):损失函数(cost function)详解

标签: logistic回归 详解
59054人阅读 评论(8) 收藏 举报
分类:

有监督学习

机器学习分为有监督学习,无监督学习,半监督学习,强化学习。对于逻辑回归来说,就是一种典型的有监督学习。
既然是有监督学习,训练集自然可以用如下方式表述:

{(x1,y1),(x2,y2),,(xm,ym)}

对于这m个训练样本,每个样本本身有n维特征。再加上一个偏置项x0, 则每个样本包含n+1维特征:

x=[x0,x1,x2,,xn]T

其中 xRn+1, x0=1, y{0,1}

李航博士在统计学习方法一书中给分类问题做了如下定义:
分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification).

在logistic回归详解一(http://blog.csdn.net/bitcarmanlee/article/details/51154481)中,我们花了一整篇篇幅阐述了为什么要使用logistic函数:

hθ(x)=g(θTx)=11+eθTx

其中一个重要的原因,就是要将Hypothesis(NG课程里的说法)的输出映射到0与1之间,既:
0hθ(x)1

同样是李航博士统计学习方法一书中,有以下描述:
统计学习方法都是由模型,策略,和算法构成的,即统计学习方法由三要素构成,可以简单表示为:

=++

对于logistic回归来说,模型自然就是logistic回归,策略最常用的方法是用一个损失函数(loss function)或代价函数(cost function)来度量预测错误程度,算法则是求解过程,后期会详细描述相关的优化算法。

logistic函数求导

g(z)=ddz11+ez=1(1+ez)2(ez)=1(1+ez)(11(1+ez))=g(z)(1g(z))

此求导公式在后续推导中会使用到

常见的损失函数

机器学习或者统计机器学习常见的损失函数如下:

1.0-1损失函数 (0-1 loss function)

L(Y,f(X))={1,0, f(X)Y = f(X)

2.平方损失函数(quadratic loss function)

L(Y,f(X))=(Yf(x))2

3.绝对值损失函数(absolute loss function)

L(Y,f(x))=|Yf(X)|

4.对数损失函数(logarithmic loss function) 或对数似然损失函数(log-likehood loss function)

L(Y,P(Y|X))=logP(Y|X)

逻辑回归中,采用的则是对数损失函数。如果损失函数越小,表示模型越好。

说说对数损失函数与平方损失函数

在逻辑回归的推导中国,我们假设样本是服从伯努利分布(0-1分布)的,然后求得满足该分布的似然函数,最终求该似然函数的极大值。整体的思想就是求极大似然函数的思想。而取对数,只是为了方便我们的在求MLE(Maximum Likelihood Estimation)过程中采取的一种数学手段而已。

损失函数详解

根据上面的内容,我们可以得到逻辑回归的对数似然损失函数cost function:

cost(hθ(x),y)={log(hθ(x))log(1hθ(x))if y=1if y=0

稍微解释下这个损失函数,或者说解释下对数似然损失函数:
当y=1时,假定这个样本为正类。如果此时hθ(x)=1,则单对这个样本而言的cost=0,表示这个样本的预测完全准确。那如果所有样本都预测准确,总的cost=0
但是如果此时预测的概率hθ(x)=0,那么cost。直观解释的话,由于此时样本为一个正样本,但是预测的结果P(y=1|x;θ)=0, 也就是说预测 y=1的概率为0,那么此时就要对损失函数加一个很大的惩罚项。
当y=0时,推理过程跟上述完全一致,不再累赘。

将以上两个表达式合并为一个,则单个样本的损失函数可以描述为:

cost(hθ(x),y)=yilog(hθ(x))(1yi)log(1hθ(x))

因为 yi 只有两种取值情况,1或0,分别令y=1或y=0,即可得到原来的分段表示式。

全体样本的损失函数可以表示为:

cost(hθ(x),y)=i=1myilog(hθ(x))(1yi)log(1hθ(x))

这就是逻辑回归最终的损失函数表达式

查看评论

逻辑回归:损失函数与梯度下降

1 sigmoid函数 2 极大似然估计MLE与损失函数 3 梯度下降 4 另一种形式的损失函数及其梯度 1.1 sigmoid函数由于二分类结果是1或者0,这与数学的阶跃函数很类似,但是阶跃函数在x...
  • jediael_lu
  • jediael_lu
  • 2017年09月05日 15:28
  • 2263

逻辑回归为什么使用对数损失函数

在前面介绍的《逻辑回归是个什么逻辑》中,我们构建的逻辑回归模型是: P(y=1|x;θ)=11+e−θTxP(y = 1|x;\theta ) = \frac{1}{{1 + {e^{ - {\th...
  • saltriver
  • saltriver
  • 2017年03月19日 11:23
  • 7883

线性回归、逻辑回归、损失函数

× 线性回归、逻辑回归、损失函数     回归问题的条件/前提: 1) 收集的数据 2) 假设的...
  • hanxu117160
  • hanxu117160
  • 2017年04月24日 17:35
  • 650

线性回归与逻辑回归的损失函数选择

线性回归损失函数为什么要用平方形式 : 对于训练数据样本(xi,yi),我们有如下的拟合直线: yˆi=θ0+θ1∙xi 我们构建了一个损失函数: C=∑i=1n(yi−yˆi)2 表示...
  • hanxu117160
  • hanxu117160
  • 2017年04月24日 16:23
  • 1715

Logistic Regression 损失函数理解

今天面试管问我,Logistic Regression 损失函数的意义是啥,所以上网总结一下。 首先:Logistic Regression损失函数的由来。也就是要明白损失函数是用来干啥的?用来求参...
  • ZhikangFu
  • ZhikangFu
  • 2016年05月04日 15:53
  • 3756

机器学习---之逻辑回归中损失函数的由来

转载: https://www.zhihu.com/question/47744216 宋佳慧 爱数学的程序猿 19...
  • zxyhhjs2017
  • zxyhhjs2017
  • 2017年12月19日 15:01
  • 188

线性回归的损失函数与逻辑回归的损失函数

一、线性回归损失函数的两种解释线性回归的损失函数是平方损失函数,为什么使用平方的形式,参考:线性回归损失函数为什么要用平方形式,讲得很清楚。 在线性回归中,对于训练数据样本(xi,yi)(x_i,y...
  • wjlucc
  • wjlucc
  • 2017年05月02日 19:32
  • 3563

线性回归、逻辑回归、损失函数

回归问题的条件/前提: 1) 收集的数据 2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。 1. ...
  • littleqqqqq
  • littleqqqqq
  • 2016年03月08日 15:28
  • 2974

Logistic Regression(逻辑回归)详细讲解

Logistic Regression(逻辑回归)以前在学校学到Logistic Regression的时候,虽然最后会使用,但是对于许多地方有很多的疑惑,今天在这里详细梳理一下Logistic Re...
  • joshly
  • joshly
  • 2016年01月10日 23:31
  • 14522

机器学习中的常见损失函数

转自:https://www.cnblogs.com/luxiao/p/5783017.html 损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一...
  • class_brick
  • class_brick
  • 2018年01月02日 17:16
  • 269
    个人资料
    持之以恒
    等级:
    访问量: 173万+
    积分: 1万+
    排名: 974
    最新评论