逻辑回归算法之交叉熵函数理解

之前看到Tensorflow中文社区网站(http://www.tensorfly.cn/tfdoc/tutorials/mnist_beginners.htm)中训练MNIST数据集有一个交叉熵函数,这里写图片描述当时不是特别理解,想了很久为什么这个函数就可以表示代价函数,后来经过学习吴恩达课程之后明白了,如果有初学者一开始想不明白这个函数,可以参考我以下的解释:
首先训练MNIST数据集的算法采用的是分类算法,和我们上次模拟房价的线性回归不一样,对于分类算法输出值都是离散值,线性回归算法输出是连续值,接下来我们讲一下广泛使用且典型的二元逻辑回归算法,逻辑回归算法的总体思路是将样本进行聚类分类,同一类样本放一起,将不同类的样本分离,如下图
这里写图片描述

对于二元逻辑回归算法中,其输出值只能是0或者1。上节说到了线性回归模型的数学模型,现给出逻辑回归算法的数学模型,
这里写图片描述

这里写图片描述

这里写图片描述

现已经给出了逻辑回归算法的数学模型,如果我们采用传统的平方误差函数,其画出的代价函数图就不会是一个凸函数,而是有很多局部最优点的歪歪扭扭的函数图像如下:
这里写图片描述

这类函数图像不是我们所想要的,因为有太多局部最优点了,我们需要一个全局最优点并且曲线光滑,如下图是我们所想要得到的代价函数曲线图
这里写图片描述

为了达到尽可能使得曲线光滑以及尽可能使得类似于像这种一元二次函数,因此我们给出代价函数表达式如下表示:
这里写图片描述

这里写图片描述

这里写图片描述

这个代价函数是一个分段函数,分别给出了y=0和y=1的代价函数图,从图中可以看出这个代价满足了凸函数的要求且没有局部最优点,只有全局最优点。
这里写图片描述

这是将分段函数组合成一个函数的表达式,看到这里应该明白了为什么训练MNIST用了交叉熵函数,因为这是一个分类问题,手写数字0-9,对应十个0和1标签,标签在某一个位置上为1代表对应的这个手写数字。标签值只有0和1,属于离散值,交叉熵函数对应了y=1的分段函数。以上是本人的理解,希望对您有所帮助!

  • 9
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值