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

做网站记者好吗基层网站建设存在困难

做网站记者好吗,基层网站建设存在困难,php培训,wordpress安装卡住了文章目录多分类one_hot编码编码原理交叉熵损失函数示例实战案例基于mnnist的手写识别TensorBoard的使用部分代码解释多分类 输出是每个类别的概率,要求有多少个分类最终的输出层就有多少个神经元各分类输出概率的总和是1(使用softmax归一化)…

在这里插入图片描述

文章目录

    • 多分类
    • one_hot编码
      • 编码原理
    • 交叉熵损失函数
      • 示例
    • 实战案例基于mnnist的手写识别
      • TensorBoard的使用
      • 部分代码解释

多分类

  • 输出是每个类别的概率,要求有多少个分类最终的输出层就有多少个神经元
  • 各分类输出概率的总和是1(使用softmax归一化)
    在这里插入图片描述

one_hot编码

One-Hot 编码是机器学习中处理​​分类数据​​的核心技术,它将离散类别转换为向量表示,使其能被神经网络处理。

一句话:在一个样本中:n个分类,结果是第k个,则yone-hot=[0,⋯,1⏟第k位,⋯,0]y_{\text{one-hot}} = [0, \cdots, \underbrace{1}_{\text{第k位}}, \cdots, 0]yone-hot=[0,,k1,,0]

编码原理

对于一个包含 C 个类别的特征:

  • 创建长度为 C 的零向量
  • 对第 k 类数据,将其向量中第 k 个位置设为 1
  • 其余位置保持为 0

yone-hot=[0,⋯,1⏟第k位,⋯,0]y_{\text{one-hot}} = [0, \cdots, \underbrace{1}_{\text{第k位}}, \cdots, 0]yone-hot=[0,,k1,,0]

假设动物分类的类别为:[“狗”, “猫”, “鸟”]
类别 One-Hot 编码
狗 [1, 0, 0]
猫 [0, 1, 0]
鸟 [0, 0, 1]

交叉熵损失函数

一句话:在H(y,pi)=−∑xylog⁡piH(y,p_i)=-\sum_{x}y\log p_iH(y,pi)=xylogpi中,只有一条1*log(pi)为最终交叉熵损失函数值,其它都是0*log(pi)=0

交叉熵损失函数与逻辑回归中的损失函数效果相同,都是为如何调整参数指明方向,即通过求取梯度,调整参数使损失函数的值逼近0,只是交叉熵损失函数用在多分类中
L(y^,y)=−ylog⁡(y^)−(1−y)log⁡(1−y^)L(\hat{y}, y) = - y \log(\hat{y}) - (1 - y) \log(1 - \hat{y}) L(y^,y)=ylog(y^)(1y)log(1y^)

交叉熵损失函数
H(y,pi)=−∑xylog⁡piH(y,p_i)=-\sum_{x}y\log p_iH(y,pi)=xylogpi

