当前位置: 首页 > 面试题库 >

softmax的原理了解

赵经国
2023-03-14
本文向大家介绍softmax的原理了解相关面试题,主要包含被问及softmax的原理了解时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

考虑一个多分类问题,即预测变量y可以取k个离散值中的任何一个.比如一个邮件分类系统将邮件分为私人邮件,工作邮件和垃圾邮件。由于y仍然是一个离散值,只是相对于二分类的逻辑回归多了一些类别。下面将根据多项式分布建模。

考虑将样本共有k类,每一类的概率分别为img,由于img,所以通常我们只需要k-1个参数img即可

imgimg

为了推导,引入表达式:

img

上面T(y)是k-1维列向量,其中y = 1, 2, ...k.

T(y)i 表示向量T(y)的第i个元素。

还要引入表达式img,如果大括号里面为真,则真个表达式就为1,否则为0.例如:1{2=3} = 0和1{3=3} = 1.

则上面的k个向量就可以表示为img

以为y只能属于某一个类别,于是T(y)中只能有一个元素为1其他元素都为0,可以求出k-1个元素的期望:img

定义:img

其中i = 1,2,...k.则有:

img

也就容易得出:img,由该式和上面使得等式:img一起可以得到:img这个函数就是softmax函数

然后假设imgimg具有线性关系,即img

于是从概率的角度出发:

img

其中img这个模型就是softmax回归(softmax regression),它是逻辑回归的泛化。

这样我们的输出:

img

就是输出了x属于(1,2,...k-1)中每一类的概率,当然属于第k类的概率就是:img

下面开始拟合参数

同样使用最大化参数θ的对数似然函数

img

这里使用梯度下降和牛顿法均可。

 类似资料:
  • 本文向大家介绍softmax原理分类?相关面试题,主要包含被问及softmax原理分类?时的应答技巧和注意事项,需要的朋友参考一下 Softmax 函数可以导,这点很关键,当损失函数是交叉熵时,计算很方便。 Softmax 函数能够指数级扩大最后一层的输出,每个值都会增大,然而最大的那个值相比其他值扩大的更多,最终归一化。  

  • 此指令可与锁前缀一起使用,以允许指令原子执行。为了简化与处理器总线的接口,目的操作数接收一个写周期,而不考虑比较的结果。如果比较失败,则写回目标操作数;否则,将源操作数写入目标。 我很难理解最后一句(但可能也很难理解整个图表) 写回什么? 源操作数是什么?是吗?据我所知,这个CAS指令只接受一个操作数(内存目标)。 如果有人能重新措辞和/或解释关于无条件写入的这一点,我将不胜感激。

  • SoftMax Regression Softmax回归也称为多元逻辑回归,既通过逻辑回归算法处理多分类问题。不同于二元逻辑回归,softmax可归可处理K个类别变量的分类问题。 1. 算法介绍 SoftMax Regression SoftMax Regression Model 在逻辑回归中,给出测试输入x,希望假设可以针对同一样本在不同的k(其中,k=1,...,K)值下估计概率 P(y=k

  • import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) x = tf.placeholder(tf.float32, [None, 784]) W = tf.Var

  • 本文向大家介绍深入了解Java GC的工作原理,包括了深入了解Java GC的工作原理的使用技巧和注意事项,需要的朋友参考一下 JVM学习笔记之JVM内存管理和JVM垃圾回收的概念,JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,另外JVM分别对新生代下载地址  和旧生代采用不同的垃圾回收机制。 首先来看一下JVM内存结构,它是由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示。 JVM

  • 正如标题所解释的,我有一个非常基本的编程问题,但我还没有找到。过滤掉所有(非常聪明的)“为了理解递归,你必须首先理解递归。”各种在线线程的回复我仍然不太明白。 当我们面对不知道自己不知道的事情时,我们可能会提出错误的问题或错误地提出正确的问题。我将分享我的“想法”。我的问题是希望有类似观点的人能够分享一些知识,帮助我打开递归灯泡! 以下是函数(语法用Swift编写): 我们将使用2和5作为参数: