吴恩达2022机器学习专项课程(一) 7.1 逻辑回归的成本函数第三周课后实验:Lab4逻辑回归的损失函数

ops/2024/10/18 12:23:17/

问题预览/关键词

  • 上节课回顾
  • 逻辑回归模型使用线性回归模型的平方误差成本函数
  • 单个训练样本的损失
  • 损失函数,成本函数,代价函数的区别
  • 线性回归损失函数和逻辑回归损失函数的区别
  • 逻辑回归模型的成本函数是什么?
  • 逻辑回归模型的损失函数
  • 实验
    • 逻辑回归模型使用平方误差成本函数
    • 可视化y=1和y=0时的损失函数
    • 逻辑回归模型的损失函数新形式
    • 可视化新损失函数的成本函数
  • 总结

上节课回顾

上节课的决策边界是通过w,b构建的,因此需通过成本函数,检测逻辑回归模型中的w,b是否为最优解。所以我们首先要直达逻辑回归模型的成本函数。

逻辑回归模型使用线性回归模型的平方误差成本函数

如右图所示,如果逻辑回归模型使用平方误差代价函数,则代价函数的值会呈现很多局部最小值,使用梯度下降算法会卡主,梯度下降算法无法找到全局最优解。
在这里插入图片描述

单个训练样本的损失

单个训练样本的损失,又叫损失函数,是衡量你在一个训练样本中的表现,也就是某一行训练样本的预测值和真实值的误差的大小。

损失函数,成本函数,代价函数的区别

  • 损失函数是衡量单个训练样本的损失,也就是一个样本的预测值与真实值之间的差异。
  • 成本函数和代价函数是一个意思,代表每个训练样本的损失的总和。

线性回归损失函数和逻辑回归损失函数的区别

  • 线性回归模型的损失函数是计算每组训练样本真实值和预测值的误差平方。
  • 逻辑回归模型的成本函数,是用来衡量每组训练样本的预测概率与真实标签之间的接近程度。在这里插入图片描述

逻辑回归模型的成本函数是什么?

使用对数损失函数计算成本函数,不同训练样本的标签对应不同的损失函数。
在这里插入图片描述

逻辑回归模型的损失函数

  • 当训练样本的真实y=1时,逻辑回归模型的预测f越接近1,代表预测为1的概率越大,损失越小。预测越接近0,代表预测为1的概率小,损失越大。
    在这里插入图片描述
    在这里插入图片描述
  • 当训练样本的真实y=0时,逻辑回归模型的预测f越接近0,代表预测为0的概率越大,损失越小。预测越接近1,代表预测为1的概率越小,损失越大。
    在这里插入图片描述
    在这里插入图片描述

实验

逻辑回归模型使用平方误差成本函数

逻辑回归使用此成本函数,不够平滑,不容易寻找全局最小值。在这里插入图片描述

可视化y=1和y=0时的损失函数

逻辑回归模型预测值f和损失值的走势。
在这里插入图片描述

逻辑回归模型的损失函数新形式

这个形式不用区分y=1和y=0,计算其中一项时,另一项的结果就会为0。(下节课会细说)在这里插入图片描述

可视化新损失函数的成本函数

新的成本函数以及其对数,对数为了让成本函数的轮廓和最小值(或最低点)更容易辨认。由此看出,逻辑回归模型选择此成本函数,没有高原,不连续,局部最小值。适合梯度下降。
在这里插入图片描述

总结

面对分类问题的训练集,需要对数损失函数来衡量每组训练样本的预测值和真实值的差异。差异的具体含义是y=1时,预测y为1的概率的大小。或者y=0时,预测y为0的概率的大小。损失函数是用于衡量单个训练样本,成本函数是衡量整个训练集,也就是累加损失函数的值,然后乘以m/1。如果逻辑回归模型使用平方误差成本函数计算,则成本函数会呈现局部最小值等特点,梯度下降算法可能无法有效地找到全局最优解。


http://www.ppmy.cn/ops/21121.html

相关文章

springboot 批量下载文件, zip压缩下载

一、使用hutool 工具类 效果&#xff1a;下载速度可以 1、依赖&#xff1a;hutool <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26</version> </dependency>2、调用方式 im…

Pytest基础

1.用例的设计原则 用Pytest写用例时候&#xff0c;一定要按照下面的规则去写&#xff0c;否则不符合规则的测试用例是不会执行的 1、文件名以 test_.py 文件和test.py 2、以 test 开头的函数 3、以 Test 开头的类&#xff0c;不能包含__init__方法 4、以 test_ 开头的类里面的…

C++中布隆过滤器

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

Pandas 2.2 中文官方教程和指南(十七)

原文&#xff1a;pandas.pydata.org/docs/ 重复标签 原文&#xff1a;pandas.pydata.org/docs/user_guide/duplicates.html Index对象不需要是唯一的&#xff1b;你可以有重复的行或列标签。这一点可能一开始会有点困惑。如果你熟悉 SQL&#xff0c;你会知道行标签类似于表上的…

pikachu-xss

反射型xss&#xff08;get&#xff09; 1.字数限制 按原本的做法&#xff0c;应该先写一个script标签测试一下&#xff0c;但是发现有字符限制。 2.解决方法 这里有两个可以插入的地方&#xff0c;一个是submit的提交框&#xff0c;另一个是url地址栏 submit&#xff1a;修…

GEE案例——1990-2023年计算某个区域的NDVI时序变化轨迹(以徐州市为例)

简介 我们在长时间序列的分析中,往往会根据影像时序的长短来进行分析,这里我们以NDVI指数进行长时序分析,来实现NDVI1990-2023年长时序的监测。 时序监测 时序监测是指通过对连续时间序列的遥感图像进行分析,以观察和监测地表特征、植被生长、环境变化等的动态变化过程。…

Ubuntu设置jar包开机自启(亲测有效)

1、在/etc/init.d/下新建一个脚本 cmis-admin.sh 2、在脚本中进行编辑 #!/bin/sh ### BEGIN INIT INFO # Provides: cmis-admin.sh # Required-start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Defa…

堆的介绍,实现(c语言实现)

目录 堆的概念 堆的性质&#xff1a; 堆的分类 父子结点的下标关系 堆的向下调整算法 ​编辑小堆 大堆 建堆 堆的向上调整算法 小堆 大堆 堆的基本操作 定义堆 初始化堆 销毁堆 打印堆 堆的插入 堆的删除 大堆&#xff08;Max Heap&#xff09;的向下调整算法…