第2關(guān):激活函數(shù)-創(chuàng)新互聯(lián)

任務(wù)描述

本關(guān)任務(wù):通過對激活函數(shù)知識的學(xué)習(xí),使用 Python 編寫指定的激活函數(shù)。

成都創(chuàng)新互聯(lián)公司"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機版的企業(yè)網(wǎng)站。實現(xiàn)跨屏營銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營銷需求!成都創(chuàng)新互聯(lián)公司具備承接各種類型的網(wǎng)站建設(shè)、成都網(wǎng)站制作項目的能力。經(jīng)過十余年的努力的開拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評。相關(guān)知識

為了完成本關(guān)任務(wù),你需要掌握:

  1. 激活函數(shù)概述;
  2. 線性函數(shù);
  3. Sigmoid 函數(shù);
  4. Tanh 函數(shù);
  5. ReLU 函數(shù);
  6. Python 補充知識。
激活函數(shù)概述

神經(jīng)網(wǎng)絡(luò)中的每個神經(jīng)元節(jié)點接受上一層神經(jīng)元的輸出值作為本神經(jīng)元的輸入值,并將輸入值傳遞給下一層,輸入層神經(jīng)元節(jié)點會將輸入屬性值直接傳遞給下一層(隱層或輸出層)。在多層神經(jīng)網(wǎng)絡(luò)中,上層節(jié)點的輸出和下層節(jié)點的輸入之間具有一個函數(shù)關(guān)系,這個函數(shù)稱為激活函數(shù)(又稱激勵函數(shù))。 激活函數(shù)是計算神經(jīng)網(wǎng)絡(luò)中非常重要的一環(huán),激活函數(shù)增加了神經(jīng)網(wǎng)絡(luò)模型的非線性特征,倘若神經(jīng)網(wǎng)絡(luò)中不存在激活函數(shù),那么無論神經(jīng)網(wǎng)絡(luò)的深度有多少層 ,最終均是若干次的矩陣相乘,若輸入輸出依然存在線性關(guān)系,則對于機器學(xué)習(xí)就失去了意義 。

線性函數(shù)

線性函數(shù)十分的簡單,就是我們常見的函數(shù),其數(shù)學(xué)形式如下:

f(x)=a\ast x+b

其中ab均為常數(shù)。

Sigmoid 函數(shù)

Sigmoid 函數(shù)是一個有著優(yōu)美s形曲線的數(shù)學(xué)函數(shù),在邏輯回歸、人工神經(jīng)網(wǎng)絡(luò)中有著廣泛的應(yīng)用。其數(shù)學(xué)形式如下:

f(x)=\frac{1}{1+e^{-x}}

其對應(yīng)的圖像如圖1所示:

圖1 Sigmoid 函數(shù)圖像

優(yōu)點:

  1. Sigmoid 函數(shù)的輸出映射在 (0,1) 之間,單調(diào)連續(xù),輸出范圍有限,優(yōu)化穩(wěn)定。
  2. Sigmoid 函數(shù)求導(dǎo)容易。

缺點:

  1. Sigmoid 函數(shù)由于飽和性,容易產(chǎn)生梯度消失。
  2. Sigmoid 函數(shù)的輸出并不是以 0 為中心。

在使用numpy實現(xiàn) Sigmoid 函數(shù)時,en可以使用numpy.exp(n)函數(shù)實現(xiàn):

  1. import numpy as np
  2. e_10 = np.exp(10) # e^10
Tanh 函數(shù)

Tanh 函數(shù)也叫雙曲正切函數(shù),其數(shù)學(xué)形式如下:

tanh(x)=\frac{1-e^{-2x}}{1+e^{-2x}}

其對應(yīng)的圖像如圖2所示:

圖2 Tanh 函數(shù)圖像

優(yōu)點:

  1. Tanh 函數(shù)比 Sigmoid 函數(shù)收斂的更快。
  2. 與 Sigmoid 函數(shù)相比,Tanh 函數(shù)的輸出以 0 為中心。

缺點: Tanh 函數(shù)依舊存在由于飽和性產(chǎn)生的梯度消失問題。

ReLU 函數(shù)

ReLU 函數(shù)的數(shù)學(xué)形式如下:

y=\begin{cases} 0\quad (x\leq 0)\\\\ x\quad (x>0) \end{cases}

其對應(yīng)的圖像如圖3所示:


圖3 ReLU 函數(shù)圖像

優(yōu)點:

  1. Sigmoid 和 Tanh 函數(shù)涉及了消耗很大的操作(比如指數(shù)),ReLU 可以更加簡單的實現(xiàn)。
  2. ReLU 函數(shù)有效的緩解了梯度消失問題。
  3. ReLU 函數(shù)在沒有無監(jiān)督預(yù)訓(xùn)練的時候也能有較好的表現(xiàn)。

缺點:

隨著訓(xùn)練的進(jìn)行,可能權(quán)重?zé)o法更新的情況。

對于實現(xiàn) ReLU 函數(shù),可以嘗試使用numpy.where(arr,a,b),具體使用可以參考numpy.where()使用方法。

編程要求

根據(jù)提示,在右側(cè)編輯器 Begin-End 區(qū)間補充代碼,完成 Sigmoid 函數(shù)、Tanh 函數(shù)以及 Relu 函數(shù)的編寫,只有三個函數(shù)同時正確時,才能提交成功。

測試說明

平臺會對你編寫的代碼進(jìn)行測試:

測試輸入:無

預(yù)期輸出:

True


開始你的任務(wù)吧,祝你成功!

import numpy as np

class ActivationFunction(object):
    def sigmoid(self,x):
        """
        Sigmoid 函數(shù)
        :param x: 函數(shù)的輸入,類型為list
        :return: y, 函數(shù)的計算結(jié)果
        """
        ########## Begin ##########
        y = 1/(1+np.exp(-x))
        ########## End ##########
        return y

    def tanh(self,x):
        """
        Tanh 函數(shù)
        :param x: 函數(shù)的輸入,類型為list
        :return: y, 函數(shù)的計算結(jié)果
        """
        ########## Begin ##########
        y = (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))
        ########## End ##########
        return y

    def ReLU(self,x):
        """
        ReLU 函數(shù)
        :param x: 函數(shù)的輸入,類型為list
        :return: y, 函數(shù)的計算結(jié)果
        """
        ########## Begin ##########
        y = np.where(x>0,x,0)
        ########## End ##########
        return y

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站題目:第2關(guān):激活函數(shù)-創(chuàng)新互聯(lián)
標(biāo)題來源:http://muchs.cn/article30/djhiso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站軟件開發(fā)、外貿(mào)建站、Google動態(tài)網(wǎng)站、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)