0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

算法的算法-人工神經(jīng)網(wǎng)絡(luò)

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-10-30 18:21 ? 次閱讀

在上周的人工神經(jīng)網(wǎng)絡(luò)課程中介紹了機(jī)器學(xué)習(xí)中的支持向量機(jī)(SVM:Support Vector Machine)與前饋網(wǎng)絡(luò) RBF 的之間的聯(lián)系,而對(duì)于由傳遞函數(shù)為線性函數(shù)組成的單層網(wǎng)絡(luò)的代表自適應(yīng)線性單元(ADLINE:Adaptive Linear Element)更是和傳統(tǒng)信號(hào)處理中的自適應(yīng)濾波器相類似。

這些都會(huì)讓我們看到神經(jīng)網(wǎng)絡(luò)算法似乎能夠與很多其他學(xué)科算法搭起聯(lián)系。下面由 Matthew P. Burruss 的博文中《 Every Machine Learning Algorithm Can Be Represented as a Neural Network》 更是將這個(gè)觀點(diǎn)進(jìn)行了詳細(xì)的梳理。

Every Machine Learning Algorithm Can Be Represented as a Neural Network》:
https://mc.ai/every-machine-learning-algorithm-can-be-represented-as-a-neural-network-2/#:~:text=Every%20Machine%20Learning%20Algorithm%20Can%20Be%20Represented%20as,cumulated%20with%20the%20creation%20of%20the%20neural%20network.

從 1950 年代的早期研究開始,機(jī)器學(xué)習(xí)的所有工作似乎都隨著神經(jīng)網(wǎng)絡(luò)的創(chuàng)建而匯聚起來。從 Logistic 回歸到支持向量機(jī),算法層出不窮,毫不夸張的說,神經(jīng)網(wǎng)絡(luò)成為算法的算法,為機(jī)器學(xué)習(xí)的頂峰。它也從最初不斷嘗試中成為機(jī)器學(xué)習(xí)的通用表達(dá)形式。

在這個(gè)意義上,它不僅僅簡單的是一個(gè)算法,而是一個(gè)框架和理念,這也為構(gòu)建神經(jīng)網(wǎng)絡(luò)提供了更加廣泛的自由空間:比如它包括不同的隱層數(shù)量和節(jié)點(diǎn)數(shù)量、各種形式的激活(傳遞)函數(shù)、優(yōu)化工具、損失函數(shù)、網(wǎng)絡(luò)類型(卷積、遞歸等)以及一些專用處理層(各種批處理模式、網(wǎng)絡(luò)參數(shù)隨機(jī)丟棄:Dropout 等)。

由此,可以將神經(jīng)網(wǎng)絡(luò)從一個(gè)固定算法展拓到一個(gè)通用觀念,并得到如下有趣的推文:任何機(jī)器學(xué)習(xí)算法,無論是決策樹還是 k 近鄰,都可以使用神經(jīng)網(wǎng)絡(luò)來表示。

這個(gè)概念可以通過下面的一些舉例得到驗(yàn)證,同樣也可以使用數(shù)據(jù)進(jìn)行嚴(yán)格的證明。

1. 回歸

首先讓我們定義什么是神經(jīng)網(wǎng)絡(luò):它是一個(gè)由輸入層,隱藏層和輸出層組成的體系結(jié)構(gòu),每一層的節(jié)點(diǎn)之間都有連接。信息從輸入層輸入到網(wǎng)絡(luò),然后逐層通過隱層傳遞到輸出層。在層之間傳遞過程中,數(shù)據(jù)通過線性變換(權(quán)重和偏差)和非線性函數(shù)(激勵(lì)函數(shù))變換。存在很多算法來對(duì)網(wǎng)絡(luò)中可變參數(shù)進(jìn)行訓(xùn)練。

Logistic 回歸簡單定義為標(biāo)準(zhǔn)回歸,每個(gè)輸入均具有乘法系數(shù),并添加了附加偏移量(截距),然后經(jīng)過 Signmoid 型函數(shù)傳遞。這可以通過沒有隱藏層的神經(jīng)網(wǎng)絡(luò)來表示, 結(jié)果是通過 Sigmoid 形式的輸出神經(jīng)元的多元回歸。

通過將輸出神經(jīng)元激活函數(shù)替換為線性激活函數(shù)(可以簡單地映射輸出,換句話說,它什么都不做),就形成線性回歸。

2. 支持向量機(jī)

