logistic sigmoid函数:

logistic sigmoid函数通常用来产生Bernoulli分布中的参数ø,因为它的范围是(0,1),处在ø的有效取值范围内。logisitic sigmoid函数在变量取绝对值非常大的正值或负值时会出现饱和(saturate)现象,意味着函数会变得很平,并且对输入的微小改变会变得不敏感。

logistic sigmoid函数在深度学习中经常用作激活函数。有时为了加快计算速度,也使用称为fast sigmoid 函数,即:σ(x)=x/(1+|x|)

Logistic function:A logistic function or logistic curve is a common “S” shape(sigmoid curve), with equation:

where, e = the natural logarithm base(also known as Euler’s number); x0 = the x-value of the sigmoid’s midpoint; L = the curve’s maximum value; k = the steepness of the curve. For values of x in the range of real numbers from -∞ to +∞.

The standard logistic function is the logistic function with parameters (k = 1, x0= 0, L = 1) which yields:

The logistic function has the symmetry(对称) property that: 1-f(x)=f(-x).

以上内容摘自: 《深度学习中文版》和 维基百科

以下是C++测试code:

#include "funset.hpp"
#include <math.h>
#include <iostream>
#include <string>
#include <vector>
#include <opencv2/opencv.hpp>
#include "common.hpp"// =============================== 计算 sigmoid函数 ==========================
template<typename _Tp>
int sigmoid_function(const _Tp* src, _Tp* dst, int length)
{for (int i = 0; i < length; ++i) {dst[i] = (_Tp)(1. / (1. + exp(-src[i])));}return 0;
}template<typename _Tp>
int sigmoid_function_fast(const _Tp* src, _Tp* dst, int length)
{for (int i = 0; i < length; ++i) {dst[i] = (_Tp)(src[i] / (1. + fabs(src[i])));}return 0;
}int test_sigmoid_function()
{std::vector<double> src{ 1.23f, 4.14f, -3.23f, -1.23f, 5.21f, 0.234f, -0.78f, 6.23f };int length = src.size();std::vector<double> dst1(length), dst2(length);fprintf(stderr, "source vector: \n");fbc::print_matrix(src);fprintf(stderr, "calculate sigmoid function:\n");fprintf(stderr, "type: sigmoid functioin, result: \n");fbc::sigmoid_function(src.data(), dst1.data(), length);fbc::print_matrix(dst1);fprintf(stderr, "type: fast sigmoid function, result: \n");fbc::sigmoid_function_fast(src.data(), dst2.data(), length);fbc::print_matrix(dst2);return 0;
}

GitHub: https://github.com/fengbingchun/NN_Test

激活函数之logistic sigmoid函数介绍及C++实现相关推荐

  1. 有关logistic(sigmoid)函数回归

    在神经网络中,经常用到sigmoid函数,y = 1 / (1+e-x) 作为下一级神经元的激活函数,x也就是WX(下文,W以θ符号代替)矩阵计算结果. 这个函数通常用在进行分类,通常分为1或0的逻辑 ...

  2. Sigmoid 函数(logistic函数)笔记

    其实logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线(S型曲线). 该函数具有如下的特性:当x趋近于负无穷时,y趋近于0:当x趋近于正无穷时,y趋近于1: ...

  3. sigmoid函数_常用的激活(激励)函数——深度学习笔记(建议收藏)

    激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...

  4. Sigmoid函数以及传统线性函数

    Sigmoid函数以及传统线性函数 参考:https://www.jianshu.com/p/68d44a4295d1 在ReLU激活函数出现之前,神经网络训练都是勇Sigmoid作为激活函数.其中S ...

  5. 交叉熵代价函数——当我们用sigmoid函数作为神经元的激活函数时,最好使用交叉熵代价函数来替代方差代价函数,以避免训练过程太慢...

    交叉熵代价函数 machine learning算法中用得很多的交叉熵代价函数. 1.从方差代价函数说起 代价函数经常用方差代价函数(即采用均方误差MSE),比如对于一个神经元(单输入单输出,sigm ...

  6. sigmoid函数_深度学习中激活函数总结

    一.前言 前段时间通过引入新的激活函数Dice,带来了指标的提升,借着这个机会,今天总结下常用的一些激活函数. 激活函数在深度学习中起着非常重要的作用,本文主要介绍下常用的激活函数及其优缺点.主要分为 ...

  7. sigmoid函数解决溢出_常见激活函数优缺点与dead relu problem

    转载自: G-kdom:温故知新--激活函数及其各自的优缺点​zhuanlan.zhihu.com 1.什么是激活函数? 所谓激活函数(Activation Function),就是在人工神经网络的神 ...

  8. 机器学习入门(03)— 激活函数分类(阶跃函数和 sigmoid 函数的理论、实现、显示以及区别、非线性函数、ReLU 函数、tanh 函数)

    各种激活函数介绍,请参考下面链接: https://en.wikipedia.org/wiki/Activation_function 1. 阶跃函数 1.1 理论 式(3.3)表示的激活函数以阈值为 ...

  9. 神经网络常用的三大激活函数sigmoid函数、tanh函数、relu函数对比讲解

    在我们学习神经网络的时候经常要用到激活函数,但是我们对于为什么要使用这一个,它们之间的区别和优缺点各是什么不太了解.下面,我们来详细说一说这三个激活函数. - sigmoid函数 sigmoid函数也 ...

最新文章

  1. 黄聪:百度知道中对HTML字符实体、字符编号,开头字符的使用
  2. C++中相对路径与绝对路径以及斜杠与反斜杠的区别 及 处理代码
  3. React简介、虚拟DOM、Diff算法、创建React项目、JSX语法、组件、组件声明方式、组件传值props和state、组件的生命周期
  4. 0.8.11版本ffmpeg一天移植将近完成。
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的族谱管理系统
  6. 为什么现在很多公司和员工签订了合同之后都不给员工一份?
  7. 071120 sunny
  8. DPDK DPVS 笔记 -> 基本框架整理
  9. matlab脉冲压缩,雷达线性调频脉冲压缩的原理及其matlab仿真
  10. 163邮箱如何注册呢?
  11. 咸鱼Maya笔记—创建NURBS基本体
  12. Pytho 常见模块 / 用法备忘录
  13. 88E1111配置及使用
  14. cad 中的计算机在哪里打开,CAD计算器如何使用?
  15. 怎么生成自动参考文献(简单 有图)
  16. RabbitMQ了解——>安装——>入门
  17. JavaScript - 移动端网页特效
  18. 小梅哥三段式状态机按键消抖改写
  19. 数学速算法_掌握这11种小学数学题型,期末稳坐学霸之位!
  20. 王者战力查询,安卓苹果都行

热门文章

  1. Ubuntu下编译并运行C++代码
  2. GitHub上共享的简单易用 TensorFlow 代码集
  3. 根据函数指针地址获取函数名
  4. zoj-3228 Searching the String AC自动机
  5. 数据结构与算法(7-2)图的遍历(深度优先遍历DFS、广度优先遍历BFS)(分别用邻接矩阵和邻接表实现)
  6. error LNK2019: 无法解析的外部符号,该符号在函数 _main 中被引用的解决方法
  7. python3 ocr_OCR识别-python3.5版
  8. ats 5.3.2中的header-rewrite插件调研
  9. C++的STL栈实现队列
  10. 简单protobuf