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

Softmax回归--分类--有监督

输出和类别的维度一样。

一、当我们想将先线性层的输出直接视为概率,存在一些问题:

1.不能限制输出数字总和为1。

2.不能保证都是正数。

所以会使用softmax进行归一化。

二、交叉熵损失

交叉熵是一个衡量两个概率分布之间差异的很好的度量,它测量给定模型编码数据所需的比特数。

三、

在训练softmax回归模型后,给出任何样本特征,我们可以预测每个输出类别的概率。

通常我们使用预测概率最高的类别作为输出类别。

如果预测与实际类别(标签)一致,则预测是正确的。

四、手搓代码

随机初始化weight,拟合线性模型,把输出y进行softmax得到每一类的概率。取得最高的作为输出类别,然后进行交叉损失和梯度下降。

五、

def accuracy(y_hat, y):  

    """计算预测正确的数量"""

    if len(y_hat.shape) > 1 and y_hat.shape[1] > 1:

        y_hat = y_hat.argmax(axis=1)

    cmp = y_hat.type(y.dtype) == y

    return float(cmp.type(y.dtype).sum())

def evaluate_accuracy(net, data_iter):  

    """计算在指定数据集上模型的精度"""

    if isinstance(net, torch.nn.Module):

        net.eval()  # 将模型设置为评估模式

    metric = Accumulator(2)  # 正确预测数、预测总数

    with torch.no_grad():

        for X, y in data_iter:

            metric.add(accuracy(net(X), y), y.numel())

    return metric[0] / metric[1]

class Accumulator:  #@save

    """在n个变量上累加"""

    def __init__(self, n):

        self.data = [0.0] * n

    def add(self, *args):

        self.data = [a + float(b) for a, b in zip(self.data, args)]

    def reset(self):

        self.data = [0.0] * len(self.data)

    def __getitem__(self, idx):

        return self.data[idx]

http://www.lryc.cn/news/434884.html

相关文章:

  • Jenkins生成html报告
  • 牛客——查找字符串
  • 感恩 各位老师们!和滋养你的人在一起,确实很重要——早读(逆天打工人爬取热门微信文章解读)
  • StorageSync数据缓存API
  • Guitar Pro 8.2.1 Build 32 永久中文破解解锁版
  • 视频编辑SDK解决方案,助力企业快速部署上线
  • 想要从OPPO手机恢复数据?免费OPPO照片视频恢复软件
  • Linux 自主 shell 编写(C 语言实现)
  • pointpillar部署-TensorRT实现(一)
  • ubuntu使用命令行查看硬件信息
  • vue国际化vue-i18n搭配i18n-ally实现多语言国际化
  • Linux(1)--Linux简介
  • Python——破解rar压缩包密码
  • 取指操作流程
  • Git:远程项目代码上传管理
  • MySQL数据库的介绍
  • div内英文不换行问题以及解决方案
  • 『功能项目』DOTween动态文字【26】
  • 经验笔记:框架(Framework)与库(Library)
  • 每日一题——第八十七题
  • CTF——简单的《WEB》
  • 【Nacos】报错之服务实例类型不允许改变
  • SRS流媒体服务器从入门到精通(其一,环境搭建)
  • Java Native Interface (JNI) 简介
  • navigator.mediaDevices.getUserMedia检查用户的摄像头是否可用,虚拟摄像头问题
  • 跨境网红营销SOP流程1.0丨出海笔记
  • Jedis,SpringDataRedis
  • 增量模型的优点例题
  • 求绝对值
  • AlphaNovel的身份验证失败了..........