2.2 logistic回归损失函数(非常重要,深入理解)

  1. 上一节当中,为了能够训练logistic回归模型的参数w和b,需要定义一个成本函数
    1. 使用logistic回归训练的成本函数
      1. 为了让模型通过学习来调整参数,要给出一个含有m和训练样本的训练集
      2. 很自然的,希望通过训练集找到参数w和b,来得到自己得输出
      3. 对训练集当中的值进行预测,将他写成y^(I)我们希望他会接近于训练集当中的y^(i)的数值
  2. 现在来看一下损失函数或者叫做误差函数
    1. 他们可以用来衡量算法的运行情况
    2. 可以定义损失函数为y^和y的差,或者他们差的平方的一半,结果表明你可能这样做,但是实际当中,大家都不会这么做,因为当你学习这些参数的时候,你会发现之后讨论的优化问题,会变成非凸的,最后会得到很多的局部最优解,梯度下降算法可能找不到最优的全局最优值,
    3. 直观理解就是我们定义这个损失函数L,来衡量你的预测输出值y^和y的实际值有多接近,误差平方看起来是一个合理的选择,但是如果用这个的话,梯度下降法就不会很好用,
    4. 在logistic回归中,我们会定义一个不同的损失函数,它起着于误差平方相似的作用,这会给我们一个凸的优化问题,他很容易去做优化,
    5. 在logistic回归中,我们用的损失函数将会是下面这样的,(非常重要!)
      1. 直观的看一下为什么这个函数会起到作用,
        1. 记得如果我们使用误差平方越小越好
        2. 对于这个logistic回归的损失函数,同样的,我们也想让它尽可能的小,
      2. 为了更好的理解它能起到好的作用,来看两个例子
        1. 当y=1的时候,就是第一项L带个负号
          1. 这就是说,当y=1的时候,你想让-log(y^)尽可能小(代表着误差尽可能的小),那么就需要y^足够大,但是因为y^是sigmoid函数得出来的,永远不会比1大,也就是说,如果y=1的时候,你想让y^,尽可能的大,但是它永远不会大于1,所以你要让y^接近1(从sigmoid函数的图像上看一下,采取什么样的措施才能够让y^接近于1呢?就是上一节分析的那样),
        2. 当y=0的时候,
          1. 在学习过程中,想让损失函数小一些,也就意味着你想要log(1-y^)够大,通过这一系列的推导,发现,损失函数让y^尽可能的小,再次,因为y^只能介于0和1之间,所以就是说,当y=0的时候,损失函数会让这些让y^尽可能的接近0,有很多函数都能够达到上面的效果,
      3. 如果y=1,我们尽可能的让y^很大,如果y=0,尽可能的让y^足够小,
        1. 给出解释为什么在logistic回归中,要使用这个形式的损失函数。
      4. 最后说一下
        1. 在单个训练样本中定义的,它衡量了在单个训练样本上的表现(个人理解也就是一个训练集中的每个训练样本),
  3. 下面定义一个成本函数
    1. 它衡量的是在全体训练样本上的表现,这个成本函数J,根据之前得到的两个参数w和b,J(w,b)等于所有的训练样本的损失函数的和的平均数
    2. y^是用一组特定的参数w和b,通过logistic回归算法得出的预测输出值,
    3. 损失精度函数适用于单个训练样本,而成本函数,基于参数的总成本,所以在训练logistic回归模型的是时候,我们需要找到合适的参数w和b,让下面这里的成本函数尽可能的小,
  4. 这一节我们看到了logistic回归算法的过程,以及训练样本的损失函数,还有和参数相关的总体成本函数,结果表明,logistic回归可以被看作是一个非常小的神经网络,
  5. 下一节讲解,神经网络能够做什么,看看如何将logistic回归看做一个非常小得神经网络,

