zoukankan      html  css  js  c++  java
  • 逻辑回归损失函数(cost function)

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

    1. 均方差距离

    [{J_{sqrt}}left( w ight) = {sumlimits_{i = 1}^m {{y_i}left( {1 - pleft( {{x_i};w} ight)} ight)} ^2} + left( {1 - {y_i}} ight){left( {0 - pleft( {{x_i};w} ight)} ight)^2}{ m{      (1)}}]

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

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

    2. log距离

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

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

    [{J_{log }}left( w ight) = sumlimits_{i = 1}^m { - {y_i}Logleft( {pleft( {{x_i};w} ight)} ight) - (1 - {y_i})Logleft( {1 - pleft( {{x_i};w} ight)} ight)} { m{        (2)}}]

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

     

    3. 概率距离

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

    [{J_{stat}}(w) =  - prodlimits_{i = 1}^m {{{left( {p({x_i};w)} ight)}^{{y_i}}}{{left( {1 - p({x_i};w)} ight)}^{1 - {y_i}}}} { m{     (3)}}]

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

    [{J_{log }}left( w ight) = Logleft( {{J_{stat}}(w)} ight){ m{     (4)}}]

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

  • 相关阅读:
    经典SQL语句集锦(收藏版)
    硬件访问服务学习笔记_WDS
    Android 工具视频学习笔记_WDS
    Android资源收集
    Android USB gadget configfs学习笔记总结
    IP、端口号、MAC
    Java中的泛型
    git配置config文件
    Java基础知识总结
    Java中的继承抽象类和接口
  • 原文地址:https://www.cnblogs.com/richqian/p/4511557.html
Copyright © 2011-2022 走看看