神奇的 sigmoid 函数

一般在写着色器的时候需要将数值范围重新映射到 0-1,一般都是用输入的值除以范围,简单的例如 0 - 80,就用输入的值除以80,这样就可以得到一个 0-1 的值 当然这里的映射就是线性的
sigmoid 呢,可以不用知道数据范围就将输入的值限制到 0-1 的范围内,看了它的公式后,我觉的发明这个公式的人太有才了。 当然 他的映射不是线性的

公式

func(x)=\frac{1}{1+e^{-x}}
公式很简单,效果很惊人

sigmoid 的图形效果

其中 e^{-x}=\frac{1}{e^{x}}
可以看出来 当 x 越大的时候 ,e^x 的值越大 所以 e^{-x}就越小,但是呢因为 e 大于 0,所以 e^{-x}这个值最小也不会小于 0,1 除以一个非常大的值 只会得到一个趋近于 0 的值但不是 0
所以这个 e^{-x} 的范围是 0(不包含) 到 一个很大的数,不知道算不算从严谨的数学上讲是不是+\infty,我这里就说其上限很大吧

所以 func(x)=\frac{1}{1+e^{-x}} 的分母就是一个 1(不包含) 到非常大的数,所以整个式子就成了 0 到 1 之间(应该不包含 0 和 1 这两值)。

太神奇了 跟大家分享一下

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容