精华内容
下载资源
问答
  • 激活函数(4)tanh函数

    千次阅读 2019-06-12 20:24:13
    tanh函数 双曲正切激活函数,函数解析式: tanh函数及其导数的几何图像如下图: tanh读作Hyperbolic Tangent,它解决了Sigmoid函数的不是zero-centered输出问题,然而,梯度消失(gra...

    tanh函数

    双曲正切激活函数,函数解析式:

                                                                                   

    tanh函数及其导数的几何图像如下图:

    tanh(x)及其导数的几何图像 

    tanh读作Hyperbolic Tangent,它解决了Sigmoid函数的不是zero-centered输出问题,然而,梯度消失(gradient vanishing)的问题和幂运算的问题仍然存在。 

    展开全文
  • tanh函数求导激活函数 C ++ tanh()函数 (C++ tanh() function) tanh() function is a library function of cmath header, it is used to find the hyperbolic tangent of the given value (hyperbolic angle), it ...

    tanh函数求导激活函数

    C ++ tanh()函数 (C++ tanh() function)

    tanh() function is a library function of cmath header, it is used to find the hyperbolic tangent of the given value (hyperbolic angle), it accepts a number (x) and returns the hyperbolic tangent of x.

    的tanh()函数CMATH报头的库函数,它被用于查找给定值(双曲角)的双曲正切,它接受一个数字(x)和返回x的双曲正切。

    Syntax of tanh() function:

    tanh()函数的语法:

        tanh(x);
    
    

    Parameter(s): x – is the number (hyperbolic angel) to be used to calculate the hyperbolic tangent.

    参数: x –是用于计算双曲正切值的数字(双曲天使)。

    Return value: double – it returns double type value that is the hyperbolic tangent of hyperbolic angle x.

    返回值: double-返回double类型的值,它是双曲线角度x的双曲正切值。

    Example:

    例:

        Input:
        float x = 2.45;
        
        Function call:
        tanh(x);    
        
        Output:
        0.985217
    
    

    C ++代码演示tanh()函数的示例 (C++ code to demonstrate the example of tanh() function)

    // C++ code to demonstrate the example of 
    // tanh() function
    
    #include <iostream>
    #include <cmath>
    using namespace std;
    
    // main() section
    int main()
    {
        float x;
        
        x = -10.23;
        cout<<"tanh("<<x<<"): "<<tanh(x)<<endl;
    
        x = 0;
        cout<<"tanh("<<x<<"): "<<tanh(x)<<endl;    
    
        x = 2.45;
        cout<<"tanh("<<x<<"): "<<tanh(x)<<endl;    
        
        return 0;
    }
    
    

    Output

    输出量

    tanh(-10.23): -1
    tanh(0): 0
    tanh(2.45): 0.985217
    
    

    Reference: C++ tanh() function

    参考: C ++ tanh()函数

    翻译自: https://www.includehelp.com/cpp-tutorial/tanh-function-with-example.aspx

    tanh函数求导激活函数

    展开全文
  • tanh函数形状与sigmoid函数相似,从表达式和图形都可以看出,不同点是tanh函数的导函数的极值为1,对于解决梯度消失问题更有帮助,因此,它常被用做神经网络隐藏层的激活函数。需要注意的是,神经网络模型是通过加入...

    1388961ca584b39f4f082175d2164f8b.png

    tanh函数形状与sigmoid函数相似,从表达式和图形都可以看出,不同点是tanh函数的导函数的极值为1,对于解决梯度消失问题更有帮助,因此,它常被用做神经网络隐藏层的激活函数。

    需要注意的是,神经网络模型是通过加入带有非线性激活函数的隐藏层而成为非线性模型的。

    表达式:

    c0301fc59bd06c1874bfee35bf09c105.png

    水平方向压缩,垂直方向扩展。

    导数:

    1f8ecae26a9cbee133060a176fe036b0.png

    特点:与sigmoid函数形式相似,但梯度不容易消失

    应用:作为MLP隐藏层的激活函数

    图形

    5f23151139e4f628a4d92bce93af6e4a.png

    代码

    import theano
    import theano.tensor as T
    import numpy as np
    
    from matplotlib import pyplot as plt
    
    x = T.dvector('x')
    y_tanh = T.tanh(x)
    y_sigmoid = T.nnet.sigmoid(x)
    
    J_sigmoid, updates = theano.scan(lambda i, y, x : T.grad(y[i], x), 
                                     sequences=T.arange(y_sigmoid.shape[0]), 
                                     non_sequences=[y_sigmoid, x])
    f_sigmoid = theano.function([x], [y_sigmoid, T.sum(J_sigmoid,axis=1)], updates=updates)
    
    
    J_tanh, updates = theano.scan(lambda i, y, x : T.grad(y[i], x), 
                                     sequences=T.arange(y_tanh.shape[0]), 
                                     non_sequences=[y_tanh, x])
    f_tanh = theano.function([x], [y_tanh, T.sum(J_tanh,axis=1)], updates=updates)
    
    x_data = np.arange(-10, 10, 0.01)
    y_sigmoid_data, y_sigmoid_differential_data = f_sigmoid(x_data)
    y_tanh_data, y_tanh_differential_data = f_tanh(x_data)
    
    plt.figure(figsize=(6, 6.5))
    ax = plt.subplot(2,1,1)
    plt.plot(x_data, y_sigmoid_data, label='sigmoid')
    plt.plot(x_data, y_tanh_data, label='tanh')
    plt.axhline(y=0,ls=":",c="grey")#添加水平直线
    plt.axvline(x=0,ls=":",c="grey")#添加垂直直线
    ax.set_title('sigmoid and tanh')
    ax.legend()
    
    ax = plt.subplot(2,1,2)
    plt.plot(x_data, y_sigmoid_differential_data, label='sigmoid')
    plt.plot(x_data, y_tanh_differential_data, label='tanh')
    ax.set_title('simoid and tanh differential')
    plt.axhline(y=0.25,ls=":",c="grey")#添加水平直线
    plt.axvline(x=0,ls=":",c="grey")#添加垂直直线
    ax.legend()
    plt.show()
    展开全文
  • python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数 python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数 # -*- coding:utf-8 -*- from matplotlib import pyplot as plt ...

    python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数

    python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数

    
    # -*- coding:utf-8 -*-
    from matplotlib import pyplot as plt
    import numpy as np
    import mpl_toolkits.axisartist as axisartist
     
     
    def sigmoid(x):
        return 1. / (1 + np.exp(-x))
     
     
    def tanh(x):
        return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))
     
     
    def relu(x):
        return np.where(x&lt;0,0,x)
     
     
    def prelu(x):
        return np.where(x&lt;0,0.5*x,x)
     
    def plot_sigmoid():
        x = np.arange(-10, 10, 0.1)
        y = sigmoid(x)
        fig = plt.figure()
        # ax = fig.add_subplot(111)
        ax = axisartist.Subplot(fig,111)
        ax.spines['top'].set_color('none')
        ax.spines['right'].set_color('none')
        # ax.spines['bottom'].set_color('none')
        # ax.spines['left'].set_color('none')
        ax.axis['bottom'].set_axisline_style("-|&gt;",size=1.5)
        ax.spines['left'].set_position(('data', 0))
        ax.plot(x, y)
        plt.xlim([-10.05, 10.05])
        plt.ylim([-0.02, 1.02])
        plt.tight_layout()
        plt.savefig("sigmoid.png")
        plt.show()
     
     
    def plot_tanh():
        x = np.arange(-10, 10, 0.1)
        y = tanh(x)
        fig = plt.figure()
        ax = fig.add_subplot(111)
        ax.spines['top'].set_color('none')
        ax.spines['right'].set_color('none')
        # ax.spines['bottom'].set_color('none')
        # ax.spines['left'].set_color('none')
        ax.spines['left'].set_position(('data', 0))
        ax.spines['bottom'].set_position(('data', 0))
        ax.plot(x, y)
        plt.xlim([-10.05, 10.05])
        plt.ylim([-1.02, 1.02])
        ax.set_yticks([-1.0, -0.5, 0.5, 1.0])
        ax.set_xticks([-10, -5, 5, 10])
        plt.tight_layout()
        plt.savefig("tanh.png")
        plt.show()
     
     
    def plot_relu():
        x = np.arange(-10, 10, 0.1)
        y = relu(x)
        fig = plt.figure()
        ax = fig.add_subplot(111)
        ax.spines['top'].set_color('none')
        ax.spines['right'].set_color('none')
        # ax.spines['bottom'].set_color('none')
        # ax.spines['left'].set_color('none')
        ax.spines['left'].set_position(('data', 0))
        ax.plot(x, y)
        plt.xlim([-10.05, 10.05])
        plt.ylim([0, 10.02])
        ax.set_yticks([2, 4, 6, 8, 10])
        plt.tight_layout()
        plt.savefig("relu.png")
        plt.show()
     
     
    def plot_prelu():
        x = np.arange(-10, 10, 0.1)
        y = prelu(x)
        fig = plt.figure()
        ax = fig.add_subplot(111)
        ax.spines['top'].set_color('none')
        ax.spines['right'].set_color('none')
        # ax.spines['bottom'].set_color('none')
        # ax.spines['left'].set_color('none')
        ax.spines['left'].set_position(('data', 0))
        ax.spines['bottom'].set_position(('data', 0))
        ax.plot(x, y)
        plt.xticks([])
        plt.yticks([])
        plt.tight_layout()
        plt.savefig("prelu.png")
        plt.show()
     
     
    if __name__ == "__main__":
        plot_sigmoid()
        plot_tanh()
        plot_relu()
        plot_prelu()
    
    posted @ 2018-12-28 12:20 栖息地 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • 推广的Tanh函数方法与形式分离变量法,杨宗杭,,本文分别运用推广的Tanh函数方法与形式分离变量方法求解(2+1)维KdV方程,深入地分析了这两种方法主要思想和优点,并且尝试将推广�
  • sigmoid函数,tanh函数,relu函数,leaky_relu函数原理与实现 import numpy as np import pandas as pd import matplotlib.pyplot as plt def sigmoid(x): return np.exp(x)/sum(np.exp(x)) def tanh(x): return...
  • sigmod函数tanh函数ReLU函数

    万次阅读 2016-10-30 21:43:44
    一. sigmod(x)函数sigmod函数的数学公式为: Θ(x)=11+e−x \Theta(x)=\frac {1}{1+... tanh(x) 函数tanh(x)函数的数学公式为:tanh(x)=sinh(x)cosh(x)tanh(x) = \frac{sinh(x)}{cosh(x)} 函数取值范围(-1,1),函数图像
  • sigmoid函数和tanh函数都是激活函数,接收一个输入,产生一个输出。这里的求导是对激活函数求导。而softmax函数是一个多输入多输出的函数,这里提到的求导是对经过softmax函数后进行交叉熵计算得到的损失函数求导。 ...
  • tanh函数=(e^z-e^(-z))/(e^z+e^(-z)); 一般来说tanh函数都比sigmod更优越,除非输出层为二元分类。 tanh函数平均值接近0,范围(-1,1); 而sigmod函数接近0.5,范围(0,1)。 转载于:...
  • Sigmoid 函数Tanh 函数的区别

    千次阅读 2017-04-02 20:01:52
    Sigmoid 函数Tanh 函数的区别。 图形用Mac 下Grapher软件来画出:
  • 使用Matlab绘制Sigmod函数和Tanh函数

    千次阅读 2017-04-10 14:39:14
    使用Matlab绘制Sigmod函数和Tanh函数 Sigmod函数: x = linspace(-10.0,10.0); y = 1./ (1.0 + exp(-1.0*x)); plot(x,y) Tanh函数 x = linspace(-10.0,10.0); y = 2./(1.0 + exp(-2.0 * x)) - 1; plot(x...
  • python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数 # -*- coding:utf-8 -*- from matplotlib import pyplot as plt import numpy as np import mpl_toolkits.axisartist as axisartist def ...
  • python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数# -*- coding:utf-8 -*-from matplotlib import pyplot as pltimport numpy as npimport mpl_toolkits.axisartist as axisartistdef sigmoid(x):return...
  • 激活函数实现--3 Tanh函数实现

    万次阅读 2014-07-18 20:20:11
    1.TANH函数的定义 2. TANH函数的导数   3.TANH函数的实现 Tanh主要是通过类Tanh来实现的,该类继承自AbstrcactActivation类,主要实现Activating接口和Derivating接口。 Tanh类的定义...
  • 人工神经网络之激活函数 -tanh函数

    千次阅读 2017-07-05 22:19:13
    tanh函数 tanh(x)=e2x−1e2x+1tanh′(x)=1−tanh(x)2 证明 ∂tanh(x)∂x=(1−2e2x+1)′=2⋅2e2x(e2x+1)2=4e2x(e2x+1)2=(e2x+1)2−(e2x−1)2(e2x+1)2=1−(e2x−1e2x+1)2=1−tanh(x)2(10)(11)(12)(13)(14)(15) ...
  • python实现并绘制 sigmoid函数,tanh函数,ReLU函数,PReLU函数# -*- coding:utf-8 -*-from matplotlib import pyplot as pltimport numpy as npimport mpl_toolkits.axisartist as axisartistdef sigmoid(x):return...
  • @[relu,sigmoid,tanh函数图像(python) ​#工具包 import math import matplotlib.pyplot as plt import numpy as np import matplotlib as mpl mpl.rcParams['axes.unicode_minus']=False #定义sigmoid函数 def...
  • Tanh函数代码实现

    2020-10-19 20:38:41
    Tanh是双曲函数中的一个,Tanh()为双曲正切。在数学中,双曲正切“Tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。公式如下: import numpy as np import matplotlib.pyplot as plt def tanh(x): return...
  • sigmoid函数 数学表达式: f(z)=1/(1+e**-z) Sigmoid 函数的输出范围是 0 到 1。由于输出值限定在 0 到 1,因此它对每个神经元的输出进行了归一化; 用于将预测概率作为输出的模型。由于概率的取值范围是 0 到 1,...
  • 第二,输入以下代码,绘制双曲正切函数tanh、双曲余切函数coth的图像。close all; clear all; clcx = -pi:0.5:pi;y_tanh = tanh(x); % 双曲正切函数y_coth = coth(x); % 双曲余切函数figure(1);plot(x,y_tanh,'r-','...
  • (matlab实现)sigmoid函数和tanh函数以及ReLU函数

    万次阅读 多人点赞 2017-08-06 20:09:35
    1. logsig函数即是logistic Regression(逻辑回归)中的sigmoid函数。 logsig函数表达式为: matlab实现: figure('NumberTitle', 'off', 'Name', 'Sigmoid函数'); x=-10:0.1:10; y= 1 ./ (1 + exp(-x)); plot...
  • 1. sigmod核函数  ...tanh(x)函数的数学公式为:  函数取值范围(-1,1),函数图像下图所示:   三. ReLU(校正线性单元:Rectified Linear Unit)激活函数 ReLU函数公式为 :    图像为: 
  •  $tanh$是双曲函数中的一个,$tanh()$为双曲正切。在数学中,双曲正切“$tanh$”是由基本双曲函数双曲正弦和双曲余弦推导而来。 $$tanhx=\frac{sinhx}{coshx}=\frac{e^x-e^{-x}}{e^x+e^{-x}}$$  其曲线如下图所...
  • import numpy as np import matplotlib.pyplot as plt def sigmoid(x): return 1. / (1 + np.exp(-x)) def tanh(x): return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x)) def relu(x): retur...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,364
精华内容 945
关键字:

tanh函数