逻辑回归代价函数

逻辑回归的代价函数通常使用交叉熵损失来定义。这种损失函数非常适合于二元分类问题。

本篇来推导一下逻辑回归的代价函数。

首先,我们在之前了解了逻辑回归的定义:逻辑回归模型是一种用于二元分类的模型,其预测值是一个介于0和1之间的概率。模型的形式是一个S形的逻辑函数(sigmoid函数),但是sigmoid函数的参数到底要选哪个,就需要对sigmoid函数的结果进行评判,因此也就需要第二步:损失评估。

举个例子:

假设我们有一个逻辑回归模型,用来预测学生是否会通过最终考试。我们有两个特征:学生的出勤率和平均成绩。模型的目标是基于这些特征预测学生是否会通过考试("通过"记为1,"不通过"记为0)。

特征和参数
  • 假设特征向量 x = [ x 1 x 2 ] x = \begin{bmatrix} x_1 \\ x_2 \end{bmatrix} x=[x1x2],其中 x 1 x_1 x1是学生的出勤率, x 2 x_2 x2是学生的平均成绩。
  • 模型的参数为 θ = [ θ 0 θ 1 θ 2 ] \theta = \begin{bmatrix} \theta_0 \\ \theta_1 \\ \theta_2 \end{bmatrix} θ= θ0θ1θ2 ,其中 θ 0 \theta_0 θ0是偏置项, θ 1 \theta_1 θ1 θ 2 \theta_2 θ2分别是与出勤率和平均成绩相关的权重。
计算 h ( x ) h(x) h(x)

模型会计算 h ( x ) h(x) h(x),即给定特征时通过考试的预测概率。这是通过sigmoid函数来完成的:

h θ ( x ) = 1 1 + e − ( θ 0 + θ 1 x 1 + θ 2 x 2 ) h_\theta(x) = \frac{1}{1 + e^{-(\theta_0 + \theta_1 x_1 + \theta_2 x_2)}} hθ(x)=1+e(θ0+θ1x1+θ2x2)1

假设对于一个特定学生,出勤率 x 1 = 0.85 x_1 = 0.85 x1=0.85(85%),平均成绩 x 2 = 75 x_2 = 75 x2=75,而模型参数为 θ 0 = − 4 \theta_0 = -4 θ0=4 θ 1 = 10 \theta_1 = 10 θ1=10 θ 2 = 0.05 \theta_2 = 0.05 θ2=0.05。那么 h ( x ) h(x) h(x)的计算为:

h θ ( x ) = 1 1 + e − ( − 4 + 10 × 0.85 + 0.05 × 75 ) h_\theta(x) = \frac{1}{1 + e^{-(-4 + 10 \times 0.85 + 0.05 \times 75)}} hθ(x)=1+e(4+10×0.85+0.05×75)1

计算这个表达式的值(这需要一些数学运算),假设结果是 h θ ( x ) ≈ 0.76 h_\theta(x) \approx 0.76 hθ(x)0.76。这意味着根据我们的模型,这个学生通过考试的预测概率是 76%。基于这个预测,由于概率大于0.5,我们可以预测这个学生会通过考试。

到这一步为止, θ 0 = − 4 \theta_0 = -4 θ0=4 θ 1 = 10 \theta_1 = 10 θ1=10 θ 2 = 0.05 \theta_2 = 0.05 θ2=0.05实际上是我们随机(或经验)取的一组参数数值,但其并不是最佳的,所以就需要有一个代价函数来判断整体的损失(正确率),再进行梯度下降(或其他优化算法)来迭代地调整这些参数,以获得最小化损失。

在逻辑回归中,由于目标结果只有0和1两种情况,因此去计算一组数据的损失的时候就需要区分成两个函数

当 y=1 时的损失函数

Cost when  y = 1 : − log ⁡ ( h θ ( x ) ) \text{Cost when } y = 1: -\log(h_\theta(x)) Cost when y=1:log(hθ(x))

当 y=0 时的损失函数

