Softmax

前言

在机器学习中的多元分类问题,我们时常使用softmax函数来整理输出结果。那么什么是softmax呢?

什么是多元分类?

在机器学习中,我们有一类非常常见的问题,叫作多元分类问题。所谓多元分类,即是我们的模型,结果是一个离散的,超过二维的表示。

举几个例子:

  1. 判断一个图片是不是猫,这是一个二元分类问题,不是多元分类(只有是与不是)。
  2. 预测一个地区未来三个月的房价,这个结果是连续的,所以它也不是多元分类
  3. 判断一个数字是[0,9]中的哪一个,这就是一个标准的多元分类问题,答案只有[0,9]10个。

Softmax函数

从纯数学来说,它是一种函数的变换。它的作用是:它能将一个含任意实数的K维向量 “压缩”到另一个K维实向量中,使得每一个元素的范围都在 (0,1)之间,并且所有元素的和为1。 这个“压缩”的过程,就是Softmax函数,它是一个数学变换。

image.png

import math
z = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]
z_exp = [math.exp(i) for i in z]  
print(z_exp)  # Result: [2.72, 7.39, 20.09, 54.6, 2.72, 7.39, 20.09] 
sum_z_exp = sum(z_exp)  
print(sum_z_exp)  # Result: 114.98 
softmax = [round(i / sum_z_exp, 3) for i in z_exp]
print(softmax)  # Result: [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]

Softmax的优势

我们为什么要用Softmax呢?指数函数的值域为(0 - 正无穷) 在做归一化处理时,会自动去掉负数带来的困境,在计算概率的场景,非常合适。因为通常来说,概率就是[0,1]的范围。因此,在多元分类问题中,使用Softmax是非常合适的。

Softmax的使用

本质上,linear,Logistic,Softmax 都是一个东西推导出来的。就是广义线性模型。这些分布之所以长成这个样子,是因为我们对y进行了假设。 当y是正太分布-------->linear model 当y是两点分布-------->Logistic model 当y是多项式分布-------->Softmax 只要y的分布是指数分布族的(还有若干假设),都可以用一种通用的方法推导出h(x)。

image.png

mnist数据集

mnist机器学习入门的一个常用数据集,也是softmax应用的一个很好的示例。mnist有大约60k张手写数字的图片。图片是28 x 28 x 255的黑白图片,并包含对应的标签。我们将其变成一维,图片可以用[1,784]的张量来表示。每个元素的值为[0,255]。 我们的输出是[0,9],因此,可以用张量[1,10]来表示,每个元素值为(0,1)。表示0-9十个数字的可能性。

实践证明,在这个问题上softmax就是一个非常有效的模型。

那么 y = softmax(wx+b) 其中: x : [N , 784] w: [784 , 10] b: [1,10] y: [N , 10]

在tensorflow中,我们会这样表示:

y = tf.nn.softmax(tf.matmul(x,W) + b)

这样,我们就将数据集和我们想要的输出连接了起来。我们就可以通过机器学习,来寻找最佳的w和b,从而形成我们的模型。最终,它就能帮助我们完成对手写数字图片的识别了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

ACL论文 | 深度学习大神新作,神经网络的自然语言翻译应用

在 8月7日在德国柏林召开的2016 计算语言学(ACL)大会上,学者Thang Luong、Kyunghyun Cho 和 Christopher D. Ma...

3555
来自专栏机器之心

业界 | 除了自然语言处理,你还可以用Word2Vec做什么?

3626
来自专栏算法channel

机器学习|K-Means算法

01 — K-Means算法 在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,主要通过不断地取离种子点最近均值的算法。 如下...

2946
来自专栏AI研习社

从聚合-转移框架浅谈卷积神经网络的架构设计

本次Paper Reading我们并没有关注某些特定的paper,而是用一个视角对现有的代表性的卷积神经网络设计进行总结。

1212
来自专栏AI2ML人工智能to机器学习

变分の美

变分法(Variational method)已经成为微积分后主流的分析工具, 在物理和应用数学有着极大的功能。 变分法的诞生起源于最强大的数学家家族两个兄弟之...

1071
来自专栏人工智能

概念学习:“Find-S 算法”,机器学习的敲门砖

在之前的博客中,我们讲到了一台机器通过机器学习所能完成的壮举,以及深入学习机器学习之前必备的数学知识。那么,在理解了机器学习的先决条件之后,就让我们迈着小而高效...

4909
来自专栏AI科技大本营的专栏

福利 | 图像的语义分割—CRF通俗非严谨的入门

本文节选自《深度学习轻松学》第九章—图像的语义分割,作者冯超。 福利提醒:想要获得本书,请在评论区留言,分享你的深度学习经验,第8、18、28、38以及48楼...

6706
来自专栏AI科技评论

学界 | AAAI 2018 Oral论文首次提出利用深度增强学习自动解数学题

AI 科技评论按:增强学习和人类学习的机制非常相近,DeepMind 已经将增强学习应用于 AlphaGo 以及 Atari 游戏等场景当中。作为智能教育领域的...

4228
来自专栏量化投资与机器学习

从Seq2seq到Attention模型到Self Attention(一)

近一两年,注意力模型(Attention Model)是深度学习领域最受瞩目的新星,用来处理与序列相关的数据,特别是2017年Google提出后,模型成效、复杂...

2924
来自专栏机器学习算法与Python学习

干货 | 自然语言处理(2)之浅谈向量化与Hash-Trick

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 ? 这一系列公开课将由一线技术专家从...

3124

扫码关注云+社区