支持向量機(jī)(SVM)算法嘗試通過所謂的"核函數(shù)技術(shù)"將數(shù)據(jù)投影到新的高維空間中,從而提高數(shù)據(jù)的線性可分離性。轉(zhuǎn)換完數(shù)據(jù)后,算法可在高位空間獲得兩類之間最優(yōu)的分類超平面。超平面被簡單地定義為數(shù)據(jù)維度的線性組合,非常像 2 維空間中的直線和 3 維空間中的平面。

從這個(gè)意義上講,人們可以將 SVM 算法看作是數(shù)據(jù)到新空間的投影,然后是 多重回歸。神經(jīng)網(wǎng)絡(luò)的輸出可以通過某種有界輸出函數(shù)傳遞,以實(shí)現(xiàn)概率結(jié)果。

當(dāng)然,可能需要實(shí)施一些限制,例如限制節(jié)點(diǎn)之間的連接并固定某些參數(shù),這些更改當(dāng)然不會(huì)脫離"神經(jīng)網(wǎng)絡(luò)"標(biāo)簽的完整性。也許需要添加更多的層,以確保支持向量機(jī)的這種表現(xiàn)能夠達(dá)到與實(shí)際交易一樣的效果。

3. 決策樹

諸如決策樹算法之類的基于樹的算法有些棘手。關(guān)于如何構(gòu)建這種神經(jīng)網(wǎng)絡(luò)的答案在于分析它如何劃分其特征空間。當(dāng)訓(xùn)練點(diǎn)遍歷一系列拆分節(jié)點(diǎn)時(shí),特征空間將拆分為多個(gè)超立方體。在二維示例中,垂直線和水平線創(chuàng)建了正方形。

因此,可以通過更嚴(yán)格的激活來模擬沿特征線分割特征空間的類似方式,例如階躍函數(shù),其中輸入是一個(gè)值或另一個(gè)值 - 本質(zhì)上是分隔線。權(quán)重和偏差可能需要實(shí)施值限制,因此僅用于通過拉伸,收縮和定位來定向分隔線。為了獲得概率結(jié)果,可以通過激活函數(shù)傳遞結(jié)果。

盡管算法的神經(jīng)網(wǎng)絡(luò)表示與實(shí)際算法之間存在許多技術(shù)差異,但重點(diǎn)是網(wǎng)絡(luò)表達(dá)的思想相同,并且可以與實(shí)際算法相同的策略和性能來解決問題。

也許您不滿意將算法簡單地轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)形式,也許希望看到通用過程可以將所有棘手的算法都進(jìn)行這種轉(zhuǎn)換,例如 k 近鄰算法或樸素貝葉斯算法等,而不是針對(duì)每個(gè)算法都手工進(jìn)行轉(zhuǎn)換。

這種同樣算法轉(zhuǎn)換的答案就在于通用函數(shù)逼近定理,這也是在大量神經(jīng)網(wǎng)絡(luò)工作原理背后的支撐數(shù)學(xué)原理。它的主要含義是:足夠大的神經(jīng)網(wǎng)絡(luò)可以以任意精度對(duì)任何函數(shù)建模。

假設(shè)有一些函數(shù)代表數(shù)據(jù)背后的規(guī)律:對(duì)于每個(gè)數(shù)據(jù)點(diǎn),始終返回等于或非常接近 的值。

建模的目的是找到該內(nèi)部映射關(guān)系一個(gè)有效表示,我們將其記為預(yù)測函數(shù)。所有機(jī)器學(xué)習(xí)算法對(duì)這個(gè)任務(wù)的處理方式都大不相同,采用不同用于驗(yàn)證結(jié)果有效的假設(shè)條件,并給出具體算法來獲得最優(yōu)結(jié)果。這些獲得優(yōu)化結(jié)果 p(x)的算法,可說從在這些假設(shè)條件限制下,利用純粹的數(shù)學(xué)推導(dǎo)獲得。描述函數(shù)如何將目標(biāo)映射到輸入的函數(shù)實(shí)際上可以采用任何形式。

有的時(shí)候通過數(shù)學(xué)推導(dǎo)可以對(duì)表達(dá)式進(jìn)行求解。但面對(duì)大量待定函數(shù)參數(shù),往往需要通過不停的試湊來搜索。但是,神經(jīng)網(wǎng)絡(luò)在尋找的方式上有些不同。

任何函數(shù)都可以由許多類似階梯的部分合理地逼近,劃分的區(qū)間步數(shù)越多,逼近的精度就越高。

