一。 原型

sigmoid 函数原型:

在 [-5, 5] 上的曲线是这个样子的:

二。X轴变形

如果我们希望加速更快一点,那么就需要对原型中的指数 -X 的系数进行改变。原型可以认为是 -(1 * X),如果我们需要把图形Y不变,X压缩为原来的 1 /5,那么只需要指数改为 -(5 * X),这样图形就更加陡峭。此处指数部分变形为 -aX。原始图形是 [-5, 5] 这个区间,一共是10个数字,压缩后的整个区间为 [- t / 2, t / 2],那么 a = 10 / t。

我们注意到,原型中X轴的坐标是 从负数到正数,那么我们需要的图形X坐标是从 0 开始的,所以需要对压缩后的图形进行平移,平移的 X 行程为 t / 2。所以指数变形为 - (10 / t) * (X - t / 2), 展开为 -( 5 * 2 / t ) * X + 5 的 -ax + b 的形式,其中 a = 5 * 2 / t, b = 5。因为原始图形对应的区间是 [-5, 5],如果我们设 F = 5,那么在区间 [- F, F ] 上的 s 曲线进行 x 方向的压缩平移后 指数部分变为 -( F * 2 / t ) * X + F .

整体的公式为 y = 1 / ( 1 + e ^ ( - ( F * 2 / t ) * X + F ) )

y = \frac{1}{1 + e ^ {- (F * \frac{2}{t}) * x + F}}

三。Y轴变形

原始图形的 Y 轴区间是 [0, 1],实际使用中我们需要在 Y 轴进行拉伸,所以需要增加系数 Ymax - 0,我们有时候还需要图形Y轴不从0开始,需要一个最小的 Y 轴偏移 Ymin,所以 Y轴拉伸的系数变为 Ymax - Ymin。

整体公式变为 y = (ymax - ymin)( 1 / ( 1 + e ^ ( - ( F * 2 / t ) * X + F ) ) ) + ymin

y = (y_{max} - y_{min}) * \frac{1}{1 + e ^ {- (F * \frac{2}{t}) * x + F}} + y_{min}

注: 使用 在线公式 https://latex.vimsky.com/

s曲线的更多相关文章

  1. caffe的python接口学习(7):绘制loss和accuracy曲线

    使用python接口来运行caffe程序,主要的原因是python非常容易可视化.所以不推荐大家在命令行下面运行python程序.如果非要在命令行下面运行,还不如直接用 c++算了. 推荐使用jupy ...

  2. ROC曲线、PR曲线

    在论文的结果分析中,ROC和PR曲线是经常用到的两个有力的展示图. 1.ROC曲线 ROC曲线(receiver operating characteristic)是一种对于灵敏度进行描述的功能图像. ...

  3. canvas贝塞尔曲线

    贝塞尔曲线 Bézier curve(贝塞尔曲线)是应用于二维图形应用程序的数学曲线. 曲线定义:起始点.终止点.控制点.通过调整控制点,贝塞尔曲线的形状会发生变化. 1962年,法国数学家Pierr ...

  4. UIBezierPath-完善曲线

    override func draw(_ rect: CGRect) { let path = UIBezierPath() // 起点 path.move(to: CGPoint(x: , y: ) ...

  5. 贝塞尔曲线(UIBezierPath)属性、方法汇总

    UIBezierPath主要用来绘制矢量图形,它是基于Core Graphics对CGPathRef数据类型和path绘图属性的一个封装,所以是需要图形上下文的(CGContextRef),所以一般U ...

  6. 基于jquery实现图片拖动和曲线拖放

    功能:图片的拖动.曲线的拖放和绘制 一. 准备工作 1. 点击此下载相关的文档 二. 在浏览器中运行 dragDrop.html 文件,即可看到效果 三. 效果图

  7. 深度掌握SVG路径path的贝塞尔曲线指令

    一.数字.公式.函数.变量,哦,NO! 又又一次说起贝塞尔曲线(英语:Bézier curve,维基百科详尽中文释义戳这里),我最近在尝试实现复杂的矢量图形动画,发现对贝塞尔曲线的理解馒头那么厚,是完 ...

  8. 贝塞尔曲线(cubic bezier)

    对于css3的Transitions,网上很多介绍,相信大家都比较了解,这里用最简单的方式介绍下: transition语法:transition:<transition-property> ...

  9. 精确率与召回率,RoC曲线与PR曲线

    在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口 ...

  10. iOS开发之画图板(贝塞尔曲线)

    贝塞尔曲线,听着挺牛气一词,不过下面我们在做画图板的时候就用到贝塞尔绘直线,没用到绘制曲线的功能.如果会点PS的小伙伴会对贝塞尔曲线有更直观的理解.这篇博文的重点不在于如何用使用贝塞尔曲线,而是利用贝 ...

随机推荐

  1. Java并发编程:Java内存模型JMM

    简介 Java内存模型英文叫做(Java Memory Model),简称为JMM.Java虚拟机规范试图定义一种Java内存模型来屏蔽掉各种硬件和系统的内存访问差异,实现平台无关性. CPU和缓存一 ...

  2. jqgrid 合并表头

    参考:http://www.trirand.com/jqgridwiki/doku.php?id=wiki:groupingheadar jQuery("#表格id").jqGri ...

  3. PromQL操作符

    PromQL操作符 使用PromQL除了能够方便的按照查询和过滤时间序列以外,PromQL还支持丰富的操作符,用户可以使用这些操作符对进一步的对事件序列进行二次加工.这些操作符包括:数学运算符,逻辑运 ...

  4. swift4之String与NSString的区别与使用

    String是结构体,NSString是类,这是它们的根本区别. 在 Swift 中,结构体struct是值类型,String是结构体,所以也是值类型.值类型被赋予给一个变量.常量或者被传递给一个函数 ...

  5. SystemVerilog基本语法总结(中)

    Systemverilog 语法总结(中) 上一个博客分享了SV基本的概念,这一博客继续分享,等下一个博客分享一个公司的验证的笔试题目. l 事件 背景: Verilog中当一个线程在一个事件上发生阻 ...

  6. 小米xiaomi9 google play卡在检查信息

    终于在今年淘汰掉用了三年的果6s,换了小米9 ,结果发现科学..上网后,可以正常打开google网页,却无法登陆,gmail也无法使用.一直卡在“正在核对信息”. 检查服务,小米9 全系列自带了谷歌框 ...

  7. docker幕布笔记

    幕布链接>>>>https://mubu.com/doc/l_KDT3S5w0

  8. spark on yarn container分配极端倾斜

    环境:CDH5.13.3  spark2.3 在提交任务之后,发现executor运行少量几台nodemanager,而其他nodemanager没有executor分配. 测试环境通过spark-s ...

  9. 深度解析标点符号在Report写作中的应用

    准确的标点符号和大写字母可以帮助Tutor准确理解report的意思.标点符号的某些方面,例如使用逗号,可以是一种个人风格,在引号中正确的标点符号是至关重要的.在前面的一些文章当中我们也给大家说了re ...

  10. Linux ---- 查看当前TCP连接数

    一.查看哪些IP连接本机 netstat -an 二.查看TCP连接数 1)统计80端口连接数netstat -nat|grep -i "80"|wc -l 2)统计httpd协议 ...