最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析

 更新時(shí)間:2021年10月11日 16:36:20   作者:Supre_yuan  
最簡單的深度網(wǎng)絡(luò)稱為多層感知機(jī),它們由多層神經(jīng)元組成,每一層都與下面一層(從中接收輸入)和上面一層(反過來影響當(dāng)前層的神經(jīng)元)完全相連

隱藏層

我們在前面描述了仿射變換,它是一個(gè)帶有偏置項(xiàng)的線性變換。首先,回想下之前下圖中所示的softmax回歸的模型結(jié)構(gòu)。該模型通過單個(gè)仿射變換將我們的輸入直接映射到輸出,然后進(jìn)行softmax操作。如果我們的標(biāo)簽通過仿射變換后確實(shí)與我們的輸入數(shù)據(jù)相關(guān),那么這種方法就足夠了。但是,仿射變換中的線性是一個(gè)很強(qiáng)的假設(shè)。

我們的數(shù)據(jù)可能會有一種表示,這種表示會考慮到我們的特征之間的相關(guān)交互作用。在此表示的基礎(chǔ)上建立一個(gè)線性模型可能會是合適的,但我們不知道如何手動計(jì)算這么一種表示。對于深度神經(jīng)網(wǎng)絡(luò),我們使用觀測數(shù)據(jù)來聯(lián)合學(xué)習(xí)隱藏層表示和應(yīng)用于該表示的線性預(yù)測器。

我們可以通過在網(wǎng)絡(luò)中加入一個(gè)或多個(gè)隱藏層來克服線性模型的限制,使其能處理更普遍的函數(shù)關(guān)系類型。要做到這一點(diǎn),最簡單的方法是將許多全連接層堆疊在一起。每一層都輸出到上面的層,直到生成最后的輸出。我們可以把前L−1層看作表示,把最后一層看作線性預(yù)測器。這種架構(gòu)通常稱為多層感知機(jī)(multilayer perceptron),通??s寫為MLP。下面,我們以圖的方式描述了多層感知機(jī)。

在這里插入圖片描述

這個(gè)多層感知機(jī)有4個(gè)輸入,3個(gè)輸出,其隱藏層包含5個(gè)隱藏單元。輸入層不涉及任何計(jì)算,因此使用此網(wǎng)絡(luò)產(chǎn)生輸出只需要實(shí)現(xiàn)隱藏層和輸出層的計(jì)算;因此,這個(gè)多層感知機(jī)的層數(shù)為2。注意,這個(gè)層都是全連接的。每個(gè)輸入都會影響隱藏層中的每個(gè)神經(jīng)元,而隱藏層中的每個(gè)神經(jīng)元又會影響輸出層的每個(gè)神經(jīng)元。

然而,具有全連接層的多層感知機(jī)的參數(shù)開銷可能會高得令人望而卻步,即使在不改變輸入和輸出大小的情況下,也可能促使在參數(shù)節(jié)約和模型有效性之間進(jìn)行權(quán)衡。

從線性到非線性

在這里插入圖片描述

注意,在添加隱藏層之后,模型現(xiàn)在需要跟蹤和更新額外的參數(shù)。
可我們能從中得到什么好處呢?這里我們會驚訝地發(fā)現(xiàn):在上面定義的模型里,我們沒有好處。上面的隱藏單元由輸入的仿射函數(shù)給出,而輸出(softmax操作前)只是隱藏單元的仿射函數(shù)。仿射函數(shù)的仿射函數(shù)本身就是仿射函數(shù)。但是我們之前的線性模型已經(jīng)能夠表示任何仿射函數(shù)。

在這里插入圖片描述

由于 X中的每一行對應(yīng)于小批量中的一個(gè)樣本,處于記號習(xí)慣的考量,我們定義非線性函數(shù) σ也以按行的方式作用于其輸入,即一次計(jì)算一個(gè)樣本。我們在之前以相同的方式使用了softmax符號來表示按行操作。但是在本節(jié)中,我們應(yīng)用于隱藏層的激活函數(shù)通常不僅僅是按行的,而且也是按元素。這意味著在計(jì)算每一層的線性部分之后,我們可以計(jì)算每個(gè)激活值,而不需要查看其他隱藏單元所取的值。對于大多數(shù)激活函數(shù)都是這樣。

在這里插入圖片描述

激活函數(shù)

激活函數(shù)通過計(jì)算加權(quán)和并加上偏置來確定神經(jīng)元是否應(yīng)該被激活。它們是輸入信號轉(zhuǎn)換為輸出的可微運(yùn)算。大多數(shù)激活函數(shù)都是非線性的。由于激活函數(shù)是深度學(xué)習(xí)的基礎(chǔ),下面簡要介紹一些常見的激活函數(shù)。

