机器学习随记(3)— Softmax

news2024/11/15 12:59:16

Softmax

与sigmoid不同,softmax可以多个输出,每个输出以概率的形式表示。

或者

 

 

def my_softmax(z):
    ez = np.exp(z)            
    sm = ez/np.sum(ez)
    return(sm)

 1 损失函数Loss

Softmax 相关的损失函数,即交叉熵损失:

 

 2 成本函数Cost

 

 𝑚是例子的数量,𝑁是输出的数量。这是所有损失的平均值。

 

3 Tensorflow实现

model = Sequential(
    [ 
        Dense(25, activation = 'relu'),
        Dense(15, activation = 'relu'),
        Dense(4, activation = 'softmax') 
    ]
)
model.compile(
    loss=tf.keras.losses.SparseCategoricalCrossentropy(), # 损失函数设置
    optimizer=tf.keras.optimizers.Adam(0.001),
)

model.fit(
    X_train,y_train,
    epochs=10
)

Preferred

 训练过程中将 softmax 和 loss 结合起来,可以获得更稳定和准确的结果。

(简单说就是将softmax整合进loss计算中,并在神经网络最后一层的softmax层变成线性激活层)

preferred_model = Sequential(
    [ 
        Dense(25, activation = 'relu'),
        Dense(15, activation = 'relu'),
        Dense(4, activation = 'linear')   # 注意 线性
    ]
)
preferred_model.compile(
    loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),  # 注意!
    optimizer=tf.keras.optimizers.Adam(0.001),
)

preferred_model.fit(
    X_train,y_train,
    epochs=10
)

 输出示例:

注意:输出预测不是概率!如果所需的输出是概率,则输出应由 softmax处理!

使用softmax处理成概率: tf.nn.softmax(p_preferred).numpy()

SparseCategorialCrossentropy 和 CategoricalCrossEntropy

Tensorflow 有两种可能的目标值格式,损失的选择定义了预期的格式。

  • SparseCategorialCrossentropy:期望目标是与索引对应的整数。例如,如果有 10 个潜在目标值,则 y 将介于 0 和 9 之间。
  • CategoricalCrossEntropy:期望示例的目标值是单热编码的,其中目标索引处的值为 1,而其他 N-1 个条目为零。一个具有 10 个潜在目标值的示例,其中目标值为 2 将是 [0,0,1,0,0,0,0,0,0,0]。

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

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

相关文章

Vben Admin 自学记录 —— 路由跳转的基本使用及练习(持续更新中...)

路由 项目路由配置存放于 src/router/routes 下面。 src/router/routes/modules用于存放路由模块,在该目录下的文件会自动注册。 路由相关使用及概念 练习 —— 在之前table基础上,添加新增功能,点击新增按钮,跳转页面&#xf…

电脑中病毒了怎么修复、怎么办,计算机windows系统如何预防faust勒索病毒

随着科技技术的不断发展,计算机已经成为现代人工作和生活中的必备工具之一,同时衍生出的各种计算机病毒也越来越多。各种勒索家族的加密病毒程序不断升级,给我们的工作和生活带来了极大困扰,特别是最近爆发的一种新型计算机病毒—…

如何优化 yolov8 模型,压缩模型大小,部署到边缘设备上

在CV领域,YOLO系列目标检测模型是一种非常流行的深度学习网络模型。yolov8是23年1月10号开源的最新版本。虽然YOLOv8已经在精度和速度方面取得了显著的改进,但我们仍然可以从轻量化角度等很多方面来进一步优化该模型。 模型压缩:使用轻量化的…

华为EC6108V9A_RK3128_安卓4.4.4_卡刷固件包-内有教程-当贝纯净桌面

华为EC6108V9A_RK3128_安卓4.4.4_卡刷固件包-内有教程-当贝纯净桌面 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件&a…

不用花一分钱!!!获得一个自己的网页版chatGPT

不用花一分钱!!!获得一个自己的网页版chatGPT 当然还是需要一个chatGPT账号的,不会注册的同学可以看一下这篇文章 chatGPT到底要怎么注册 那就先让我们看一下效果吧 chatgpt-web介绍 github项目地址 https://github.com/Chanzha…

【源码解析】实现异步功能的注解 @Async 的源码解析

使用方式 启动类上添加注解EnableAsync()在方法或者类上添加Async 源码解析 初始化配置 EnableAsync注入了AsyncConfigurationSelector Target(ElementType.TYPE) Retention(RetentionPolicy.RUNTIME) Documented Import(AsyncConfigurationSelector.class) public interf…

