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

本文主要是介绍吴恩达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。如果逻辑回归模型使用平方误差成本函数计算,则成本函数会呈现局部最小值等特点,梯度下降算法可能无法有效地找到全局最优解。

这篇关于吴恩达2022机器学习专项课程(一) 7.1 逻辑回归的成本函数第三周课后实验:Lab4逻辑回归的损失函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/943816

相关文章

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

kotlin的函数forEach示例详解

《kotlin的函数forEach示例详解》在Kotlin中,forEach是一个高阶函数,用于遍历集合中的每个元素并对其执行指定的操作,它的核心特点是简洁、函数式,适用于需要遍历集合且无需返回值的场... 目录一、基本用法1️⃣ 遍历集合2️⃣ 遍历数组3️⃣ 遍历 Map二、与 for 循环的区别三、高

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Java逻辑运算符之&&、|| 与&、 |的区别及应用

《Java逻辑运算符之&&、||与&、|的区别及应用》:本文主要介绍Java逻辑运算符之&&、||与&、|的区别及应用的相关资料,分别是&&、||与&、|,并探讨了它们在不同应用场景中... 目录前言一、基本概念与运算符介绍二、短路与与非短路与:&& 与 & 的区别1. &&:短路与(AND)2. &:非短

MySQL中COALESCE函数示例详解

《MySQL中COALESCE函数示例详解》COALESCE是一个功能强大且常用的SQL函数,主要用来处理NULL值和实现灵活的值选择策略,能够使查询逻辑更清晰、简洁,:本文主要介绍MySQL中C... 目录语法示例1. 替换 NULL 值2. 用于字段默认值3. 多列优先级4. 结合聚合函数注意事项总结C