Cost when  y = 0 : − log ⁡ ( 1 − h θ ( x ) ) \text{Cost when } y = 0: -\log(1 - h_\theta(x)) Cost when y=0:log(1hθ(x))
对应的图如下:
在这里插入图片描述
用一个式子来同时包含这两个情况就是我们的逻辑回归的代价函数(交叉熵损失):
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log ⁡ ( h θ ( x ( i ) ) ) + ( 1 − y ( i ) ) log ⁡ ( 1 − h θ ( x ( i ) ) ) ] J(\theta) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log(h_\theta(x^{(i)})) + (1 - y^{(i)}) \log(1 - h_\theta(x^{(i)})) \right] J(θ)=m1i=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))]
我们可以看到这里 l o g ( h θ ( x ( i ) ) ) log(h_\theta(x^{(i)})) log(hθ(x(i)))前面乘以了 y ( i ) y^{(i)} y(i),所以当目标值为0的时候,这部分就变成了0,也就不会影响后面部分的计算,就很简单地实现了两个式子融合。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/223739.shtml

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

相关文章

【产品设计】零代码核心模块之一:表单

在数字化越来越高级、越来越智能的场景下,信息收集依旧是适用场景最为丰富的方式之一。 应用开发工作台开三大核心模块:表单、流程、报表。 表单:一般适合数据录入,专人管理,如:用户调研、产品入库&#x…

项目篇 | 图书管理系统 | 图像加载与绘制

项目篇 | 图书管理系统 | 图像加载与绘制 基本介绍 首先解释清楚什么叫图像加载与绘制,意思就是说项目中需要用到一些图片资源(各种图标),我们要在图书管理系统中展示这些图片,就需要先导入图片到项目中,再加载图片资源(通过资源路径)、绘制图片(即展示)。 注:如果…

商业印刷市场分析:预计2029年将达到53004亿元

商业印刷技术显示了强大的生命力。电子商务的扩张性发展,传统的商务印刷行业也在逐渐的转型。中国印刷业已深度融入全球印刷加工产业链,为国际社会超过50个国家提供印刷包装服务。数据显示,中国印刷业对外加工贸易额已达842亿元。 商业印刷是…

【无标题】C++ STL -->模拟实现vector

