博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
神经网络中的Softmax激活函数
阅读量:4698 次
发布时间:2019-06-09

本文共 883 字,大约阅读时间需要 2 分钟。

Softmax回归模型是logistic回归模型在多分类问题上的推广,适用于多分类问题中,且类别之间互斥的场合。
Softmax将多个神经元的输出,映射到(0,1)区间内,可以看成是当前输出是属于各个分类的概率,从而来进行多分类。

假设有一个数组V,Vi表示V中的第i个元素,那么Vi元素的softmax值就是:

例如 V = [9,6,3,1] , 经过Softmax函数输出 V_Softmax = [0.950027342724 0.0472990762635 0.00235488234367 0.000318698668969],以下是转化程序:

# -*- coding: utf-8 -*-import mathV = [9,6,3,1]v1 = math.exp(9)v2 = math.exp(6)v3 = math.exp(3)v4 = math.exp(1)v_sum = v1+v2+v3+v4print v1/v_sum,v2/v_sum,v3/v_sum,v4/v_sum
可以看到,Softmax函数把输出映射成区间在(0,1)的值,并且做了归一化,所有元素的和累加起来等于1。可以直接当作概率对待,选取概率最大的分类作为预测的目标。

为什么是Softmax

其他很多函数也可以完成选取最大值,并归一化的功能,但是为什么现在神经网络中普遍采用Softmax作为回归分类函数呢。比如最简单的,把上例中的向量 V = [9,6,3,1]直接归一化,结果 v_norm = [0.5294, 0.3157, 0.1578, 0.0526], 单就分类来说,9对应的归一化值 0.5294也是最大的,分类也没错。

之所以选择Softmax,很大程度是因为Softmax中使用了指数,这样可以让大的值更大,让小的更小,增加了区分对比度,学习效率更高。第二个是因为softmax是连续可导的,消除了拐点,这个特性在机器学习的梯度下降法等地方非常必要。

转载于:https://www.cnblogs.com/mtcnn/p/9411744.html

你可能感兴趣的文章
JAVA虚拟机内存分配原则 (转
查看>>
jar包上传到jcenter
查看>>
《黑白团团》第九次团队作业:Beta冲刺与验收准备
查看>>
团队站立会议04
查看>>
PHP计划任务:如何使用Linux的Crontab执行PHP脚本(转载)
查看>>
Working with Data Sources 2
查看>>
设计模式12——中介者模式
查看>>
小马过河
查看>>
npm和gulp学习
查看>>
关注细节但不陷入细节
查看>>
【Python】django模型models的外键关联使用
查看>>
httperf ---linux web站点压力测试
查看>>
JAVA基础知识(五)数据类型转换
查看>>
hdu-5583 Kingdom of Black and White(数学,贪心,暴力)
查看>>
算法与设计模式
查看>>
(4)理解 neutron ml2---port创建流程代码解析
查看>>
python List
查看>>
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'userinfo.
查看>>
免费资源:Polaris UI套件 + Linecons图标集(AI, PDF, PNG, PSD, SVG)
查看>>
《Javascript高级程序设计》读书笔记(1-3章)
查看>>