当前位置: 首页 > news >正文

11-15 周三 softmax 回归学习

11-15 周三 softmax 回归学习
时间版本修改人描述
2023年11月15日11:17:27V0.1宋全恒新建文档

简介

 softmax分享可以参考什么是softmax

 回归估计一个连续值,分类预测一个离散类别。

 恶意软件的判断

 回归和分类

分类可以认为从回归的单输出变成多输出

B站学习

softmax回归

 使用softmax回归,解决多分类问题,softmax回归模型。

 使用矩阵计算线性输出O

 通过softmax计算概率:

 y值较大的概率属于相应类别的概率更高。

 具体的计算过程如下图:

 总结来说,softmax函数不会改变线性输出o之间的大小顺序,只会为每个类别分配相应的概率。softmax回归模型简介高效,只需要一次就能输出所有类别概率。

 增加新的类别,产生较高的成本,以你为会影响所有的类别的概率。

softmax 回归+ 损失函数 + 图片分类数据集

 均方损失训练。

Softmax

y ^ = a r g m a x o i \widehat { y } = a r g m a x o _ { i } y =argmaxoi

 关注的不是o的输出,而是关注相对距离。

 指数的好处,是具有非负性。

 一般衡量两个概率的区别,使用交叉熵

 对真实类别的预测值,求其-log。

注: 上图是非常关键的,在计算交叉熵的时候,由于对应每个样本只有一个真实类别值为1,其他均为0,这样求和就可以表示为只有预测值的取log后,再取负数即可。

 总结:

  • softmax回归是一个多类分类模型。

  • 使用Softmax操作子得到每个类的预测置信度

  • 使用交叉熵来衡量预测和标号的区别。

损失函数

损失函数是预测值和真实值的区别。

均方损失

1/2是为了求导时处理掉倍数。

 在负梯度方向更新参数。

L1 loss

绿色的线是似然函数。

Hubers Robust Loss

 当我预测值和真实值比较远时候,梯度是比较均匀的力度在靠近

图像数据集

 MNIST数据集是图像分类中广泛使用的数据集之一,但作为数据集过于简单。我们可以使用Fashin-MNIST作为数据集。

 测试数据集用来验证模型的好坏

 几个样本图像及相应的特征

 读取进程数,来读取图像。shuffle,打乱顺序。

 读一次数据要1.72秒。读取数据的速度。

 完整代码,定义load_data_fashion_mnist函数

softmax回归从零开始实现

 将展平每个图像,将它们视为784的向量,数据集一共10个类别,所以网络输出维度为10。

 矩阵求和,维度等于0,将压缩成行详列。按照维度为1,将变成一个列向量。

 实现softmax。

注: 对一个矩阵求softmax,相当于对其中的每一行求softmax,因为行数其实相当于样本数量了。也就是按照维度为1进行计算。

 上述广播机制的含义是用矩阵的第i行,除以partition向量中的第i个值。

第一行是生成一个均值为0,方差为1的2行5列的矩阵。

由结果,可以看出,每行的和为1,而且都是为正值。

 计算交叉熵

 其中[0.1, 0.3, 0.6]是第一个样本的预测值。 y则表示两个样本的真实标签,第一个样本真实标签为0, 第二样本真实标签为2.

拿出0号样本和1号样本对应真实标签的预测值。y[1]为2,代表真实标签为2,然后取出预测为2的概率,即0.5。稍微有一点绕。在y_hat[[0,1], y]中[0, 1]代表了序号,即y向量中0号位和1号位的值,代表了真实的标签。y_hat则表示了对应这些类别的预测值。

 实现交叉熵损失函数

 计算预测准确的

 找出预测正确的样本数。

 任意模型在数据迭代器的准确率

 累加器

 softmax回归的训练

进行预测

softmax简介实现

总结

 softmax基本上是在多分类问题中,将输出概率化的操作子。在神经网络中,作为最后一层进行的。其中交叉熵的理解反而不太好。

cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=layer_fc2, labels=y_true)
cost = tf.reduce_mean(cross_entropy)
optimizer = tf.train.AdamOptimizer(learning_rate=1e-4).minimize(cost)
correct_prediction = tf.equal(y_pred_cls, y_true_cls)
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
session.run(tf.global_variables_initializer())

