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

问题预览/关键词

  • 上节课回顾
  • 逻辑回归模型使用线性回归模型的平方误差成本函数
  • 单个训练样本的损失
  • 损失函数,成本函数,代价函数的区别
  • 线性回归损失函数和逻辑回归损失函数的区别
  • 逻辑回归模型的成本函数是什么?
  • 逻辑回归模型的损失函数
  • 实验
    • 逻辑回归模型使用平方误差成本函数
    • 可视化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.mzph.cn/diannao/4428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php7文件加密方法

文件加密 php5php7的加密方法 tp3,使用php5, 使用的加密工具是 zend guard 操作流程:在window下加密源码,FTP上传到linux服务器,根据已经装好的Zend guard 扩展自动解析加密后的文件。 加密步骤: 3.1:win…

深信服超融合虚拟机备份报错显示准备备分镜像失败

问题:最近一段时间深信服超融合虚拟机在执行备份策略时总是报错,备份空间又还很富余。 解决办法: 1 删除备份失败虚拟机的所有备份 2 解绑该虚拟机的备份策略 可靠服务>>备份与CDP>> 找到备份策略>>点【编辑】>>…

C++中常见容器总结Array-Vector-List-Queue-Stack-Map-Set

在 C 中,有许多常见的容器,每种都有其特定的用途和性能特征。以下是一些常见的容器类型:1. 数组(Array):是一组连续存储的相同类型元素的集合。数组的大小在创建时就确定,并且不能动态改变。2. …

【算法模版】数据结构模版

C STL简介 vector 变长数组,采用倍增的思想。size(): 返回元素个数。empty(): 返回是否为空。clear(): 清空容器。front()/back(): 返回第一个/最后一个元素。push_back()/pop_back(): 在尾部插入/删除一个元素。begin()/end(): 返回迭代器指向容器的起始/末尾位置…

P44,45 属性预处理,执行后游戏效果回调,附录指定区域内修改变量

这节课主要是怎么对Attribute进行在进行到游戏角色前先进行处理,以及游戏效果如何回调 AuraAttributeSet.h // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "AttributeSet.h&…

实验五 Spark SQL编程初级实践

Spark SQL编程初级实践 Spark SQL基本操作 将下列JSON格式数据复制到Linux系统中,并保存命名为employee.json。 { "id":1 , "name":" Ella" , "age":36 } { "id":2, "name":"Bob","a…

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

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

CentOS系统服务器装机后常用的操作命令大全

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

Vim 编辑器中大写键的命令

Vim 编辑器中有很多大写键的命令,这些命令通常用于执行特定的操作或进入特定的模式。 A:在当前行的末尾进入插入模式。B:向后移动一个单词。C:更改从当前光标位置到行尾的内容。进入插入模式。D:删除从当前光标位置到…

【Linux系统编程】基础指令(三)

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

Redis底层数据结构之IntSet

目录 一、概述二、IntSet结构三、自动升级 redis底层数据结构已完结👏👏👏: ☑️redis底层数据结构之SDS☑️redis底层数据结构之ziplist☑️redis底层数据结构之quicklist☑️redis底层数据结构之Dict☑️redis底层数据结构之Int…

java中switch条件语句的用法、switch的三种语法、switch支持的参数类型

文章目录 一、switch的应用场景二、switch三种语法2.1、switch 标准方式2.2、switch - > 用法2.2、switch yield 用法 三、什么是case穿透?四、示例4.1、标准示例4.2、错误示例4.3、引申用法(多条件合并) 一、switch的应用场景 在分支结构…

Elasticsearch概念 使用docker安装Elasticsearch和kibana

目录 一、Elasticsearch概念 倒排索引和正向索引 正向和倒排 二、ES安装 三、安装 kibana 四、IK分词器 下载ES中文分词器 扩展或停用词条 一、Elasticsearch概念 倒排索引和正向索引 正向索引 就像在mysql数据中搜索非主键字段的内容,就需要逐条数据的去查…

WEB攻防-.NET特性常见漏洞

目录 前置知识: DLL文件 .NET和DLL文件 C#和DLL文件 关系总结 .NET 配置调试-信息泄露 .NET 源码反编译-DLL 反编译与未授权访问 编译DLL文件 反编译DLL文件 注意事项 案例: 验证代码文件有没有可以绕过(Cookie&Session&…

【C++】二叉树的进阶

二叉树的进阶 二叉搜索树概念操作实现创建树形结构拷贝构造函数构造函数析构函数赋值运算符重载循环版本查找插入删除 递归版本查找插入删除 应用K模型KV模型性能分析 二叉树进阶面试题二叉树创建字符串二叉树的分层遍历I最近公共祖先二叉搜索树与双向链表前序遍历与中序遍历构…

toFixed() 保留小数不精准,大数据计算 bignumber.js、big.js

Big.js: Big.js 是另一个类似于 Decimal.js 的高精度计算库,它也可以解决 JavaScript 浮点数计算的精度问题。 npm install big.js const Big require(big.js);const a new Big(0.1); const b new Big(0.2); const result a.plus(b); // 使用 Big.js 进行加法运…

PyCharm 无法运行的解决方案

问题: PyCharm 无法运行,该怎么办? 解决方案: 1. 检查 Python 解释器 确保已为 PyCharm 配置正确的 Python 解释器。打开 PyCharm,转到“文件”>“设置”>“项目”>“Python 解释器”。选择所需的 Python …

英语六级常用词汇2

英语六级常用词汇1 blush [blʌʃ] 脸红(名词、动词):面部因羞愧、激动或尴尬而变红。Example: She began to blush when they complimented her.翻译: 当他们称赞她时,她开始脸红。 pedal [ˈpɛdəl] 踏板&#xff…

数组和指针经典笔试题讲解下

目录 创作不易,如对您帮助,还望一键三连,谢谢!!! 题目一: 题目二: 题目三: 题目四: 题目五: 题目六: 题目七: 创作…

在 Ubuntu 下使用 clash-for-linux-backup

记录一下如何在 Ubuntu(其它带bash的Linux应该都可以)下运行Clash 有人已经制作了方便使用的脚本, 仓库为 https://github.com/Elegycloud/clash-for-linux-backup, 直接使用这个仓库就可以了. clone 这个仓库 https://github.com/Elegycloud/clash-for-linux-backup 到本地 …