logistic回归损失函数(非常重要,深入理解)的更多相关文章

  1. 感知机、logistic回归 损失函数对比探讨

    感知机.logistic回归 损失函数对比探讨 感知机 假如数据集是线性可分的,感知机学习的目标是求得一个能够将正负样本完全分开的分隔超平面 \(wx+b=0\) .其学习策略为,定义(经验)损失函数 ...

  2. 2.2 logistic回归损失函数(非常重要,深入理解)

    上一节当中,为了能够训练logistic回归模型的参数w和b,需要定义一个成本函数 使用logistic回归训练的成本函数 为了让模型通过学习来调整参数,要给出一个含有m和训练样本的训练集 很自然的, ...

  3. 2.9 logistic回归中的梯度下降法(非常重要,一定要重点理解)

    怎么样计算偏导数来实现logistic回归的梯度下降法 它的核心关键点是其中的几个重要公式用来实现logistic回归的梯度下降法 接下来开始学习logistic回归的梯度下降法 logistic回归 ...

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

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

  5. 『科学计算』通过代码理解线性回归&Logistic回归模型

    sklearn线性回归模型 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model de ...

  6. Logistic回归总结

    原文:http://blog.csdn.net/dongtingzhizi/article/details/15962797  Logistic回归总结 作者:洞庭之子 微博:洞庭之子-Bing (2 ...

  7. 【转载】logistic回归

    原文地址:https://www.cnblogs.com/zichun-zeng/p/3824745.html 1. logistic回归与一般线性回归模型的区别: (1)     线性回归的结果变量 ...

  8. 如何在R语言中使用Logistic回归模型

    在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...

  9. 对线性回归,logistic回归和一般回归的认识

    原文:http://www.cnblogs.com/jerrylead/archive/2011/03/05/1971867.html#3281650 对线性回归,logistic回归和一般回归的认识 ...

随机推荐

  1. Linux学习记录(一):常用命令

    此篇文章为博主在Linux学习过程中的一些记录,记录在此方便查阅. 常用命令总结 ls 显示目录内容 (list directory contents) ls 不显示隐藏的文件和子目录 ls -a 显 ...

  2. Debian 10 xfce 错误提示 ACCESS DENIED

    闲来无事重新安装自己的服务器发现很多关于Debian的初始安装问题都已经陌生了在此重新整理下自己安装所遇到的问题: ACCESS DENIED  释: 登录成功拒绝Root密码访问 解决方法: loc ...

  3. JavaScript 浅复制和深复制

    浅复制只会复制第一层的元素,嵌套的元素还是原来的引用. const obj = { a: 1, b: 2 } const copyObj = Object.assign({}, obj) const ...

  4. java使用原生MySQL实现数据的增删改查以及数据库连接池技术

    一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: <dependency> <groupId> ...

  5. CSS操作

    CSS 与 JavaScript 是两个有着明确分工的领域,前者负责页面的视觉效果,后者负责与用户的行为互动.但是,它们毕竟同属网页开发的前端,因此不可避免有着交叉和互相配合. 1. 使用JavaSc ...

  6. windows 2008r2+php5.6.28搭建详细过程

    安装IIS7 1.打开服务器管理器(开始-计算机-右键-管理-也可以打开),添加角色 直接下一步 勾选Web服务器(IIS),下一步,有个注意事项继续下一步(这里我就不截图了) 勾选ASP.NET会弹 ...

  7. 【39】为什么使用卷积?(Why convolutions?)

    为什么使用卷积?(Why convolutions?) 我们来分析一下卷积在神经网络中如此受用的原因,然后对如何整合这些卷积,如何通过一个标注过的训练集训练卷积神经网络做个简单概括.和只用全连接层相比 ...

  8. java通过递归统计文件大小

    思路就是通过文件的遍历,对一个文件夹中的非目录文件进行大小统计,并对其中目录文件进行相同的遍历操作,代码如下: package word; import java.io.File; import ja ...

  9. ElementUI的Table表格添加自定义头CheckBox多选框

    在ElmentUI的Table表格组件中,也许你会使用type为selection值的多选框功能,但是此时设置的label属性不生效,不能设置标题名称:有时候我们的需求就是要添加标题名称,那该如何处理 ...

  10. kali linux中mariadb加上密码

    kali自带mysql.2019.4 中带得是:MariaDB.据说跟Mysql差不多.简单用了一下发现root用户可以不要密码进入Mysql! 这极不习惯,不输入密码感觉好像少了点什么.这肯定是权限 ...