溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中如何使用matplotlib模塊

發(fā)布時(shí)間:2021-07-14 16:27:27 來源:億速云 閱讀:262 作者:Leah 欄目:編程語言

這篇文章給大家介紹python中如何使用matplotlib模塊,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

  常見的激活函數(shù)效果圖如下:

  代碼區(qū):

  #!E:\anaconda\python.exe

  # -*-coding:utf-8 -*-

  """

  功能:繪制激活函數(shù) 常見的激活函數(shù)有sigmoid、tanh、ReLU、eru、leaky ReLU、softmax

  時(shí)間:2019/10/6

  """

  from matplotlib import pyplot as plt

  import numpy as np

  # 1.sigmoid函數(shù)的表達(dá)式:f(x) = 1/(1+e^-x)

  x = np.linspace(-6,6,200)

  def sigmoid(x):

  y = 1/(1+np.exp(-x))

  return y

  # 2.tanh的函數(shù)表達(dá)式: f(x) = (e^x-e^-x)/(e^x+e-x)

  def tanh(x):

  y = (np.exp(x) - np.exp(-x))/(np.exp(x) + np.exp(-x))

  return y

  #3. ReLu 的函數(shù)表達(dá)式: f(x)= 當(dāng)x<0 f(x)0 當(dāng)x>=0 f(x) = x

  def ReLU(x):

  y = []

  for i in x:

  if i >= 0:

  y.append(i)

  else:

  y.append(0)

  return y

  #return np.maximum(x,[0]*100) #可以利用np中的maximum方法表示,也可以用上述方法

  #4.elu 的函數(shù)表達(dá)式 f(x) x>=0 f(x)=x x<0 f(x) =a(e^x -1)

  def elu(x,a):

  y = []

  for i in x:

  if i>=0:

  y.append(i)

  else:

  y.append(a*(np.exp(i)-1))

  return y

  #5.leaky ReLU 的函數(shù)表達(dá)式 x>=0 f(x)=x x<0 f(x) =0.01x

  def LReLU(x):

  y = []

  for i in x:

  if i>=0:

  y.append(i)

  else:

  y.append(0.01*i)

  return y

  # softmax激活函數(shù) softmax的表達(dá)式為:輸入信號(hào)的指數(shù)函數(shù)除以所有輸入信號(hào)的指數(shù)和

  def softmax(x):

  c = np.max(x) #解決溢出問題

  exe_x = np.exp(x)

  exe_s = np.sum(exe_x)

  y = exe_x/exe_s

  return y

  plt.subplot(1,2,1) #畫子圖

  plt.plot(x,sigmoid(x),c="red",lw="2",label = "sigmiod")

  plt.plot(x,tanh(x),c="blue",lw="2",label = "tanh")

  plt.plot(x,softmax(x),c="yellow",lw="2",label = "softmax")

  plt.gca().spines["bottom"].set_position(("data",0)) #將函數(shù)圖像移動(dòng)到x軸(0,0)

  plt.gca().spines["left"].set_position(("data",0)) #將函數(shù)圖形移動(dòng)到y(tǒng)軸(0,0)

  plt.xlabel("x軸",fontproperties="SimHei")

  plt.ylabel("y軸",fontproperties="SimHei")

  plt.title("激活函數(shù)",fontproperties="SimHei")

  plt.legend(loc="best")

  plt.subplot(1,2,2)

  plt.plot(x,ReLU(x),c="blue",lw="2",label="ReLU")

  plt.plot(x,elu(x,0.1),c="yellow",lw="2",label="elu")

  plt.plot(x,LReLU(x),c="green",lw="2",label="LReLU")

  plt.gca().spines["bottom"].set_position(("data",0))

  plt.gca().spines["left"].set_position(("data",0))

  plt.xlabel("x軸",fontproperties="SimHei")

  plt.ylabel("y軸",fontproperties="SimHei")

  plt.title("激活函數(shù)",fontproperties="SimHei")

  plt.legend(loc="best")

  plt.show()

  **

  sigmoid激活函數(shù):

  **

  優(yōu)點(diǎn):1.輸出[0,1]之間,利用前向傳播

  2.連續(xù)函數(shù),方便求導(dǎo)

  缺點(diǎn):1.容易產(chǎn)生梯度消失。一般5層以內(nèi)就會(huì)產(chǎn)生梯度消失的現(xiàn)象。

  2.輸出不是以零為中心

  3.大量運(yùn)算時(shí)相當(dāng)耗時(shí)(由于是冪函數(shù))

  **

  tanh激活函數(shù):

  **

  優(yōu)點(diǎn):1.輸出[-1,1]之間,利用前向傳播

  2.連續(xù)函數(shù),方便求導(dǎo)

  3.輸出以零為中心

  缺點(diǎn):1.容易產(chǎn)生梯度消失。一般5層以內(nèi)就會(huì)產(chǎn)生梯度消失的現(xiàn)象。

  2.大量數(shù)據(jù)運(yùn)算時(shí)相當(dāng)耗時(shí)(由于是冪函數(shù))

  **

  ReLU激活函數(shù):

  **

  優(yōu)點(diǎn):1.解決了正區(qū)間梯度消失問題

  2.易于計(jì)算

  3.收斂速度快

  缺點(diǎn):1.輸出不是以零為中心

  2.某些神經(jīng)元不能被激活,導(dǎo)致參數(shù)永遠(yuǎn)不能更新

  **無錫人流醫(yī)院哪家好 http://www.bhnnkyy120.com/

  Leaky ReLU激活函數(shù):

  **

  優(yōu)點(diǎn):

  1.解決了正區(qū)間梯度消失問題

  2.易于計(jì)算

  3.收斂速度快

  4.解決了某些神經(jīng)元不能被激活

  缺點(diǎn):輸出不是以零為中心

  **

  elu激活函數(shù):

  **

  優(yōu)點(diǎn):

  1.解決了正區(qū)間梯度消失問題

  2.易于計(jì)算

  3.收斂速度快

  4.解決了某些神經(jīng)元不能被激活

  5.輸出的均值為0

  缺點(diǎn):輸出不是以零為中心

  softmax激活函數(shù):

  **

  一般用在分類的輸出層作為激活函數(shù)

  優(yōu)點(diǎn):

  1.輸出在[0,1]之間,可以當(dāng)初概率

  缺點(diǎn):

  在實(shí)際問題中,由于冪運(yùn)算需要時(shí)間,而且softmax不會(huì)影響各元素的大小,因此輸出層的softmax激活函數(shù)一般被省略。

關(guān)于python中如何使用matplotlib模塊就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI