深度学习之softmax损失函数[通俗易懂]

深度学习之softmax损失函数[通俗易懂]深度学习之softmax损失函数归一化向量的每个元素均大于0小于1,且和为1,所以可以将其看作归属各个类别的概率。损失函数可以看作真实类别的负对数概率,希望其越小。importnumpyasnpD=784K=10N=128#scores是分值矩阵,每行代表一个样本scores=np.random.randn(N,K)print(scores.shape)#样本标签y=np.random.randint(K,size=N)print(y.shape)#指数化分值矩

大家好,又见面了,我是你们的朋友全栈君。

深度学习之softmax损失函数

  • 归一化向量的每个元素均大于0小于1,且和为1 ,所以可以将其看作归属各个类别的概率。
  • 损失函数可以看作真实类别的负对数概率,希望其越小。
  • 优化:基于模型得到分值向量,根据损失函数评价参数的好坏,寻找最优的参数,是损失最小。
  • 优化方法:梯度下降法,牛顿法

机器学习一般包含两类参数:超参数和参数。超参数的数目通常不多,在10以内; 参数的数目可能很多,如卷积神经网络中有近千万个参数(权重)。曲线拟合中,方程的次数就是超参数,多项式的系数是参数。这两种参数的调参方式不同,超参数的取值一般是人工设定的,参数值是根据参数优化算法自动寻优的。目前出现了很多超参数自动优化算法。

import numpy as np

D=784 # 数据维度
k=10 # 类别数
N=128 # 样本数量

#scores是分值矩阵,每行代表一个样本
scores=np.random.randn(N,K)
print(scores.shape)
#样本标签
y = np.random.randint(K,size=N)
print(y.shape)
#指数化分值矩阵
exp_scores=np.exp(scores)
#得到样本归一化系数, 对每一行求和
# axis = 0,代表同一列
# axis = 1,代表同一行
exp_scores_sum=np.sum(exp_scores,axis=1)
print(exp_scores_sum.shape)
#样本真实类别的归一化分值, 矩阵索引方式
correct_probs=exp_scores[range(N),y]/exp_scores_sum
print(correct_probs.shape)
#负对数损失函数
correct_logprobs=-np.log(correct_probs)
print(correct_logprobs.shape)
#平均损失函数
data_loss=np.sum(correct_logprobs)/N
print(data_loss.shape)
(128, 10)
(128,)
(128,)
(128,)
(128,)
()
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153130.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql导入数据库_只用frm向mysql导入表结构

    网上一个连接mysql的jsp代码段,给了数据库的备份文件,但是只有frm,查了下资料,原来只有frm也能导入。 过程如下:1.在mysql目录下的data目录中,找到要导入表所在的数据库的名称,把frm文件放进去,比如我这里是offer.frm,数据库名称是netshop,放到数据库netshop目录下之后,在mysql中show tables显示如下在这里table是显示的,但是desc of

    2022年3月11日
    49
  • 分布式事务saga_分布式事务代码例子

    分布式事务saga_分布式事务代码例子1.分布式事务  在前面文章《分布式事务》中介绍了几种分布式事务,其中Saga介绍了相关的概念,接下来介绍Saga使用案例,案例来源《微服务架构设计模式》。2.案例需求分析2.1一个成功的订单创建流程  实现餐馆系统中的创建订单createOrder()操作。这个操作必须验证消费者是否满足下订单的相关条件、验证订单内容、完成消费者的信用卡授权,以及在数据库中创建Order。一个成功的订单创建流程:创建一个待处理订单;验证订单消费者可以下单;创建后厨工单;对消费者提供的信用卡进行授权操

    2025年11月26日
    1
  • Spark存储体系底层架构剖析-Spark商业环境实战

    Spark存储体系底层架构剖析-Spark商业环境实战

    2021年6月15日
    124
  • SQL Server备份集中的数据库备份与现有的数据库不同的解决

    SQL Server备份集中的数据库备份与现有的数据库不同的解决在SQLServer2005和2008中,如果您新建了数据库,打算还原数据库备份的话,如果两者的数据库结构等不同的话,就会提示:备份集中的数据库备份与现有的数据库不同……之类的错误,如下图。巧的很,今天烈火小编的一位朋友也遇到这样的问题,我们一起来看看解决方法。其实解决方法很简单,就是在左侧的选项中,将“覆盖现有数据库”打上勾就可以了。如下图:

    2022年5月6日
    58
  • HDU ACM 1054 Strategic Game 二分图最小顶点覆盖?树形DP「建议收藏」

    HDU ACM 1054 Strategic Game 二分图最小顶点覆盖?树形DP

    2022年1月21日
    105
  • 直播ios 版_第三方pptp客户端ios

    直播ios 版_第三方pptp客户端ios当前视频直播非常火爆,手机端的视频直播也非常火爆,PGC、UGC的视频直播门槛都降低了很多。本文介绍一个:IOS客户端直播的SDK,代码完全开源。直播时代:让IOS普通开发者一天内做出一个R

    2022年8月5日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号