重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
倒置字符串 将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I
公司主营业务:成都网站制作、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出建昌免费做网站回馈大家。
解题思路:
先将字符串整体逆置,然后再逆置以空格分隔的单词,这样就可以达到我们想要的效果。
例如:
输入:I like beijing.
输出:beijing. like I
前文提到了神经网络中的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
for it in range(5,0,-1):
print it
如果要输出0的话range里的0改成-1