热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

2.3logistic回归损失函数

为了训练logistic回归模型的参数w以及b,需要定义一个成本函数。让我们来看一下。用logistic回归来训练的成本函数。一、扼要重述回忆一下,这张幻灯片的函数,你的输出y^s

为了训练logistic回归模型的参数w以及b,需要定义一个成本函数。

让我们来看一下。用logistic回归来训练的成本函数。

一、扼要重述

回忆一下,这张幻灯片的函数,你的输出y^=sigmoid(w^Tx+b),这里定义为sigmoid(z)。

为了让模型来通过学习调整参数,要给一个m个样本的训练集。很自然地,你想通过在训练集,找到参数w和b,来得到你的输出,对训练集中预测值,将它写成y^(l),我们希望它会接近于在训练集中的y^(i)值。

为了让上面的方程更详细一些,需要说明上面这些定义的y^,是对一个训练样本x来说的,对于每一个训练样本,使用这样带有括号的上标。方便引用说明,还有区分样本。

你的训练样本(i),对应的预测值是y^(i)是用训练样本,通过sigmoid函数作用到wT*x^(i)+b得到的,你也可以将z^(i)定义成z(i)=wT*x^(i)+b。

在这门课里,我们将使用这个符号约定,就是这个上标(i)来指明数据,表示x或者y或者z和第i个训练样本有关,这就是上标(i)的含义。

二、损失函数/误差函数

现在我们来看看损失函数或者叫做误差函数,它们可以用来衡量算法的运行情况。你可以定义为损失为y^和y的差的平方,或者它们差的平方的1/2。

结果表明,你可以这样做。但通常在logistic回归中,大家都不这么做。

因为当你学习这些参数的时候,你会发现之后讨论的优化问题会变成非凸的最后,会得到很多个局部最优解。梯度下降法,可能找不到全局最优值。

如果你不能理解这几句话,别担心,我们会在后面的教学中讲到它。但是这个直观理解就是,我们通过定义这个损失函数L,来衡量你的预测值y^和y^的实际值有多接近。

误差平方,看起来似乎是一个合理的选择。但用这个的话,梯度下降法就不太好用。

在logistic回归中,我们会定义,一个不同的损失函数,它起着与误差平方相似的作用。这些会给我们一个凸的优化问题。

在后面的教学能看到,它很容易去做优化。

在logistic回归中,我们用的会是这里写的损失函数。它是-(y*log(y^)+(1-y)log(1-y^)).

直观地看看为何这个损失函数能起作用。

记得如果我们使用,误差平方越小越好。对于这个logistic回归的损失函数,同样地,我们也想让它尽可能地小。

为了更好地理解,为什么它能够起作用,让我们来看两个例子。

在第一个例子中,我们说y=1时,就是这第一项L(y^,y),带个符号就是-log(y^)。因为如果y=1,那么第二项1-y就等于0.这就是说当y=1时,你想让-log(y^)尽可能小,这意味着,想让log(y^)够大。

尽可能地大,这样就意味,你想要y^够大,但是因为y^是simoid函数得出的,永远不会大于1。也就是说,如果y=1时,你会想让y^尽可能地大,但它永远不会大于1。

另一个情况就是,如果y=0,损失函数的第一项等于0。因为y是0,然后第二项就是这个损失函数变成-log(1-y^)。

在学习过程中,想让损失函数小一些,也就意味着,你想要log(1-y^)够大,因为这里有一个符号。

通过这一系列推理,你可以得出,损失函数让y^尽可能地小。

再次,因为y^只能介于0到1之间,这就是说,当y=0时,损失函数会让这些函数,让y^尽可能地接近0,有很多函数都能达到这个效果。如果y=1,我们尽可能让y^很大。如果y=0,尽可能让y^足够小。

绿色字体这里,稍微解释了,为什么用这个作为损失函数。

后面我们会提供选修课,给出更正式的这样做的原因。解释为什么在logistic回归中,要用这个形式的损失函数。

最后说一下,损失函数是在单个训练样本中定义的。它衡量了在单个训练样本上的表现。

3、成本函数

下面我们要定义一个成本函数。它衡量的是在全体训练样本上的表现。这个成本函数J,根据之前得到的两个函数w和b,J等于1/m乘以求和L(y^(i),y^(i)),即所有训练样本的损失函数和。

而y^是用一组特定的参数w和b,通过logistic回归算法,得出的预测输出值。

所以,把这个展开,这等于-1/m,从i=1到m对损失函数求和,这是y^(i)*log(y^(i)),加上(1-y^(i)*log(1-y^(i))。我在这里划伤方括号,符号在这一堆式子的外面。

术语这样来用,损失函数只适用于,像这样的单个训练样本。这个成本函数,基于参数的总成本。

所以,在训练logistic回归模型时,我们要找到合适的参数w和b,让下面这里的成本函数J尽可能地小。

你刚看到了,logistic回归算法的过程,以及训练样本的损失函数,还有和参数相关的总体成本函数。

结果表明,logistic回归,可以被看作是一个非常小的神经网络。

下节预告】在下一讲中,我们将会讲到,直观地去理解神经网络能做什么,看看如何将logistic回归看作一个非常小的神经网络。


推荐阅读
  • 本文探讨了卷积神经网络(CNN)中感受野的概念及其与锚框(anchor box)的关系。感受野定义了特征图上每个像素点对应的输入图像区域大小,而锚框则是在每个像素中心生成的多个不同尺寸和宽高比的边界框。两者在目标检测任务中起到关键作用。 ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 信用评分卡的Python实现与评估
    本文介绍如何使用Python构建和评估信用评分卡模型,涵盖数据预处理、模型训练及验证指标选择。附带详细代码示例和视频教程链接。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 智能车间调度研究进展
    本文综述了基于强化学习的智能车间调度策略,探讨了车间调度问题在资源有限条件下的优化方法。通过数学规划、智能算法和强化学习等手段,解决了作业车间、流水车间和加工车间中的静态与动态调度挑战。重点讨论了不同场景下的求解方法及其应用前景。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 本文档旨在帮助开发者回顾游戏开发中的人工智能技术,涵盖移动算法、群聚行为、路径规划、脚本AI、有限状态机、模糊逻辑、规则式AI、概率论与贝叶斯技术、神经网络及遗传算法等内容。 ... [详细]
  • 基于2-channelnetwork的图片相似度判别一、相关理论本篇博文主要讲解2015年CVPR的一篇关于图像相似度计算的文章:《LearningtoCompar ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文探讨如何设计一个安全的加密和验证算法,确保生成的密码具有高随机性和低重复率,并提供相应的验证机制。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
author-avatar
_子竹_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有