每一個(gè)區(qū)間都對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)中的一些節(jié)點(diǎn),即隱層中具有 S 型激活函數(shù)的節(jié)點(diǎn)。激活函數(shù)本質(zhì)上是概率階躍函數(shù)。實(shí)際上每個(gè)節(jié)點(diǎn)都代表函數(shù) 的一個(gè)局部。然后,通過系統(tǒng)中的權(quán)重和偏差,網(wǎng)絡(luò)為特定輸入來激活不同的神經(jīng)元,使其輸出為 1),否則輸出 0。于是便可以將不同函數(shù)的局部最后合并成整個(gè)函數(shù)。

這種處理模式不僅對(duì)應(yīng)上面的一維函數(shù)有效,在圖像中也觀察到了這種通過激活不同節(jié)點(diǎn)以尋找數(shù)據(jù)中特定的模式。

通用逼近定理已擴(kuò)展為適用于其他激活函數(shù)(如 ReLU 和神經(jīng)網(wǎng)絡(luò)類型),但原理仍然適用。神經(jīng)網(wǎng)絡(luò)是實(shí)現(xiàn)通用逼近定義的最佳表現(xiàn)形式。

相對(duì)于通過復(fù)雜方程和關(guān)系數(shù)學(xué)形式來描述通用逼近定理,神經(jīng)網(wǎng)絡(luò)則通過構(gòu)建特殊的網(wǎng)絡(luò)結(jié)構(gòu),并通過訓(xùn)練數(shù)據(jù)來獲得結(jié)構(gòu)中的參數(shù)。這個(gè)過程就好像是通過蠻力記憶將函數(shù)存儲(chǔ)在網(wǎng)絡(luò)中。這個(gè)匯集眾多節(jié)點(diǎn)的網(wǎng)絡(luò)結(jié)構(gòu),通過訓(xùn)練過程來逼近任意函數(shù)過程就表現(xiàn)出具有某種聰明特征的智能系統(tǒng)了。

基于以上假設(shè),神經(jīng)網(wǎng)絡(luò)至少可以在理論上構(gòu)造出一個(gè)函數(shù),該函數(shù)基本上具有所需的精度(節(jié)點(diǎn)數(shù)越多,近似值越準(zhǔn)確,當(dāng)然不考慮過擬合的技術(shù)性),具有正確結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)可以對(duì)任何其他機(jī)器學(xué)習(xí)預(yù)測函數(shù)進(jìn)行建模,反過來,其他任何機(jī)器學(xué)習(xí)算法,都不能這么說。

神經(jīng)網(wǎng)絡(luò)使用的方法并不是對(duì)一些現(xiàn)有的優(yōu)化模型,比如多項(xiàng)式回歸或者節(jié)點(diǎn)系統(tǒng),只是對(duì)少量參數(shù)進(jìn)行優(yōu)化,它是直接去逼近數(shù)據(jù)內(nèi)部所蘊(yùn)含的規(guī)律,而不是基于某種特定的模型來描述數(shù)據(jù)。這種理念是那些常見到的網(wǎng)絡(luò)模型結(jié)構(gòu)與其它機(jī)器學(xué)習(xí)之間最為不同之處。

