sigmoid函数解析式_phonetic函数

sigmoid函数解析式_phonetic函数Sigmoid函数,即f(x)=1/(1+e-x)。是神经元的非线性作用函数。广泛应用在神经网络中。神经网络的学习是基于一组样本进行的,它包括输入和输出(这里用期望输出表示),输入和输出有多少个分量就有多少个输入和输出神经元与之对应。最初神经网络的权值(Weight)和阈值(Threshold)是任意给定的,学习就是逐渐调整权值和阈值使得网络的实际输出和期望输出一致。给定以下的总输

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Sigmoid函数,即f(x)=\frac{1}{1+e^{-x}}。是神经元的非线性作用函数。广泛应用在神经网络中。

神经网络的学习是基于一组样本进行的,它包括输入和输出(这里用期望输出表示),输入和输出有多少个分量就有多少个输入和输出神经元与之对应。最初神经网络的权值(Weight)和阈值(Threshold)是任意给定的,学习就是逐渐调整权值和阈值使得网络的实际输出和期望输出一致。

给定以下的总输入,我们可以基于sigmoid函数得到连续的输出,其中sigmoid函数的定义如下

sigmoid函数解析式_phonetic函数

 

该函数具有如下的特性:当x趋近于负无穷时,y趋近于0;当x趋近于正无穷时,y趋近于1;当x=0时,y=1/2.

sigmoid函数解析式_phonetic函数

阈值化或者阶梯化: 

        增加该连接的权值,也就是增加总输入,可以使sigmoid函数越来越趋近于阈值函数,或者叫阶梯函数。将总输入变为原来的5倍,则sigmoid函数变为如下的形式:

sigmoid函数解析式_phonetic函数

 

线性化:

只要w为非零值,即使w非常小,ς(wx)最终都会趋近于y=0和y=1. 下图为w=0.1,-7<x<7时的sigmoid函数,看上去y是取值范围在0.35到0.65 之间的一条直线。

 

sigmoid函数解析式_phonetic函数

但如果同样是w=0.1,当-25<x<25时,该曲线变成如下的形式,此时可以明显地看出,y的取值仍然趋近于y=0和y=1。

sigmoid函数解析式_phonetic函数

 

有上面的图可以看出,当w=0.1时,sigmoid函数仍然不是一个线性函数,但当x在-6到6之间时,可以近似将其看作是带有斜率的线性函数。因此,在实际应用中,如果x的取值范围始终在-6到6之间,利用sigmoid函数,我们就可以得到一个带有一定斜率的线性输出结果。

 

接下来,我们再来看下面这种极端情况,当w=0.0001时,即使-25<x<25,sigmoid函数曲线仍然看上去是一直线,而且斜率几乎为0.

sigmoid函数解析式_phonetic函数

但如果我们把x的取值范围扩展到-10000到10000,就可以发现,sigmoid函数仍然最终趋近于y=0和y=1。

sigmoid函数解析式_phonetic函数

 

用sigmoid函数近似得到不同斜率的线性函数:

实际应用中,只要x的取值始终在某个特定的范围之内,我们总可以将sigmoid函数近似为,在该范围内成立的不同斜率的线性函数。

举个例子来说,当x的取值范围在-30到30之间时,通过去不同的权值w,即可将sigmoid函数近似为不同斜率的线性函数。

sigmoid函数解析式_phonetic函数

sigmoid函数解析式_phonetic函数

sigmoid函数解析式_phonetic函数

sigmoid函数解析式_phonetic函数

sigmoid函数解析式_phonetic函数

以上这些不同权值下的sigmoid函数都是以x=0为中心对称的,此时可以看作是阈值为0时的函数形式。通过改变阈值,即可得到沿不同阈值中心对称的sigmoid函数。

y = ς(x-t)

其中t表示该节点的阈值。正与前文提到的,与权值一样,阈值也可以通过神经网络学习算法得到。下图中,sigmoid函数关于x=3中心对称。

sigmoid函数解析式_phonetic函数

因此,sigmoid函数的一般形式为

ς(ax+b)

该函数具有如下特性:

 

    当a不为0时, sigmoid函数不是线性函数。其输出结果在0到1之间。

     当a为0时,y=ς(b),为线性常量。通过取不同的b值,即可得到0到1之间的任何常量。

     a可以去任何的正数或者负数,分数或者倍数,b可以为正,也可以为负。

     当a<0时,sigmoid函数曲线如下图所示。此时,当x取极小负值时,可以激活神经元。

sigmoid函数解析式_phonetic函数

 

sigmoid曲线在某点的斜率

 

sigmoid函数的一般形式可以简化为 y = ς(z) 

其中 z = ax+b 

因此,其在某点的斜率,也就是一阶导为
\frac{dy}{dx}=\frac{dy}{dz}\frac{dz}{dx}=y(1-y)a

注意到,y的去取值范围在开区间的0到1之间,

当a>0时,所有点处的斜率都是正的,当y=1/2时,曲线最陡/斜率最大。

当a<0时,所有点处的斜率都是负的,当y=1/2时,曲线最陡/斜率最小(负值)。

    

当a=1,b=0时,sigmoid曲线在某点斜率的极值

其一阶导推导过程如下图所示

sigmoid函数解析式_phonetic函数

由此可以看出,该曲线在某点处的切线斜率为y (1-y) 。通过对斜率再求导可以看出,其斜率在y=1/2处,取得最大值。

\frac{d(y(1-y))}{dy}=y\cdot(-1)+(1-y)\cdot 1 = -y+1-y=1-2y =0 \ for \ y=1/2

 

sigmoid函数解析式_phonetic函数

 

From:http://computing.dcu.ie/~humphrys/Notes/Neural/sigmoid.html

以上内容来自用户【MagicQIT】,仅作格式和词语修改,原文地址:http://blog.csdn.net/magicqit/article/details/42525399

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200722.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号