关闭

softmax的多分类

标签: 机器学习深度学习softmax分类神经网络
4168人阅读 评论(0) 收藏 举报
分类:

关于多分类

我们常见的逻辑回归、SVM等常用于解决二分类问题,对于多分类问题,比如识别手写数字,它就需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这里讨论另外一种方式来解决多分类——softmax。

关于softmax

softmax的函数为

P(i)=exp(θTix)Kk=1exp(θTkx)

可以看到它有多个值,所有值加起来刚好等于1,每个输出都映射到了0到1区间,可以看成是概率问题。

θTix为多个输入,训练其实就是为了逼近最佳的θT

如何多分类

从下图看,神经网络中包含了输入层,然后通过两个特征层处理,最后通过softmax分析器就能得到不同条件下的概率,这里需要分成三个类别,最终会得到y=0、y=1、y=2的概率值。

这里写图片描述

继续看下面的图,三个输入通过softmax后得到一个数组[0.05 , 0.10 , 0.85],这就是soft的功能。

这里写图片描述

计算过程直接看下图,其中zLi即为θTix,三个输入的值分别为3、1、-3,ez的值为20、2.7、0.05,再分别除以累加和得到最终的概率值,0.88、0.12、0。

这里写图片描述

代价函数

对于训练集{(x(1),y(1)),...,(x(m),y(m))},有y(i){1,2,3...,k},总共有k个分类。对于每个输入x都会有对应每个类的概率,即p(y=j|x),从向量角度来看,有,

hθ(x(i))=p(y(i)=1|x(i);θ)p(y(i)=2|x(i);θ)p(y(i)=k|x(i);θ)=1kj=1eθTjx(i)eθT1x(i)eθT2x(i)eθTkx(i)

softmax的代价函数定为如下,其中包含了示性函数1{j=y(i)},表示如果第i个样本的类别为j则yij=1。代价函数可看成是最大化似然函数,也即是最小化负对数似然函数。

J(θ)=1m[mi=1kj=11{y(i)=j}log(p(y(i)=j|x(i);θ))]

其中,p(y(i)=j|x(i);θ)=exp(θTix)Kk=1exp(θTkx)则,

J(θ)=1m[mi=1kj=11{y(i)=j}(θTjx(i)log(kl=1eθTlx(i)))]

一般使用梯度下降优化算法来最小化代价函数,而其中会涉及到偏导数,即θj:=θjαδθjJ(θ),则J(θ)θj求偏导,得到,

J(θ)θj=1mmi=1[kj=11{y(i)=j}θTjx(i)θjkj=11{y(i)=j}log(kl=1eθTlx(i)))θj]

=1mmi=1[1{y(i)=j}x(i)kj=11{y(i)=j}kl=1eθTlx(i)kl=1eθTlx(i)θj]

=1mmi=1[1{y(i)=j}x(i)x(i)eθTjx(i)kl=1eθTlx(i)]

=1mmi=1x(i)[1{y(i)=j}p(y(i)=j|x(i);θ)]

得到代价函数对参数权重的梯度就可以优化了。

使用场景

在多分类场景中可以用softmax也可以用多个二分类器组合成多分类,比如多个逻辑分类器或SVM分类器等等。该使用softmax还是组合分类器,主要看分类的类别是否互斥,如果互斥则用softmax,如果不是互斥的则使用组合分类器。

========广告时间========

公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。

鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以购买。感谢各位朋友。

为什么写《Tomcat内核设计剖析》

=========================

欢迎关注:

这里写图片描述

3
0
查看评论

sigmoid和softmax总结

sigmoid函数(也叫逻辑斯谛函数):  引用wiki百科的定义:  A logistic function or logistic curve is a common “S” shape (sigmoid curve).  其实逻辑斯谛函数也就是经常说的sigmoid函数,它的几何形状也就是一...
  • u014422406
  • u014422406
  • 2016-10-13 12:47
  • 56468

Softmax的理解与应用

