
正文
python中倒置函数 python1234倒置
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Sigmoid函数的求导证明
前文提到了神经网络中的Sigmoid函数,实际上在反向传播中还会用到Sigmoid的导数,形式很简单: s(x)*(1-s(x)),但是我想把这个过程自己推导一次,顺便复习一下导数和微分。
Derivative(导数)和Differential(微分)
首先我画了一张图来说明什么是导数和微分,本质上就是在极限中以线性函数(直线)来表示非线性函数(曲线)。
红色的线是第一条割线(从[x,f(x)]到[x+h, f(x+h)]),(f(x+h) - f(x))/h 就是割线的斜率,物理学上是一段时间内的平均速度。
灰色的线是第二条割线,当割线围绕着[x, f(x)]为原点继续顺时针转动时,h会不断变小,小到极限就变成了[x, f(x)]的切线。
蓝色的线即这条切线,其斜率就是[x,f(x)]的 导数 ,物理意义是当前这一个点的瞬间速度。
当h小到极限的时候dy(导数除以h)就是[x,f(x)]的微分。
割线斜率减去切线斜率即为误差函数E(h)
Reciprocal Rule(倒数法则)
根据微积分中的倒数法则,如果g(x) = 1/f(x), 则有
这个简单公式也非常容易证明
再将极限表达式分拆一下
因为f在x点的连续性第二个极限表达式的分母等于f(x)的平方
现在利用倒数法则把Sigmoid函数的导数推导一下,这次我们记Sigmoid函数为s(x),它的倒置函数为f(x)
根据倒数法则从f(x)开始推导得出公式S1
Chain Rule(链式法则)
根据链式法则我们可以有关于幂指求导的推广
即
于是可以得出f(x)导数的另一种表达式S2
最后我们把S2和S1放到一起来消元就可以得到Sigmoid的导数公式了
用Python来实现如下逻辑:
References:
1. Differential on wiki
2. Chain rule on wiki
3. Derivatives of logarithmic and exponential functions
4. MIT open course - Multivariable Calculus
5. Mathematics Stack Exchange
相关问答
Q1: Python中的常用内置函数有哪些呢?
(1)Lambda函数
用于创建匿名函数,即没有名称的函数。它只是一个表达式,函数体比def简单很多。当我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数了。
Lamdba的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
利用Lamdba函数,往往可以将代码简化许多。
(2)Map函数
会将一个函数映射到一个输入列表的所有元素上,比如我们先创建了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素。
我们还可以使用匿名函数lamdba来配合map函数,这样可以更加精简。
(3)Reduce函数
当需要对一个列表进行一些计算并返回结果时,reduce()是个非常有用的函数。举个例子,当需要计算一个整数列表所有元素的乘积时,即可使用reduce函数实现。
它与函数的最大的区别就是,reduce()里的映射函数(function)接收两个参数,而map接收一个参数。
(4)enumerate函数
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。
它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号。
(5)Zip函数
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
当我们使用zip()函数时,如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
Q2: len函数python用法
python中len()的用法:
新建一个len()函数的使用py,中文编码声明注释:#coding=gbk,函数:len()作用:返回字符串、列表、字典、元组等长度。语法:len(str)。参数:str:要计算的字符串、列表、字典、元组等。返回值:字符串、列表、字典、元组等元素的长度。
实例:
1、计算字符串的长度。
2、计算列表的元素个数。
3、计算字典的总长度,即键值对总数。
4、计算元组元素个数。
在Python中,要知道一个字符串有多少个字符,以获得字符串的长度,或者一个字符串需要多少字节,可以使用len函数。
Q3: Python中几个特殊的函数
1、 定义一个特殊python中倒置函数的 __slots__ 变量python中倒置函数,来限制该class实例能添加的属性
2、 内置的 @property(关键字) 装饰器就是负责把一个方法变成属性调用的。@property.setter(这里的property是类里面的属性名)负责把一个setter方法变成属性赋值。
3、 __str__(),__repr__(),__iter__(),__next__(),__getitem__(),__setitem__(),__delitem__(),__getattr__(),__call__()
Q4: python中range函数怎么倒着取值 比如range1,5
for it in range(5,0,-1):
print it
如果要输出0的话range里的0改成-1
python中倒置函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python1234倒置、python中倒置函数的信息别忘了在本站进行查找喔。






