热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

神经网络softmax函数,softmax交叉熵损失函数公式

文章转载自Softmax函数的特点和作用和Logistic分类器与softmax分类器,顺便加了一点自己的理解。Logistic分类器分类问题,是机器学习里最基础的问题


文章转载自Softmax函数的特点和作用以及Logistic分类器和Softmax分类器,顺便稍微增加了自己的理解。


Logistic分类器分类问题是机器学习中最基础的问题。


我们从最简单的二分类任务开始考虑。 假设要对西瓜是否成熟进行分类,对于每一个西瓜,都会有{熟、不熟} {熟、不熟}两个结果。 首先,我们必须自己知道西瓜是“熟”的、“不熟”的,或者是根据颜色,或者是根据敲击的声音如何判断。 这是下一步转变为数学映射关系的基础。


为了建立数学模型,必须将这个判断西瓜是否成熟的任务转化为数学关系。 假设“熟”对应于轴上的“1”,不熟对应于轴上的“0”。 下一步是两个映射关系 1 1 , 2 2


1将待分类西瓜样本(假设为s s )映射到一个轴上,#x03D5; 1(s )=z'role='presentation'1) s )=Z1 ) s )=z; 然后使用2(z )2(z )将第一个映射的结果映射到标签分类。 假设分类标记为{ 0,1 } { 0,1 },则通常会选择这样的步骤函数来创建第二个映射2。


2(z )=0,0.5,1,z0z=0z02 ) z )={ 0,z0.5,z=0 1,z0


然而,由于这样的阶跃函数是不连续的,并且在计算过程中不能导出,所以通常使用对数概率函数logistic function来代替它。 需要注意的是,这种替代并不是唯一的对数概率函数(logistic function )具有以下形式:


2(z )=11ez2) z )=11ez


函数的图像如下所示。


可见,zzz大于0时函数值迅速偏向1,小于0时迅速偏向0。 softmax函数


对于二分类任务,由于只有两种结果,#x03D5; 1 ) x ) role='presentat

ion">ϕ1(x)ϕ1(x)将样本 x x 映射到数轴上。而拓展到多分类任务时,假设有n" role="presentation">nn种结果,那么 ϕ1(x) ϕ 1 ( x ) 会映射到一个 n n 维向量(y={c1,c2,...,cn}" role="presentation">y={c1,c2,...,cn}y={c1,c2,...,cn})当中。向量中的每一维,都对应着一个可能的分类结果( ci=0 c i = 0 或1)。由于结果是互斥的,所以 y y 存在以下n" role="presentation">nn种形式:
y1=⎡⎣⎢⎢⎢⎢10⋮0⎤⎦⎥⎥⎥⎥,y2=⎡⎣⎢⎢⎢⎢01⋮0⎤⎦⎥⎥⎥⎥,⋯,yn=⎡⎣⎢⎢⎢⎢00⋮1⎤⎦⎥⎥⎥⎥ y 1 = [ 1 0 ⋮ 0 ] , y 2 = [ 0 1 ⋮ 0 ] , ⋯ , y n = [ 0 0 ⋮ 1 ]

先看下softmax函数的公式:

P(y|x)=eh(x,yi)∑nj=1eh(x,yi) P ( y | x ) = e h ( x , y i ) ∑ j = 1 n e h ( x , y i )

Softmax 的输出表征了不同类别之间的相对概率
假设最后输出的向量是:

v=⎡⎣⎢⎢⎢−32−10⎤⎦⎥⎥⎥ v = [ − 3 2 − 1 0 ]
根据softmax,计算得到:
s=⎡⎣⎢⎢⎢0.00570.83900.04180.1135⎤⎦⎥⎥⎥ s = [ 0.0057 0.8390 0.0418 0.1135 ]
我们可以清晰地看出, s2=0.8390 s 2 = 0.8390 ,对应的概率最大,则更清晰地可以判断预测为第2类的可能性更大。根据向量 v v ,其实也可以判断出那个类别更可能,之所以写成softmax的形式,可能是为了后面的计算能够求导,计算梯度。

参考 Softmax的理解与应用三分钟带你对 Softmax 划重点斯坦福大学深度学习公开课cs231n学习笔记(1)softmax函数理解与应用softmax的多分类周志华的“西瓜书”


推荐阅读
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 机器学习核心概念与技术
    本文系统梳理了机器学习的关键知识点,涵盖模型评估、正则化、线性模型、支持向量机、决策树及集成学习等内容,并深入探讨了各算法的原理和应用场景。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  •   上一篇博客中我们说到线性回归和逻辑回归之间隐隐约约好像有什么关系,到底是什么关系呢?我们就来探讨一下吧。(这一篇数学推导占了大多数,可能看起来会略有枯燥,但这本身就是一个把之前算法 ... [详细]
  • 作为一名 Ember.js 新手,了解如何在路由和模型中正确加载 JSON 数据是至关重要的。本文将探讨两者之间的差异,并提供实用的建议。 ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • LambdaMART算法详解
    本文详细介绍了LambdaMART算法的背景、原理及其在信息检索中的应用。首先回顾了LambdaMART的发展历程,包括其前身RankNet和LambdaRank,然后深入探讨了LambdaMART如何结合梯度提升决策树(GBDT)和LambdaRank来优化排序问题。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 随着技术的发展,黑客开始利用AI技术在暗网中创建用户的‘数字孪生’,这一现象引起了安全专家的高度关注。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
author-avatar
心语忆录_288
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有