yi:是真实标签(真实分布),通常采用one−hot编码(真实类别为1,其余为0)y_i:是真实标签(真实分布),通常采用one-hot编码(真实类别为1,其余为0)yi:是真实标签(真实分布),通常采用onehot编码(真实类别为1,其余为0
(乘的时候按类,分开乘了,0*log or 1*log ,单个样本,最终结果取决于那个唯一的1*log的值)

pi:是预测概率(模型输出的概率分布)p_i:是预测概率(模型输出的概率分布)pi:是预测概率(模型输出的概率分布)

log⁡(pi):是预测概率的对数值\log(p_i):是预测概率的对数值log(pi):是预测概率的对数值

整体计算:是真实标签yi与预测概率对数log⁡(pi)的乘积再求和取负整体计算:是真实标签y_i与预测概率对数\log(p_i)的乘积再求和取负整体计算:是真实标签yi与预测概率对数log(pi)的乘积再求和取负

示例

在这里插入图片描述

  • L=0.357 表示当前预测不够准确(理想值应接近0)
  • Log的底数无所谓,经过训练,任何底数的结果都是相同的

log(x)
在这里插入图片描述

实战案例基于mnnist的手写识别

TensorBoard的使用

from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter(comment='test_tensorboard')  # 用于记录要可视化的数据
#writer = SummaryWriter(存放的地址)

如果不指定绝对路径,PyTorch 默认创建runs在当前文件夹下
在这里插入图片描述

在你安装TensorBoard的虚拟py环境中运行以下代码即可

tensorboard --logdir="这个event文件所在目录的绝对地址"

在这里插入图片描述
在这里插入图片描述

部分代码解释

import torch
from torch.utils.data import DataLoader
from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
from torchvision.datasets import MNIST
import matplotlib.pyplot as plt
import os
import numpy as np
from datetime import datetime
import os
log_dir = "runs"
os.makedirs(log_dir, exist_ok=True)

创建一个名为runs的文件夹

import matplotlib.pyplot as plt
writer = SummaryWriter(log_dir=log_subdir)

记录数据便于后续画图

3.定义网络基本框架

class SoftmaxRegression(torch.nn.Module):#括号中的 torch.nn.Module 表示你的 SoftmaxRegression 类 继承自 PyTorch 的 Module 基类def __init__(self):  #self 指代 当前类的实例对象(即正在创建的具体模型)super().__init__()# 单层网络结构:784输入 -> 10输出self.linear = torch.nn.Linear(28 * 28, 10)#定义了这个网络的基本结构,有784个输入特征,10个输出def forward(self, x):# 应用log_softmax到线性层输出return torch.nn.functional.log_softmax(self.linear(x), dim=1)

log_softmax(self.linear(x), dim=1)相当于两步
softmax_output = exp(z_i) / sum(exp(z_j)) # 转换为概率分布
log_softmax = log(softmax_output) # 取自然对数

torch.nn.functional.log_softmax(self.linear(x), dim=1),dim=1
im=0:跨样本操作(通常不需要)(每个样本的第n类概率加起来为1)
dim=1:跨类别操作(分类任务的标准做法)(每个样本的n个类的各个概率加起来为1)

在这个模型中没有隐藏层,这是一个单层神经网络(也称为 Softmax 回归或多元逻辑回归),是直接从784个输出特征到,输出层的十个输出神经元

线性变换-神经元a0
线性变换-神经元a1
1......1
线性变换-神经元a9
输入的784个特征x
激活函数log_softmax(z)

4.加载训练数据

def get_data_loader(is_train, batch_size=128):transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))  # MNIST的均值和标准差])dataset = MNIST(root='./data', train=is_train, download=True, transform=transform)return DataLoader(dataset, batch_size=batch_size, shuffle=is_train, pin_memory=True)
http://www.dtcms.com/a/537999.html

相关文章:

  • 建设网站公司地址北京建设网网站
  • 切换C++编译器 报告总结
  • 操作系统5.3.3 减少磁盘延迟时间的方法
  • php小型网站源码山东微道商网络技术有限公司
  • 手机微信网站开发关键词排名优化
  • 做网站之前需要准备什么条件江苏省住房和城乡建设部网站
  • 学习Linux——用户管理
  • 做品牌网站找谁动漫制作
  • php网站中水印怎么做做网站1天转多钱
  • 设计素材网站源码宝安中心医院入职体检多少钱
  • windows系统上安装docker
  • linux ipc之消息队列
  • 英文企业网站开发推广最有效的办法
  • 计算机网络自顶向下方法8——应用层 HTTP报文格式与cookie机制
  • CUDA-GDB(8)——检查程序状态
  • 青海网站建设公明网站建设怎么做
  • 学院网站建设策划书村镇建设年度报表登录网站
  • 西安网站seo技术外贸企业网站模板建设可以吗
  • Rust:函数栈帧 Box智能指针
  • 如何实现大模型 “边生成边显示“
  • 网站排版教程程序员 做网站 微信公众号 赚钱
  • 无人机数据 → 三维模型与光谱指数 → 多源融合特征 → 机器学习模型与机理解释 → 生态应用案例与科研论文
  • 做性的网站有哪些内容科技股有哪些股票龙头2021
  • 深圳网站建设找智恒网络网站做竞价优化
  • 计算机视觉:基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的零售柜商品检测识别系统(Python+PySide6界面+训练代码)(源码+文档)✅
  • 重庆网站设计公司推荐永久免费虚拟主机
  • 软件自学网站房地产设计公司
  • 网络科普:自治系统编号
  • 网站不显示index.html北京最大的广告制作公司
  • TCP 消息分段与粘包问题的完整解决方案