Softmax 理解 应用
  • superCally
  • superCally
  • 2017-01-08 15:28
  • 15616

深度学习基础(一) —— softmax 及 logsoftmax

softmax:重新定义了多层神经网络的输出层(output layer),注意仅和输出层有关系,和其他层无关。 softmax function,也称为 normalized exponential(指数族分布的观点); 1. softmax 我们知道在神经网络的前...
  • AMDS123
  • AMDS123
  • 2017-03-15 12:29
  • 7789

Softmax

简介 其实吧,一般在神经网络中用的最多的是sigmoid和tanh,当然也有用relu的。这是针对“是”和“否”的分类,但当进行多分类时,就要用到softmax 。 在logistic回归中,训练样本是:{(x(1),y(1)),...,(x(m),y(m))}\{(x^{(1)},y^{(1)...
  • Hungryof
  • Hungryof
  • 2015-12-24 17:42
  • 8219

深度学习算法原理——Softmax Regression

一、Logistic回归简介 Logistic回归是解决二分类问题的分类算法。假设有m" role="presentation" style="position: relative;">mmm个训练样本{(x(1),y(1)),(x(2),y...
  • google19890102
  • google19890102
  • 2015-11-09 14:46
  • 9438

softmax理论及代码解读——UFLDL

前言看了各种softmax以后迷迷糊糊的,还是研究一下UFLDL的教程稳点。当然还是得参考挺多教程的:UFLDL-softmax 、Softmax的理解与应用 、Logistic 分类器与 softmax分类器 、详解softmax函数以及相关求导过程 、Exercise:Softmax Regre...
  • zb1165048017
  • zb1165048017
  • 2017-03-20 10:54
  • 1978

Softmax 函数及其作用(含推导)

Softmax是一种形如下式的函数:P(i)=exp(θTix)∑Kk=iexp(θTkx) P(i)=\dfrac{exp(\theta_i^Tx)}{\sum_{k=i}^{K}exp(\theta_k^Tx)} , 其中θi\theta_i和x是列向量,θTix\theta_i^Tx可能被换成...
  • hejunqing14
  • hejunqing14
  • 2015-10-08 21:58
  • 31971

softmax回归

在上一篇文章中,讲述了广义线性模型。通过详细的讲解,针对某类指数分布族建立对应的广义线性模型。在本篇文章 中,将继续来探讨广义线性模型的一个重要例子,它可以看成是Logistic回归的扩展,即softmax回归。   我们知道Logistic回归只能进行二分类,因为它的随机变量的取值只能是...
  • ACdreamers
  • ACdreamers
  • 2015-03-27 00:55
  • 39990

softmax层(无loss)是什么样的?

名称:softmax_layer 连接:softmax层一般连接的是全连接层和loss层 这里有softmax层的来历解释,我感觉解释的很好:http://zhidao.baidu.com/link?url=brlk4rKSEl3AVbpu5cL8S9FZOeFF1nVES1lydYSa84ct...
  • h_jlwg6688
  • h_jlwg6688
  • 2016-09-22 16:33
  • 2136

深度学习笔记8:softmax层的实现

如果有什么疑问或者发现什么错误,欢迎在评论区留言,有时间我会一一回复 softmax简介 Softmax回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,待分类的类别数量大于2,且类别之间互斥。比如我们的网络要完成的功能是识别0-9这10个手写数字,若最后一层的输出为[0,...
  • l691899397
  • l691899397
  • 2016-08-23 16:14
  • 16481
    作者
    https://github.com/sea-boat

    公众号:(内容包括分布式、机器学习、深度学习、NLP、Java深度、Java并发核心、JDK源码、Tomcat内核等等)



    微信:

    打赏作者

    如果您觉得作者写的文章有帮助到您,您可以打赏作者一瓶汽水(*^__^*)

    个人资料
    • 访问:1064000次
    • 积分:14084
    • 等级:
    • 排名:第1048名
    • 原创:326篇
    • 转载:5篇
    • 译文:1篇
    • 评论:348条
    博客专栏
    最新评论