【郭东白架构课 模块二:创造价值】23|节点四:架构规划之统一语义

你好,我是郭东白。从这节课开始,我们就进入到架构活动的第四个环节——架构规划。这个环节比较复杂,可以分为四个部分:统一语义、需求确认、边界划分和规划确认。这节课我们先来讲统一语义。 架构师的工作日常就是跟不同的角色沟…

Mysql索引(4):索引语法

1 创建索引 CREATE [ UNIQUE | FULLTEXT ] INDEX index_name ON table_name (index_col_name,... ) ; 2 查看索引 SHOW INDEX FROM table_name; 3 删除索引 DROP INDEX index_name ON table_name; 4 案例演示 先来创建一张表 tb_user,并且查询测试数据。 creat…

从零开始学习Linux运维,成为IT领域翘楚(九)

文章目录 🔥Linux系统服务🔥Linux系统定时任务 🔥Linux系统服务 Service命令 服务(service) 本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysql , sshd 防…

Vue加SpringBoot实现项目前后端分离

首先需要搭建一个Vue的脚手架项目(已经放在gitee里面了,下面是gitee网址,可以直接拉) 那么接下来就是实现前后端分离的步骤 首先我们需要有一个登录页面 登录的点击事件利用axios提交到后台去,代码放在后面&#xff08…

【C++修炼之路:二叉搜索树】

目录: 二叉搜索树的概念构建一颗二叉树二叉树的查找二插树的插入 二叉树的删除删除右子树的最小节点 写一个中序来走这个二叉搜索树递归版删除(recursion)递归版插入(recursion)递归版查找(recursion&#…

基于AT89C51单片机的电子密码锁设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87760996?spm1001.2014.3001.5503 源码获取 主要内容: (1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。 &a…

类和对象中(1)

文章目录 一、类的6个默认成员函数二、构造函数1、概念2、构造函数只初始化自定义类型3、对于不会初始化内置类型的补丁4、构造函数优点 三、析构函数1、概念2、什么时候需要自己写析构函数 ?3、构造和析构顺序差异 四、拷贝构造函数1、概念2、拷贝构造下传值会无限…

MySQL环境搭建——“MySQL数据库”

各位CSDN的uu们你们好呀,小雅兰又来啦,好久没有更文啦,今天继续!!!今天小雅兰的内容是MySQL环境搭建,下面,让我们进入MySQL数据库的世界吧 MySQL的卸载 MySQL的下载、安装、配置 M…

ubuntu18.04下pass-through直通realteck PCI设备到qemu-kvm虚拟机实践

设备直通是一种虚拟化资源分配方式,通过将物理设备直通给虚拟机环境,达到虚拟机可以直接访问物理设备的目的,直通功能对设备的要求不高,不需要设备支持PF/VF,18年后的普通家用PC的PCI设备都支持设备直通模式&#xff0…

【Java】Java对象的比较

Java对象的比较 PriorityQueue中插入对象元素的比较基本数据类型的比较对象的比较重写基类的equals方法基于Comparble接口类的比较基于比较器进行比较 PriorityQueue中插入对象 优先级队列在插入元素时有个要求:插入的元素不能是null或者元素之间必须要能够进行比较…

Redis持久化之AOF日志高频问题

1、如何采用AOF日志避免宕机丢失数据? Redis 的持久化主要有两大机制,即 AOF(Append Only File)日志和 RDB 快照。 MySQL数据库的写前日志(Write Ahead Log, WAL),在实际写数据前,…

PWLCM分段线性混沌映射

混沌映射是生成混沌序列的一种方法,常见的混沌映射方式有 Logistic映射、Tent映射、Lorenz映射,而PWLCM(Piecewise Linear Chaotic Map,分段线性混沌映射)作为混沌映射的典型代表,数学形式简单,具有遍历性和随机性。其…

智能优化算法:基于减法平均的优化算法-附代码

智能优化算法:基于减法平均的优化算法 文章目录 智能优化算法:基于减法平均的优化算法1.基于减法平均优化算法1.1 初始化1.2 SABO的数学建模 2.实验结果3.参考文献4.Matlab 摘要:基于减法平均的优化算法(Subtraction-Average-Base…

[数据结构] 二叉搜索树的详解实现

文章目录 概念实现架构BSTreeNodea(节点)BSTree框架 增删查 -- 循环写法insert(尾插)inOrder(遍历)Find(查找)Erase(删除)默认成员函数构造拷贝构造析构函数赋…