借助神經(jīng)網(wǎng)絡(luò)的力量以及對(duì)深度學(xué)習(xí)的不斷延伸領(lǐng)域的不斷研究,無論是視頻,聲音,流行病學(xué)數(shù)據(jù)還是兩者之間的任何數(shù)據(jù),都將能夠以前所未有的精度來進(jìn)行建模。神經(jīng)網(wǎng)絡(luò)確實(shí)可以被成為算法之算法。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    BP神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的區(qū)別

    BP神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡稱ANNs)之間的關(guān)系與區(qū)別,是神經(jīng)網(wǎng)絡(luò)領(lǐng)域中一個(gè)基礎(chǔ)且重要的話題。本文將從定義、結(jié)構(gòu)、
    的頭像 發(fā)表于 07-10 15:20 ?1123次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法的基本流程包括哪些

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播神經(jīng)網(wǎng)絡(luò)算法,是一種常用的多層前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法。它通過反向傳播誤
    的頭像 發(fā)表于 07-04 09:47 ?660次閱讀

    bp神經(jīng)網(wǎng)絡(luò)算法過程包括

    算法過程,包括網(wǎng)絡(luò)結(jié)構(gòu)、激活函數(shù)、訓(xùn)練過程、反向傳播算法、權(quán)重更新策略等。 網(wǎng)絡(luò)結(jié)構(gòu) BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層和輸出層組成,每層包含若
    的頭像 發(fā)表于 07-04 09:45 ?481次閱讀

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法有哪些

    神經(jīng)網(wǎng)絡(luò)優(yōu)化算法是深度學(xué)習(xí)領(lǐng)域中的核心技術(shù)之一,旨在通過調(diào)整網(wǎng)絡(luò)中的參數(shù)(如權(quán)重和偏差)來最小化損失函數(shù),從而提高模型的性能和效率。本文將詳細(xì)探討神經(jīng)網(wǎng)絡(luò)優(yōu)化
    的頭像 發(fā)表于 07-03 16:01 ?568次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的優(yōu)缺點(diǎn)有哪些

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種廣泛應(yīng)用于深度學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域的優(yōu)化算法,用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)。本文將介紹反向傳播
    的頭像 發(fā)表于 07-03 11:24 ?1021次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的作用是什么

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation)是一種用于訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)算法,它通過計(jì)算損失函數(shù)關(guān)于
    的頭像 發(fā)表于 07-03 11:17 ?1454次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的原理、數(shù)學(xué)推導(dǎo)及實(shí)現(xiàn)步驟

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練多層神經(jīng)網(wǎng)絡(luò)算法,其基本原理是通過梯度下降法來最小化損失函數(shù),從而找到
    的頭像 發(fā)表于 07-03 11:16 ?803次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法的推導(dǎo)過程

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)算法。它通過最小化損失函數(shù)來調(diào)整網(wǎng)
    的頭像 發(fā)表于 07-03 11:13 ?569次閱讀

    BP神經(jīng)網(wǎng)絡(luò)算法的基本流程包括

    BP神經(jīng)網(wǎng)絡(luò)算法,即反向傳播(Backpropagation)神經(jīng)網(wǎng)絡(luò)算法,是一種多層前饋神經(jīng)網(wǎng)絡(luò),通過反向傳播誤差來訓(xùn)練
    的頭像 發(fā)表于 07-03 09:52 ?514次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的結(jié)構(gòu)有哪些類型

    神經(jīng)網(wǎng)絡(luò)算法是深度學(xué)習(xí)的基礎(chǔ),它們在許多領(lǐng)域都有廣泛的應(yīng)用,如圖像識(shí)別、自然語言處理、語音識(shí)別等。神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)有很多種類型,每種類型都有其獨(dú)特的特點(diǎn)和應(yīng)用場景。以下是對(duì)神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-03 09:50 ?463次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的優(yōu)缺點(diǎn)有哪些

    的優(yōu)點(diǎn) 自學(xué)習(xí)能力:神經(jīng)網(wǎng)絡(luò)算法具有強(qiáng)大的自學(xué)習(xí)能力,能夠從大量數(shù)據(jù)中自動(dòng)提取特征,無需人工干預(yù)。這使得神經(jīng)網(wǎng)絡(luò)算法在處理復(fù)雜問題時(shí)具有很高
    的頭像 發(fā)表于 07-03 09:47 ?1441次閱讀

    神經(jīng)網(wǎng)絡(luò)算法的基本原理

    神經(jīng)網(wǎng)絡(luò)算法人工智能領(lǐng)域的一種重要算法,它模仿了人腦神經(jīng)元網(wǎng)絡(luò)的結(jié)構(gòu)和功能,通過對(duì)大量數(shù)據(jù)進(jìn)行學(xué)習(xí)和訓(xùn)練,實(shí)現(xiàn)對(duì)復(fù)雜問題的求解。
    的頭像 發(fā)表于 07-03 09:44 ?953次閱讀

    神經(jīng)網(wǎng)絡(luò)反向傳播算法原理是什么

    神經(jīng)網(wǎng)絡(luò)反向傳播算法(Backpropagation Algorithm)是一種用于訓(xùn)練多層前饋神經(jīng)網(wǎng)絡(luò)的監(jiān)督學(xué)習(xí)算法。它通過最小化損失函數(shù)來調(diào)整網(wǎng)
    的頭像 發(fā)表于 07-02 14:16 ?667次閱讀

    基于神經(jīng)網(wǎng)絡(luò)算法的模型構(gòu)建方法

    神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)算法,廣泛應(yīng)用于各種領(lǐng)域,如圖像識(shí)別、自然語言處理、語音識(shí)別等。本文詳細(xì)介紹了基于神經(jīng)網(wǎng)絡(luò)算法的模型構(gòu)建方法,包括數(shù)據(jù)預(yù)處理、
    的頭像 發(fā)表于 07-02 11:21 ?563次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的工作原理是什么

    和學(xué)習(xí)。本文將詳細(xì)介紹人工神經(jīng)網(wǎng)絡(luò)的工作原理,包括其基本概念、結(jié)構(gòu)、學(xué)習(xí)算法和應(yīng)用領(lǐng)域。 基本概念 1.1 神經(jīng)神經(jīng)元是
    的頭像 發(fā)表于 07-02 10:06 ?1337次閱讀