Softmax function

Softmax 函数 \(y=[y_1,\cdots,y_m]\) 定义如下:
\[y_i=\frac{exp(z_i)}{\sum\limits_{j=1}^m{exp(z_j)}}, i=1,2,\cdots,m\]

它具有很好的求导性质:
\[\frac{\partial y_i}{\partial z_i}=y_i* (1-y_i)\]

其中,\(y\)的每一个维度 \(y_i\) 表明,属于第 \(i\) 类的概率。求导过程,请参考:Softmax vs. Softmax-Loss: Numerical Stability

Negative log-likehood

当我们使用softmax 函数作为 output function的时候,即:
\[y=softmax(z)\]
\(z\) 在这里只表示某些需要优化的参数。

我们需要选择 negiative log-likelihood 作为代价函数( cost function), 也被称作 Cross-Entropy cost function. 即:
\[ E(t,y)= -\sum\limits_i {t_i \log y_i} \]

\(t\)表示的是 tagert, \(y\) 表示的是model's prediction. 通常,\(t\) 表示的是 one-hot representation, \(y\) 表示的是各类的 predicted probability.

Note

如果 \(t\) 采用的是 one-hot representation, 那么我们的计算公式是:
\[ E(t,y)= -t \log y\]

如果 \(t\) 是对应的 index, 而 \(y\) 是对应的 predicted probability vector 的话,计算公式:
\[ E(t,y)= - \log y [t]\]

它的求导公式也很简单:
\[\frac{\partial E(t,y)}{\partial z_i}= \sum\limits_j {\frac{\partial E(t,y)}{\partial y_i}\frac{\partial y_j}{\partial z_j}}= y_i -t_i\]

Note

如果 \(t\) 采用的是 one-hot representation, 那么我们的计算公式是:
\[ \frac{\partial E(t,y)}{\partial z}= y -z\]

如果 \(t\) 是对应的 index, 而 \(y\) 是对应的 predicted probability vector 的话,计算公式:
\[y[t]-=1\]
\[ \frac{\partial E(t,y)}{\partial z} := y\]

Negative log-likelihood function的更多相关文章

  1. 似然函数(likelihood function)

    1. 似然函数基本定义 令 X1,X2,-,Xn 为联合密度函数 f(X1,X2,-,Xn|θ),给定观测值 X1=x1,X2=x2,-,Xn=xn,关于 θ 的似然函数(likelihood fun ...

  2. What is the reason that a likelihood function is not a pdf?

    From: http://stats.stackexchange.com/questions/31238/what-is-the-reason-that-a-likelihood-function-i ...

  3. likelihood(似然) and likelihood function(似然函数)

    知乎上关于似然的一个问题:https://www.zhihu.com/question/54082000 概率(密度)表达给定下样本随机向量的可能性,而似然表达了给定样本下参数(相对于另外的参数)为真 ...

  4. Likelihood function

    似然函数 统计学中,似然函数是一种关于统计模型参数的函数,表示模型参数中的似然性. 给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:L(θ|x)=P(X=x|θ ...

  5. 似然函数 | 最大似然估计 | likelihood | maximum likelihood estimation | R代码

    学贝叶斯方法时绕不过去的一个问题,现在系统地总结一下. 之前过于纠结字眼,似然和概率到底有什么区别?以及这一个奇妙的对等关系(其实连续才是f,离散就是p). 似然函数 | 似然值 wiki:在数理统计 ...

  6. CCJ PRML Study Note - Chapter 1.6 : Information Theory

    Chapter 1.6 : Information Theory     Chapter 1.6 : Information Theory Christopher M. Bishop, PRML, C ...

  7. a note of R software write Function

    Functionals “To become significantly more reliable, code must become more transparent. In particular ...

  8. 负对数似然(negative log-likelihood)

    negative log likelihood文章目录negative log likelihood似然函数(likelihood function)OverviewDefinition离散型概率分布 ...

  9. [pytorch]pytorch loss function 总结

    原文: http://www.voidcn.com/article/p-rtzqgqkz-bpg.html 最近看了下 PyTorch 的损失函数文档,整理了下自己的理解,重新格式化了公式如下,以便以 ...

  10. 高斯混合模型(GMM)

    复习: 1.概率密度函数,密度函数,概率分布函数和累计分布函数 概率密度函数一般以大写“PDF”(Probability Density Function),也称概率分布函数,有的时候又简称概率分布函 ...

随机推荐

  1. Android一键多渠道分发打包实战和解析

    当项目需要有更多的客户的时候,你就会考虑将apk上架到应用商店了,无奈天朝Android应用商店真的是百家争鸣,据某地不完全统计已经有900+.若将Apk上架到所有的应用商店是个好主意,但是据统计也就 ...

  2. Scala函数式编程进阶

    package com.dtspark.scala.basics /** * 函数式编程进阶: * 1,函数和变量一样作为Scala语言的一等公民,函数可以直接赋值给变量: * 2, 函数更长用的方式 ...

  3. 用nhibernate的几点小经验

    最近几个月都在用nhibernate做项目.写几点经验. 1. 解决Transient object exception 原项目是用Entity Framework做的.现在是用nhibernate代 ...

  4. pageEncoding与contentType属性

    1图例分析 由图中可以看出,这个两个属性没有任何关系. 把这两个设置成不同的编码格式对中文显示不会产生任何影响 2.原因分析 pageEncoding规定了以什么编码方式存储和读取,使两者保持一致性, ...

  5. [转]7个高性能JavaScript代码高亮插件

    对于喜欢写技术博客的同学来说,一定对代码高亮组件非常熟悉.一款优秀的JavaScript代码高亮插件,将会帮助你渲染任何一种编程语言,包括一些关键字的着色,以及每行代码的缩进等.今天我们要来分享一些高 ...

  6. Collection中Set集合在应用中常见的方法和注意点

    Set集合 : 元素无序的,元素不允许重复.      ---->HashSet  : 存值方式使用哈希表来存值的.                   原理 :  如果HashSet中存放对象 ...

  7. mybatis Generator配置文件详解

    这里按照配置的顺序对配置逐个讲解,更细的内容可以配合中文文档参照. 1. 配置文件头 <?xml version="1.0" encoding="UTF-8&quo ...

  8. SpringMVC学习--参数绑定

    spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上.springmvc中,接收页面提交的数据是通过方法形参来接收 ...

  9. Java反射机制学习与研究

    Java反射机制:可以获取正在运行时的Java对象. 1.判断运行时对象对象所属的类. 2.判断运行时对象所具有的成员变量和方法. 3.还可以调用到private方法,改变private变量的值. S ...

  10. Ubuntu下安装IDA pro

    预备 由于IDA pro只能装在32位环境下,如果是64位Ubuntu,需要运行如下命令安装32位的必备库. sudo dpkg --add-architecture i386 sudo apt-ge ...