上述为在TF中使用交叉熵来获取准确率的样例代码,可以看到correct_prediction为一组向量[True, False, False, …]强制转化为tf.float32之后求平均,就相当于求出了准确率。

 上图理解的关键是损失函数,其中y = [0, 0, …, 1, 0, 0]只有一个1,其他全为0,为1的索引为真实的类别标签。而y_hat = [0.1, 0.1, …, 0.3, 0.1, 0.1]都是一组预测的概率,这样在计算时,只要去取真实标签的预测值求-log即可得到该样本的损失。这相当于一个样本的误差。

 不懂的东西太多了,之后买一本《动手学深度学习》好好看吧

最近有的时候很恐慌,因为在我的组里优秀的人很多,大家都在写论文什么的,自己呢深度学习比较浅显,就有点尴尬,其实一种治疗恐慌焦虑的方式就是深刻的意识到,知难则行易,知易则行难。所以别多想了,学就是了,另外如果担心做的贡献少的话,那就有多大能力做多少事情,做自己力所能及的所有事情,不要偷懒,认真学习就好了。2023年就要过去了,希望自己越来越好吧。希望每个读者都能够远离恐慌,规划好自己的人生,不要做错事,走错路,好好享受属于自己的人生。希望每段人生都是充实的,圆满的也。感恩一下。

相关文章:

11-15 周三 softmax 回归学习

11-15 周三 softmax 回归学习 时间版本修改人描述2023年11月15日11:17:27V0.1宋全恒新建文档 简介 softmax分享可以参考什么是softmax 回归估计一个连续值,分类预测一个离散类别。 恶意软件的判断 回归和分类 分类可以认为从回归的单输出变成多输出 B站学习 softm…...

React新手必懂的知识点

react思想:组件化开发 React 的核心概念是组件化开发,将用户界面拆分成独立的可复用组件。学习如何创建和使用 React 组件,以及组件之间的数据传递和通信是非常重要的。 React的思想就是拆分组件与使用组件。 import React from react;// 定…...

es为什么这么快

es为什么这么快的方式 es的基于Lucene开源搜索引擎,负责文件存储和搜索,支持http请求,以json形式展示 这样介绍你有可能有点迷糊我们详细解释 es 使用的倒排索引的方式,进行数据存储方式,给每一个字段创建索引&…...

Pandas分组聚合_Python数据分析与可视化

Pandas分组聚合 分组单列和多列分组Series 系列分组通过数据类型或者字典分组获取单个分组对分组进行迭代 聚合应用单个聚合函数应用多个聚合函数自定义函数传入 agg() 中对不同的列使用不同的聚合函数 分组聚合的流程主要有三步: 分割步骤将 DataFrame 按照指定的…...

VMware17虚拟机Linux安装教程(详解附图,带VMware Workstation 17 Pro安装)

一、安装 VMware 附官方下载链接(VM 17 pro):https://download3.vmware.com/software/WKST-1701-WIN/VMware-workstation-full-17.0.1-21139696.exe 打开下载好的VMware Workstation 17 Pro安装包; 点击下一步; 勾选我…...

基于SDN技术构建多平面业务承载网络

随着企业数字化的浪潮席卷各个行业,传统网络架构面临着更为复杂和多样化的挑战。企业正在寻找一种全面适应数字化需求的网络解决方案。随着软件定义网络(SDN)的发展,“多业务SDN一张网”解决方案为企业提供了一种全新的网络架构&a…...

关于卓越服务的调研报告

NetSuite知识会发起的本次调研从2023年11月2日开始,到11月12日结束。16日已向参与调研的朋友邮件回复,感谢您的付出!今朝分享此报告,各位同学参考。 调研问题与反馈总结 问题1:您能想到哪些服务组织能够提供高满意度&…...

ubuntu22.04换源

1、系统信息 lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.3 LTS Release: 22.04 Codename: jammy2、进入 /etc/apt/ 目录: cd /etc/apt/ 3、备份默认源文件 sudo cp sources.list sources.list_bak 4、编…...

03. Python中的语句

1、前言 在《Python基础数据类型》一文中,我们了解了Python中的基础数据类型,今天我们继续了解下Python中的语句和函数。 2、语句 在Python中常用的语句可以大致分为两类:条件语句、循环语句。 2.1、条件语句 条件语句就是我们编码时常见…...