import torch
from d2l import torch as d2l

ReLU函數(shù)

最受歡迎的選擇是線性整流單元,因?yàn)樗鼘?shí)現(xiàn)簡單,同時(shí)在各種預(yù)測任務(wù)中表現(xiàn)良好。ReLU提供了一種非常簡單的非線性變換。給定元素x ,ReLU函數(shù)被定義為該元素與0的最大值:

在這里插入圖片描述

通俗地說,ReLU函數(shù)通過將相應(yīng)的激活值設(shè)為0來僅保留正元素并丟棄所有負(fù)元素。為了直觀感受下,我們可以畫出函數(shù)的曲線圖。下圖所示,激活函數(shù)是分段線性的。

x = torch.arange(-8, 8, 0.1, requires_grad=True)
y = torch.relu(x)
d2l.plot(x.detach(), y.detach(), 'x', 'relu(x)', figsize=(5, 2.5))

在這里插入圖片描述

注意,當(dāng)輸入值精確等于0時(shí),ReLU函數(shù)不可導(dǎo)。在此時(shí),我們默認(rèn)使用左側(cè)的導(dǎo)數(shù),即當(dāng)輸入為0時(shí)導(dǎo)數(shù)為0。我們可以忽略這種情況,因?yàn)檩斎肟赡苡肋h(yuǎn)都不會是0。這里用上一句古老的諺語,“如果微妙的邊界條件很重要,我們很可能是在研究數(shù)學(xué)而非工程”,這個(gè)觀點(diǎn)正好適用于這里。下面我們繪制ReLU函數(shù)的導(dǎo)數(shù)。

y.backward(torch.ones_ilke(x), retain_graph=True)
d2l.plot(x.detach(), x.grad, 'x', 'grad of relu', figsize=(5, 2.5))

在這里插入圖片描述

使用ReLU的原因是,它求導(dǎo)表現(xiàn)得特別好,要么讓參數(shù)消失,要么讓參數(shù)通過。這使得優(yōu)化表現(xiàn)得更好,并且ReLU減輕了困擾以往神經(jīng)網(wǎng)絡(luò)梯度消失問題。

注意,ReLU函數(shù)有許多變體,包括參數(shù)化ReLU函數(shù)(Parameterized ReLU)。該變體為ReLU添加了一個(gè)線性項(xiàng),因此即使參數(shù)是負(fù)的,某些信息仍然可以通過:

在這里插入圖片描述

sigmoid函數(shù)

在這里插入圖片描述

在最早的神經(jīng)網(wǎng)絡(luò)中,科學(xué)家們感興趣的是對“激發(fā)”或“不激發(fā)”的生物神經(jīng)元進(jìn)行建模。因此,這一領(lǐng)域的先驅(qū),如人工神經(jīng)元的發(fā)明者麥卡洛克和皮茨,從他們開始就專注于閾值單元。閾值單元在其輸入低于某個(gè)閾值時(shí)取值為0,當(dāng)輸入超過閾值時(shí)取1。

當(dāng)人們的注意力逐漸轉(zhuǎn)移到梯度的學(xué)習(xí)時(shí),sigmoid函數(shù)是一個(gè)自然的選擇,因?yàn)樗且粋€(gè)平滑的、可微的閾值單元近似。當(dāng)我們想要將輸出視作二分類問題的概率時(shí),sigmoid仍然被廣泛用作輸出單元上的激活函數(shù)(可以將sigmoid視為softmax的特例)。然而, sigmoid在隱藏層中已經(jīng)較少使用,它在大部分時(shí)候已經(jīng)被更簡單、更容易訓(xùn)練的ReLU所取代。

在這里插入圖片描述

tanh函數(shù)

與sigmoid函數(shù)類似,tanh(雙曲正切)函數(shù)也能將其輸入壓縮轉(zhuǎn)換到區(qū)間(-1,1)上。tanh函數(shù)的公式如下:

在這里插入圖片描述

下面我們繪制tanh函數(shù)。注意,當(dāng)輸入在0附近時(shí),tanh函數(shù)接近線性變換。函數(shù)的形狀類似于sigmoid函數(shù),不同的是tanh函數(shù)關(guān)于坐標(biāo)系原點(diǎn)中心對稱。

在這里插入圖片描述

