逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(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距离和概率距离本质上是一样的,训练得到的结果也应该一致。

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

  1. Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)

    Logistic Regression 一.内容概要 Classification and Representation Classification Hypothesis Representatio ...

  2. Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 清晰讲解logistic-good!!!!!!

    原文:http://52opencourse.com/125/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D ...

  3. 吴恩达机器学习笔记 - cost function and gradient descent

    一.简介 cost fuction是用来判断机器预算值和实际值得误差,一般来说训练机器学习的目的就是希望将这个cost function减到最小.本文会介绍如何找到这个最小值. 二.线性回归的cost ...

  4. logistic回归具体解释(二):损失函数(cost function)具体解释

    有监督学习 机器学习分为有监督学习,无监督学习,半监督学习.强化学习.对于逻辑回归来说,就是一种典型的有监督学习. 既然是有监督学习,训练集自然能够用例如以下方式表述: {(x1,y1),(x2,y2 ...

  5. [吴恩达机器学习笔记]12支持向量机1从逻辑回归到SVM/SVM的损失函数

    12.支持向量机 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广 12.1 SVM损失函数 从逻辑回归到支持向量机 为了描述 ...

  6. 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  7. 机器学习(九)—逻辑回归与SVM区别

    逻辑回归详细推导:http://lib.csdn.net/article/machinelearning/35119 面试常见问题:https://www.cnblogs.com/ModifyRong ...

  8. 线性模型之逻辑回归(LR)(原理、公式推导、模型对比、常见面试点)

    参考资料(要是对于本文的理解不够透彻,必须将以下博客认知阅读,方可全面了解LR): (1).https://zhuanlan.zhihu.com/p/74874291 (2).逻辑回归与交叉熵 (3) ...

  9. sklearn逻辑回归(Logistic Regression,LR)调参指南

    python信用评分卡建模(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_ca ...

随机推荐

  1. asp.net项目中通过Web.config配置文件及文件夹的访问权限---forms

    十分全面的forms验证配置: http://blog.csdn.net/qingyun1029/article/details/6184723

  2. UartDma工作方式

    一.初始化 1.初始化串口,时钟 MX_USART1_UART_Init(); 串口时钟初始化为内部时钟 PeriphClkInit.Usart1ClockSelection = RCC_USART1 ...

  3. 关于Shell中命令替换$(...)与后置引用`...`的不同

    命令替换 在bash中,$( )与` `(反引号)都是用来作命令替换的.命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行. $( )与`` ...

  4. web sevice 生成代理类及使用

    一.生成代理类: VS2008下这样写 wsdl.exe /l:cs /out:D:/ProxyServices.cs http://localhost/WebService.asmx VS2010下 ...

  5. 软件测试 -- 软件缺陷记录的5C原则

    Correct(准确):每个组成部分的描述准确,不会引起误解: Clear(清晰):每个组成部分的描述清晰,易于理解: Concise(简洁):只包含必不可少的信息,不包括任何多余的内容: Compl ...

  6. Unity3d 如何找到游戏对象并改变其颜色

    //游戏对象 private var obj:GameObject; //渲染器 private var render:Renderer; //贴图 private var texture:Textu ...

  7. python学习笔记11(函数二): 参数的传递、变量的作用域

    一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> ...

  8. android项目在eclipse下编译运行的问题

    JDK与电脑系统要匹配,都是32位或者64位: android工程要与JDK相匹配,如果之前的android工程使用的jdk版本较高,则可能出现一些包或者类.方法.属性对应不上而报错,Android ...

  9. 在 Windows 8 或 8.1 上安装 .NET Framework 3.5 安装错误:0x800f0906、0x800F081F

    昨天给一天新装Windows 8.1的PC装.NET Framework 3.5 发现联网速度很慢,并且在长久等待过后直接报错了:0x800f0906 经过Bing,发现了解决方案: 如果根据需要安装 ...

  10. jquery 对 Json 的各种遍历

    grep <script type='text/javascript' src="/jquery.js"></script> <script type ...