逻辑回归模型预估的是样本属于某个分类的概率,其损失函数(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. 题目1444:More is better

    时间限制:3 秒 内存限制:100 兆 特殊判题:否 提交:1362 解决:640 题目描述: Mr Wang wants some boys to help him with a project. ...

  2. (转)使用Migrations更新数据库结构(Code First )

    原文地址:http://blog.csdn.net/luoyeyu1989/article/details/8275237 背景 code first起初当修改model后,要持久化至数据库中时,总要 ...

  3. 2016 系统设计第一期 (档案一)MVC 引用 js css

    @Styles.Render("~/Bootstrap/css/bootstrap-theme.css") @Scripts.Render("~/jQuery/jquer ...

  4. objective-C 中两种实现动画的方法(转)

     转发自:http://wayne173.iteye.com/blog/1250232 第一种方法: [UIView beginAnimations:@"Curl"context: ...

  5. Netty 4.0 demo

    netty是一个异步,事件驱动的网络编程框架&工具,使用netty,可以快速开发从可维护,高性能的协议服务和客户端应用.是一个继mina之后,一个非常受欢迎的nio网络框架 netty4.x和 ...

  6. 友盟分享在appdelegate中的调用语句举例

    //友盟 [UMSocialData setAppKey:UmengAppkey]; [UMSocialConfig setSupportedInterfaceOrientations:UIInter ...

  7. linux复制多个文件到文件夹

    linux复制多个文件到文件夹 cp file1 file2 file3 directory即将文件file1 file2 file3复制到directory

  8. EasyUI datagrid 分页Json字符串格式

    //EasyUI datagrid 分页Json字符串格式 //{"total":xx,"rows":[{...},{...}]} total:总数 rows: ...

  9. klayge 4.2.0 编译vc9

    CMake Error at CMakeLists.txt:442 (ADD_PRECOMPILED_HEADER): Unknown CMake command "ADD_PRECOMPI ...

  10. JSP中脚本、声明和表达式的本质区别

     JSP脚本元素 使用JSP脚本元素可以将Java代码嵌入到JSP页面里,这些Java代码将出现在由当前JSP页面生成的Servlet中,使JSP将静态内容与动态内容分离出来.脚本元素包含:  1. ...