Linux CentOS7 添加网卡

一台主机中安装多块网卡,有许多优势。可以实现多项功能。 为了学习网卡参数的设置,可以为主机添加多块网卡。与添加磁盘一样,要在VMware中设置。利用图形化方式或命令行查看或设置网卡。本文仅初步讨论添加、查看与删除网卡,有关…...

2311rust,到54版本更新

1.50.0稳定版 常量泛型数组索引 继续向稳定的常量泛型迈进,此版本为[T;N]数组,添加了ops::Index和IndexMut的实现. fn second<C>(container: &C) -> &C::Output whereC: std::ops::Index<usize> ?Sized, {&container[1] } fn main() {let arra…...

【linux】补充:高效处理文本的命令学习(tr、uniq、sort、cut)

目录 一、tr——转换、压缩、删除 1、tr -s “分隔符” &#xff08;指定压缩连续的内容&#xff09; 2、tr -d 想要删除的东西 ​编辑 3、tr -t 内容1 内容2 将内容1全部转换为内容2&#xff08;字符数需要一一对应&#xff09; 二、cut——快速剪裁命令 三、uniq——去…...

Redis篇---第七篇

系列文章目录 文章目录 系列文章目录前言一、是否使用过 Redis Cluster 集群,集群的原理是什么?二、 Redis Cluster 集群方案什么情况下会导致整个集群不可用?三、Redis 集群架构模式有哪几种?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…...

Shell脚本:Linux Shell脚本学习指南(第一部分Shell基础)一

你好&#xff0c;欢迎来到「Linux Shell脚本」学习专题&#xff0c;你将享受到免费的 Shell 编程资料&#xff0c;以及很棒的浏览体验。 这套 Shell 脚本学习指南针对初学者编写&#xff0c;它通俗易懂&#xff0c;深入浅出&#xff0c;不仅讲解了基本知识&#xff0c;还深入底…...

长短期记忆(LSTM)与RNN的比较:突破性的序列训练技术

长短期记忆&#xff08;Long short-term memory, LSTM&#xff09;是一种特殊的RNN&#xff0c;主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说&#xff0c;就是相比普通的RNN&#xff0c;LSTM能够在更长的序列中有更好的表现。 Why LSTM提出的动机是为了解…...

Swift 如何打造兼容新老系统的字符串分割(split)方法

0. 概览 在 Swift 的开发中&#xff0c;我们经常要与字符串打交道。其中一个常见的操作就是用特定的“分隔符”来分割字符串&#xff0c;这里分隔符可能不仅仅是字符&#xff0c;而是多字符组成的字符串。 从 iOS 16 开始&#xff0c; 新增了对应的方法来专注此事。不过&am…...

JVM面试必备

目录 JVM三大问题 一、JVM内存区域划分 ​编辑 二、JVM类加载机制 双亲委派模型&#xff08;常考) 类加载的格式&#xff0c;类卸载 三、垃圾回收&#xff08;GC) 具体垃圾回收GC步骤 1.判定对象是否为垃圾 方案1:引用计数 方案2&#xff1a;可达性分析 2.释放对象的…...

战神传奇【我本沉默精修版】win服务端+双端+充值后台+架设教程

搭建资源下载:战神传奇【我本沉默精修版】win服务端双端充值后台架设教程-海盗空间...

安卓手机投屏到电视,跨品牌、跨地域同样可以实现!

在手机网页上看到的视频&#xff0c;也可以投屏到电视上看&#xff01; 长时间使用手机&#xff0c;难免脖子会酸。这时候&#xff0c;如果你将手机屏幕投屏到大电视屏幕&#xff0c;可以减缓脖子的压力&#xff0c;而且大屏的视觉体验更爽。 假设你有一台安卓手机&#xff0c;…...

python变量名解析总结

1 python变量名解析总结 点号和无点号变量名&#xff0c;用不同的处理方式。 &#xff08;1&#xff09; 无点号的变量名&#xff0c;比如X&#xff0c;使用的是作用域。 &#xff08;2&#xff09; 有点号的变量名&#xff0c;比如obj.X&#xff0c;使用对象的命名空间。 …...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...