简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大家可以帮忙指正。本文首先分别介绍logistic函数和softmax函数的定义和应用,然后针对两者的联系和区别进行了总结。

1. logistic函数

1.1 logistic函数定义

  引用wiki百科的定义:

  A logistic function or logistic curve is a common "S" shape (sigmoid curve).

  其实逻辑斯谛函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。

  logistic函数的公式形式如下:

$f(x) = \frac{L}{1+e^{-k(x-x_{0})}}$

  其中,$x_{0}$表示了函数曲线的中心(sigmoid midpoint),$k$是曲线的坡度。

  logistic的几何形状如下所示:

1.2 logistic函数的应用

  logistic函数本身在众多领域中都有很多应用,我们只谈统计学和机器学习领域。

  logistic函数在统计学和机器学习领域应用最为广泛或者最为人熟知的肯定是逻辑斯谛回归模型了。逻辑斯谛回归(Logistic Regression,简称LR)作为一种对数线性模型(log-linear model)被广泛地应用于分类和回归场景中。此外,logistic函数也是神经网络最为常用的激活函数,即sigmoid函数。

2. softmax函数

2.1 softmax函数的定义

  同样,我们贴一下wiki百科对softmax函数的定义:

  softmax is a generalization of logistic function that "squashes"(maps) a $K$-dimensional vector $z$ of arbitrary real values to a $K$-dimensional vector $\sigma(z)$ of real values in the range (0, 1) that add up to 1.

  这句话既表明了softmax函数与logistic函数的关系,也同时阐述了softmax函数的本质就是将一个$K$维的任意实数向量压缩(映射)成另一个$K$维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。

  softmax函数形式如下:

$\sigma(z)_{j}=\frac{e^{z_{j}}}{\sum^{K}_{k=1}e^{z_{k}}}$

  其中$j = 1,2, ... , K$。

2.2 sotfmax函数的应用

  softmax函数经常用在神经网络的最后一层,作为输出层,进行多分类。此外,softmax在增强学习领域内,softmax经常被用作将某个值转化为激活概率,这类情况下,softmax的公式如下:

$P_{t}(a)=\frac{e^{\frac{q_{t}(a)}{T}}}{\sum^{n}_{i=1}e^{\frac{q_{t}(i)}{T}}}$

  其中,$T$被称为是温度参数(temperature parameter)。当T很大时,即趋于正无穷时,所有的激活值对应的激活概率趋近于相同(激活概率差异性较小);而当T很低时,即趋于0时,不同的激活值对应的激活概率差异也就越大。这个结论很重要,Hinton在2015年的一篇paper中重点阐释了如何根据温度参数来soften神经网络的输出,从而提出了distillation的思想和方法。