以上就是Python機(jī)器學(xué)習(xí)多層感知機(jī)原理解析的詳細(xì)內(nèi)容,更多關(guān)于Python機(jī)器學(xué)習(xí)多層感知機(jī)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 用Python制作一個(gè)可以聊天的皮卡丘版桌面寵物

    用Python制作一個(gè)可以聊天的皮卡丘版桌面寵物

    這篇文章主要為大家介紹如何利用Python制作一個(gè)可愛的皮卡丘桌面掛件寵物,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-03-03
  • Python學(xué)習(xí)之異常處理詳解

    Python學(xué)習(xí)之異常處理詳解

    正常情況下,我們的程序是自上而下的逐行執(zhí)行,執(zhí)行到最后一行才會終止程序的執(zhí)行。而異常的情況會導(dǎo)致我們的程序半途而廢停止了執(zhí)行。本文將通過示例詳細(xì)講解Python中的異常處理,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Python如何使用sqlalchemy實(shí)現(xiàn)動態(tài)sql

    Python如何使用sqlalchemy實(shí)現(xiàn)動態(tài)sql

    SQLAlchemy是一個(gè)功能強(qiáng)大的ORM(對象關(guān)系映射)工具,它提供了多種方式來生成SQL查詢,包括動態(tài)SQL,下面我們就來學(xué)習(xí)一下具體的使用方法吧
    2024-12-12
  • PyCharm調(diào)用matplotlib繪圖時(shí)圖像彈出問題詳解

    PyCharm調(diào)用matplotlib繪圖時(shí)圖像彈出問題詳解

    這篇文章主要給大家介紹了關(guān)于PyCharm調(diào)用matplotlib繪圖時(shí)圖像彈出問題的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用PyCharm具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-07-07
  • python使用Pandas庫提升項(xiàng)目的運(yùn)行速度過程詳解

    python使用Pandas庫提升項(xiàng)目的運(yùn)行速度過程詳解

    這篇文章主要介紹了python使用Pandas庫提升項(xiàng)目的運(yùn)行速度過程詳解,這是一篇關(guān)于“如何充分利用Pandas內(nèi)置的強(qiáng)大且易于上手的特性”的指引。此外,你將學(xué)習(xí)到一些實(shí)用的節(jié)省時(shí)間的技巧,需要的朋友可以參考下
    2019-07-07
  • Python中下劃線含義詳解

    Python中下劃線含義詳解

    大家好,本篇文章主要講的是Python中下劃線含義詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • Python?數(shù)據(jù)可視化超詳細(xì)講解折線圖的實(shí)現(xiàn)

    Python?數(shù)據(jù)可視化超詳細(xì)講解折線圖的實(shí)現(xiàn)

    數(shù)據(jù)可以幫助我們描述這個(gè)世界、闡釋自己的想法和展示自己的成果,但如果只有單調(diào)乏味的文本和數(shù)字,我們卻往往能難抓住觀眾的眼球。而很多時(shí)候,一張漂亮的可視化圖表就足以勝過千言萬語,讓我們來用Python實(shí)現(xiàn)一個(gè)可視化的折線圖
    2022-03-03
  • 利用Python生成Excel炫酷圖表

    利用Python生成Excel炫酷圖表

    XlsxWriter是一個(gè)用來寫Excel2007和xlsx文件格式的python模塊。它可以用來寫文本、數(shù)字、公式并支持單元格格式化、圖片、圖表、文檔配置、自動過濾等特性。本文將用這個(gè)模塊生成酷炫的Excel圖表,需要的可以參考一下
    2022-02-02
  • python模塊導(dǎo)入的細(xì)節(jié)詳解

    python模塊導(dǎo)入的細(xì)節(jié)詳解

    這篇文章主要給大家介紹了關(guān)于python模塊導(dǎo)入細(xì)節(jié)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • widows下安裝pycurl并利用pycurl請求https地址的方法

    widows下安裝pycurl并利用pycurl請求https地址的方法

    今天小編就為大家分享一篇widows下安裝pycurl并利用pycurl請求https地址的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10

最新評論

达拉特旗| 枣庄市| 阿巴嘎旗| 西畴县| 泸西县| 河源市| 娱乐| 桑植县| 九寨沟县| 三原县| 琼中| 萍乡市| 洪洞县| 五常市| 措勤县| 盐边县| 敦煌市| 梨树县| 云浮市| 汉沽区| 桐城市| 昌吉市| 沁源县| 洪洞县| 邯郸县| 龙口市| 兰西县| 宁波市| 郑州市| 通州区| 洪湖市| 龙川县| 永胜县| 茂名市| 开封县| 闵行区| 新宾| 盖州市| 大渡口区| 宜君县| 崇阳县|