机器学习二元分类 二元交叉熵 二元分类例子

二元交叉熵损失函数

深度学习中的二元分类损失函数通常采用二元交叉熵(Binary Cross-Entropy)作为损失函数。

二元交叉熵损失函数的基本公式是:

L(y, y_pred) = -y * log(y_pred) - (1 - y) * log(1 - y_pred)

其中,y是真实标签,y_pred是模型预测的概率。

二元交叉熵的原理

当预测错误时:如y_pred=1, y=0 和 y_pred=0,y=1. 
则二元交叉熵损失函数结果为正无穷大。

在这里插入图片描述

二元分类代码例子

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
# 加载数据集
data = load_breast_cancer()
X = data.data
y = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建模型
model = LogisticRegression()
# 定义损失函数
loss_fn = lambda y_true, y_pred: -y_true * log(y_pred) - (1 - y_true) * log(1 - y_pred)
# 训练模型
for epoch in range(100):  # 假设我们进行100轮训练
    # 前向传播
    y_pred = model.predict(X_train)
    loss = loss_fn(y_train, y_pred)
    
    # 反向传播
    model.update(X_train, y_train)
    
    # 输出训练进度
    if (epoch+1) % 10 == 0:
        print(f"Epoch {epoch+1}/{100}, Loss: {loss}")

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【性能测试】稳定性测试要点-监控关键指标总结(超细整理)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、稳定性测试的要…

接口与抽象类的区别

Java中的接口(Interface)和抽象类(Abstract Class)都是实现抽象化的关键机制,但它们在用途和功能上有着明显的区别。以下是接口和抽象类之间的主要区别: 抽象类(Abstract Class) 含…

Docker之虚悬镜像(查看、删除)

虚悬镜像: 仓库名、标签都是的镜像,俗称dangling image 查看 docker image ls -f danglingtrue删除 虚悬镜像已经失去存在价值,可以删除 docker image prune

LeetCode977.有序数组的平方(双指针法、暴力法、列表推导式)

LeetCode977.有序数组的平方 1.问题描述2.解题思路3.代码4.知识点 1.问题描述 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,10] …

要事第一:如何通过6个步骤确定项目的优先级

当收到很多项目请求并且每个请求都是重中之重时,该怎么办?从最易完成的开始?还是先解决最大的问题? 实际上两种做法都不对。确定项目优先级的更好方法是评估以下内容,而不是关注项目规模或完成时长: ● 每…

3.8-镜像的发布

如果我们想将image push到docker hub里面,那么我们的image的名字一定要是这种格式:docker hub id/imageName,例如:lvdapiaoliang/hello-docker docker hub个人账户设置地址: 在push之前要先登录: docker l…

pycharm2023 实现鼠标点击某行,调试时代码运行至相应行

按下图取消 Breakpoints Over Line Numbers即可,然后调试时点击某行,代码就会运行至某行

AcWing 717. 简单斐波那契

原题链接 题目 以下数列 0 1 1 2 3 5 8 13 21 … 被称为斐波纳契数列。 这个数列从第 3 项开始,每一项都等于前两项之和。 输入一个整数 N ,请你输出这个序列的前 N 项。 输入格式 一个整数 N 。 输出格式 在一行中输出斐波那契数列的前 N 项&…

Nosql之redis概述及基本操作

关系数据库与非关系型数据库概述 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型…

HTTP四种请求方式,状态码,请求和响应报文

1.get请求 一般用于获取数据请求参数在URL后面请求参数的大小有限制 2.post请求 一般用于修改数据提交的数据在请求体中提交数据的大小没有限制 3.put请求 一般用于添加数据 4.delete请求 一般用于删除数据 5.一次完整的http请求过程 域名解析:使用DNS协议…

数据结构-插入排序

插入排序 插入排序的三种常见方法: 直接插入排序、折半插入排序、希尔排序。 数据存储结构 因为我们是用的是C语言来实现算法,因此我们需要创建一个结构体,用来存放初始数据。 结构体定义如下: #define MAX 100 typedef int…

Spring Framework IOC依赖查找 - 按类型查找解析

目录 在Spring框架中,控制反转(IoC)是一种设计模式,它通过将对象的创建和管理交给容器来实现。依赖查找是IoC的一部分,它允许你从容器中查找所需的依赖项。按类型进行依赖查找是其中的一种方式,今天来讲Spr…

笔记57:双向循环神经网络

本地笔记地址:D:\work_file\DeepLearning_Learning\03_个人笔记\3.循环神经网络\第9章:动手学深度学习~现代循环神经网络 a a a a a a a a a a a a

动态页面调研及设计方案

文章目录 vue2 动态表单、动态页面调研一、form-generator二、ng-form-element三、Variant Form四、form-create vue2 动态表单、动态页面调研 一、form-generator 预览:https://mrhj.gitee.io/form-generator/#/ Vue2 Element UI支持拖拽生成表单不支持其他组件…

(六)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (文档分割 Splitting)

在上一章中,我们刚刚讨论了如何将文档加载到标准格式中,现在我们要谈论如何将它们分割成较小的块。这听起来可能很简单,但其中有很多微妙之处会对后续工作产生重要影响。 文章目录 1、为什么要做文档分割?2、文档分割方式3、基于…

手机app、pc客户端(芯象推送到wvp视频平台)

手机app(芯象推送到wvp视频平台) 下载安装 进入苹果应用商店,搜索芯象,点击下载,下载成功之后点击打开 注册账号进行登录,下图是主界面,点击开始直播进入直播配置界面 推流直播 选择本地推流&a…

IDEA调用接口超时,但Postman可成功调用接口

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

SpringCloud微服务通信两种方式Feign和Dubbo:Feign基本使用、自定义配置、使用优化;Dubbo基本实现

RestTemplate存在的问题 代码可读性差,编程体验不统一参数复杂,URL难以维护 Feign远程调用 Feign简介 ​ Feign是SpringCloud提供的一个声明式的伪Http客户端,它使得调用远程服务就像调用本地服务一样简单,只需要创建一个接口…

【广州华锐互动】VR虚拟现实技术助力太空探险:穿越时空,探索宇宙奥秘

随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进我们的生活。在教育领域,VR技术的应用也日益广泛,为学生提供了更加生动、直观的学习体验。本文将以利用VR开展太空探险学习为主题,探讨如何将这一先进技术…