3. logistic和softmax的关系

  1)logistic具体针对的是二分类问题,而softmax解决的是多分类问题,因此从这个角度也可以理解logistic函数是softmax函数的一个特例。

  这里借鉴UFLDL教程中的推导,具体的推导过程如下:

  当分类数为2时,softmax回归的假设函数表示如下:

  利用softmax回归参数冗余的特点,从两个参数向量中都减去向量$\theta_{1}$,得到:

  最后,用$\theta^{'}$来表示$\theta_{2}-\theta_{1}$,上述公式可以表示为softmax回归器预测其中一个类别的概率为

$\frac{1}{1+e^{\theta^{'T}x^{i}}}$

  另一个类别的概率为

$1-\frac{1}{1+e^{\theta^{'T}x^{i}}}$

  这与logistic回归是完全一致的。

  2)从概率角度来看logistic和softmax函数的区别。

  softmax建模使用的分布是多项式分布,而logistic则基于伯努利分布,这方面具体的解释可以参考Andrew Ng的讲义去理解。

  3)softmax回归和多个logistic回归的关系。

  有了解的同学可能知道多个logistic回归通过叠加也同样可以实现多分类的效果,那么多个logistic回归和softmax一样不一样呢?

  softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类;

  多个logistic回归进行多分类,输出的类别并不是互斥的,即"苹果"这个词语既属于"水果"类也属于"3C"类别。

4. 参考内容

  [1] wiki百科:logistic函数

  [2] wiki百科:softmax函数

  [3] UFLDL教程之softmax回归

[Machine Learning] logistic函数和softmax函数相关推荐

  1. 机器学习 [logistic函数和softmax函数]

    简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大家可以帮忙指正.本文首先分别介绍logistic函数和softmax函数的定义和应用, ...

  2. logistic函数和softmax函数

    简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数.本文首先分别介绍logistic函数和softmax函数的定义和应用,然后针对两者的联系和区别进行了总结. ...

  3. sigmod 函数与softmax 函数对比

    sigmod 函数与softmax 函数之间既有类似,又有差异,是两种典型的深度神经网络的activation functions.通俗而言,sigmod 函数常用于二分类,softmax 函数常用于 ...

  4. sigmoid函数,tanh函数,relu函数,softmax函数

    sigmoid函数 数学表达式: f(z)=1/(1+e**-z) Sigmoid 函数的输出范围是 0 到 1.由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化: 用于将预测概率作 ...

  5. Sigmoid函数与Softmax函数的区别与联系

    目录 缘起逻辑回归 Sigmoid Softmax 缘起逻辑回归 逻辑回归模型是用于二类分类的机器学习模型(不要说逻辑回归可以做多类分类啊喂,那是二类分类器的组合策略问题,而与逻辑回归分类器本身的构造 ...

  6. sigmoid函数、tanh函数、softmax函数及求导

    sigmoid函数和tanh函数都是激活函数,接收一个输入,产生一个输出.这里的求导是对激活函数求导.而softmax函数是一个多输入多输出的激活函数,这里提到的求导是对经过softmax函数后进行交 ...

  7. 机器学习(MACHINE LEARNING)MATLAB之surf()函数

    文章目录 1 代码 2 result 1 代码 >> x=-3:3; >> y=-3:3y =-3 -2 -1 0 1 2 3>> [X,Y]=meshgrid(x ...

  8. Machine Learning实验3】SoftMax regression

    神奇的SoftMax regression,搞了一晚上搞不定,凌晨3点起来继续搞,刚刚终于调通.我算是彻底理解了,哈哈.代码试验了Andrew Ng的第四课上提到的SoftMax regression ...

  9. 【深度学习】Softmax 函数

    Introduction Softmax函数,又称 归一化指数函数 . 该函数 是最流行的 分类任务目标函数,也是 Sigmoid函数 的一种 推广.可转换为交叉熵误差 (CE) . Softmax ...

最新文章

  1. 入职不到3年,这所C9已有多位“90后”已成副教授!
  2. poj1548 Robots
  3. C++ Primer 5th笔记(chap 17 标准库特殊设施)bitset类型
  4. SQLYog快捷键大全
  5. hive 百分比_HIVE短期内再次突破前高
  6. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波10 - 直方图处理 - 局部直方图处理
  7. SpringBoot的编码问题
  8. python装饰器系列(五)
  9. HTML中添加meta http-equiv=X-UA-Compatible content=IE=edge,chrome=1
  10. 吴恩达深度学习之二《改善深层神经网络:超参数调试、正则化以及优化》学习笔记
  11. oracle的tns错误,Oracle TNS-12514错误的解决步骤
  12. linux中安装,编译时调用,运行时调用,更新共享库
  13. Python 入门 Day5
  14. 中国移动手机支付开放平台网站服务协议
  15. 如何下载matlab,如何下载MATLAB?
  16. Win10窗口背景色改成淡绿色的方法
  17. Python实现本地翻译API
  18. 机器学习笔记:训练集、验证集与测试集
  19. 跟着小甲鱼学习C语言
  20. 泛微协同办公e-cology9.0的Ecode二次开发实例说明

热门文章

  1. Python爬取网站用户手机号_设计师的福利,python爬取素材网站
  2. 在几何画板中如何制作圆柱的侧面展开动画_基本尺规作图过程展示 | 几何画板...
  3. 【赠书】掌握人工智能重要主题,深度强化学习实践书籍推荐
  4. 【通知】《深度学习之模型设计》第三次重印,欢迎读者支持!
  5. 【NLP】 聊聊NLP中的attention机制
  6. 中国福建省动漫产业建设开发现状及未来策略规划调研报告2021-2027年
  7. csdn和博客园对比
  8. 联合国和平音乐会主题粮安天下 国际农民丰收节贸易会贺电
  9. eclipse的任务列表
  10. openresty + lua