这篇文章将模拟实现vector类的常用函数 vector类的函数接口 namespace ding {template<class T>class vectot{public:typedef T* iterator;typedef const T* const_iterator;//Member functionsvector(); vector(size_t n, const…

JVM的内存分区以及垃圾收集

1.JVM的内存分区 1.1方法区 方法区(永久代&#xff09;主要用来存储已在虚拟机加载的类的信息、常量、静态变量以及即时编译器编译后的代码信息。该区域是被线程共享的。 1.2虚拟机栈 虚拟机栈也就是我们平时说的栈内存&#xff0c;它是为java方法服务的。每个方法在执行的…

最大公因数,最小公倍数详解

前言 对于初学编程的小伙伴们肯定经常遇见此类问题&#xff0c;而且为之头疼&#xff0c;今天我来给大家分享一下&#xff0c;最大公因数和最小公倍数的求法。让我们开始吧&#xff01; 文章目录 1&#xff0c;最大公因数法1法2法3 2&#xff0c;最小公倍数3&#xff0c;尾声 …

[C++] 虚函数、纯虚函数和虚析构(virtual)

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/weixin_43197380&#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;本文由 Loewen丶原创&#xff0c;首发于 CSDN&#xff0c;转载注明出处&#x1f649;&…

cmake 最基础示例

C 代码 文件名&#xff1a;first_cmake.cpp #include <iostream> using namespace std;int main() {cout<< "A" << endl;return 0; }CMakeLists.txt 文件 #CMakeLists.txt # 设置:版本 cmake_minimum_required(VERSION 3.20)# 定义 :项目名称 …

宏基因组学及宏转录组学分析工具MOCAT2(Meta‘omic Analysis Toolkit 2)安装配置及常用使用方法

详细介绍 尽管这个工具已经暂停后续开发&#xff0c;但其工具功能还是挺好的&#xff0c;大家可以参考一下&#xff0c;尤其对于喜欢自定义开发流程的可以参考是流程。 MOCAT 2&#xff08;Metaomic Analysis Toolkit 2&#xff09;是一个用于宏基因组和宏转录组数据分析的工具…

Java实现快速排序算法

快速排序算法 &#xff08;1&#xff09;概念&#xff1a;快速排序是指通过一趟排序将要排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另外一部分的所有数据都要小&#xff0c;然后再按此方法对这两部分数据分别进行快速排序。整个排序过程可以递归进行&…

TSINGSEE青犀城市道路积水AI检测算法视频智能监管解决方案

近年来&#xff0c;由于城市区域内涝频发&#xff0c;遇到强降水天气出现路面严重积水的情况时有发生&#xff0c;影响交通通行甚至引发事故。所以&#xff0c;对下穿隧道、下沉式道路等路面积水情况的监测显得尤为重要。传统的监管方式很难及时发现道路积水情况&#xff0c;那…

物易管预测性维护平台3.6.0版本上线,工况数据处理、设备故障模型、数据可视化等方面带来全新功能体验

物易管设备预测性维护平台V3.6.0版本近日正式发布上线&#xff0c;相较V3.5.0版本次主要新增优化设备工况数据接入、工况数据模型训练、数据可视化以及设备监测详情优化四个板块。新版本在处理工况数据、设备故障模型、数据分析展示以及设备监测方面带来全新的体验。 01设备工况…

Jtti:ssl协议未开启怎么解决?

如果你的服务器上的SSL协议未开启&#xff0c;可以按照以下步骤检查和解决问题。SSL协议通常由Web服务器配置和启用。以下是基于常见的Web服务器的步骤&#xff1a; Apache Web 服务器&#xff1a; 1.检查 Apache 是否加载了 SSL 模块&#xff1a; 在终端中运行以下命令&#x…

基于SSM的高校疫情管理系统设计与实现论文

摘 要 当下疫情不容松懈&#xff0c;此次新冠肺炎疫情是传播速度最快、感染范围最广、防控难度最大的一次重大突发公共卫生事件&#xff0c;疫情防控尤为重要&#xff0c;传统的基于纸质文本的疫情信息管理模式&#xff0c;效率低&#xff0c;无法满足管理需求&#xff0c;所以…

若依源码分析

一.登录 1.1 生成验证码 基本思路 后端生成一个表达式,74?11 74?转成图片,传到前端进行展示 将结果11存入redis 前端代码实现: 请求后端地址:http://localhost/dev-api/captchaImage,通过反向代理解决前后端跨域问题,将请求路径变为:http://localhost:8080/captchaImag…

ESXI 6.7升级update3

一、适用场景 1、企业已有专业服务器&#xff0c;通过虚拟化环境搭建了vm server&#xff1b; 2、备份整个vm server时&#xff0c;需要使用ovftool工具完成&#xff0c;直接导出ovf模板时报错&#xff1b; 3、升级EXSI6.7的build 8169922版本为update 3版本后&#xff0c;已保…

The method show() from the type Window is deprecated

java.awt.Window.show() java.awt.Component.setVisible(true); Window.show() java.awt.JFrame java.awt.Frame java.awt.Windows java.awt.Component.setVisible(true);

论文查重过多怎么降重 神码ai

大家好&#xff0c;今天来聊聊论文查重过多怎么降重&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 论文查重过多怎么降重 当论文查重率过高时&#xff0c;需要进行降重处…

LeetCode力扣每日一题(Java)66、加一

每日一题在昨天断开了一天&#xff0c;是因为作者沉迷吉他&#xff0c;无法自拔……竟然把每日一题给忘了&#xff0c;所以今天&#xff0c;发两篇每日一题&#xff0c;把昨天的给补上 一、题目 二、解题思路 1、我的思路 其实乍一看这道题还是比较简单的&#xff0c;就是让…

商业智能BI和数据可视化的区别

现在市场上有非常多的商业智能BI产品&#xff0c;几乎都在着重宣传其数据可视化功能的强大&#xff0c;给人造成一种商业智能BI就是数据可视化的印象。事实上商业智能BI并不等于数据可视化。要探究商业智能BI和数据可视化的区别&#xff0c;我们先要分别弄清楚这两个概念。 1、…