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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

算法的算法-人工神經網絡

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-10-30 18:21 ? 次閱讀

在上周的人工神經網絡課程中介紹了機器學習中的支持向量機(SVM:Support Vector Machine)與前饋網絡 RBF 的之間的聯系,而對于由傳遞函數為線性函數組成的單層網絡的代表自適應線性單元(ADLINE:Adaptive Linear Element)更是和傳統(tǒng)信號處理中的自適應濾波器相類似。

這些都會讓我們看到神經網絡算法似乎能夠與很多其他學科算法搭起聯系。下面由 Matthew P. Burruss 的博文中《 Every Machine Learning Algorithm Can Be Represented as a Neural Network》 更是將這個觀點進行了詳細的梳理。

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 年代的早期研究開始,機器學習的所有工作似乎都隨著神經網絡的創(chuàng)建而匯聚起來。從 Logistic 回歸到支持向量機,算法層出不窮,毫不夸張的說,神經網絡成為算法的算法,為機器學習的頂峰。它也從最初不斷嘗試中成為機器學習的通用表達形式。

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

由此,可以將神經網絡從一個固定算法展拓到一個通用觀念,并得到如下有趣的推文:任何機器學習算法,無論是決策樹還是 k 近鄰,都可以使用神經網絡來表示。

這個概念可以通過下面的一些舉例得到驗證,同樣也可以使用數據進行嚴格的證明。

1. 回歸

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

Logistic 回歸簡單定義為標準回歸,每個輸入均具有乘法系數,并添加了附加偏移量(截距),然后經過 Signmoid 型函數傳遞。這可以通過沒有隱藏層的神經網絡來表示, 結果是通過 Sigmoid 形式的輸出神經元的多元回歸。

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

2. 支持向量機

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

從這個意義上講,人們可以將 SVM 算法看作是數據到新空間的投影,然后是 多重回歸。神經網絡的輸出可以通過某種有界輸出函數傳遞,以實現概率結果。

當然,可能需要實施一些限制,例如限制節(jié)點之間的連接并固定某些參數,這些更改當然不會脫離"神經網絡"標簽的完整性。也許需要添加更多的層,以確保支持向量機的這種表現能夠達到與實際交易一樣的效果。

3. 決策樹

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

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

盡管算法的神經網絡表示與實際算法之間存在許多技術差異,但重點是網絡表達的思想相同,并且可以與實際算法相同的策略和性能來解決問題。

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

這種同樣算法轉換的答案就在于通用函數逼近定理,這也是在大量神經網絡工作原理背后的支撐數學原理。它的主要含義是:足夠大的神經網絡可以以任意精度對任何函數建模。

假設有一些函數代表數據背后的規(guī)律:對于每個數據點,始終返回等于或非常接近 的值。

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

有的時候通過數學推導可以對表達式進行求解。但面對大量待定函數參數,往往需要通過不停的試湊來搜索。但是,神經網絡在尋找的方式上有些不同。

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

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

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

通用逼近定理已擴展為適用于其他激活函數(如 ReLU 和神經網絡類型),但原理仍然適用。神經網絡是實現通用逼近定義的最佳表現形式。

相對于通過復雜方程和關系數學形式來描述通用逼近定理,神經網絡則通過構建特殊的網絡結構,并通過訓練數據來獲得結構中的參數。這個過程就好像是通過蠻力記憶將函數存儲在網絡中。這個匯集眾多節(jié)點的網絡結構,通過訓練過程來逼近任意函數過程就表現出具有某種聰明特征的智能系統(tǒng)了。

基于以上假設,神經網絡至少可以在理論上構造出一個函數,該函數基本上具有所需的精度(節(jié)點數越多,近似值越準確,當然不考慮過擬合的技術性),具有正確結構的神經網絡可以對任何其他機器學習預測函數進行建模,反過來,其他任何機器學習算法,都不能這么說。

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

借助神經網絡的力量以及對深度學習的不斷延伸領域的不斷研究,無論是視頻,聲音,流行病學數據還是兩者之間的任何數據,都將能夠以前所未有的精度來進行建模。神經網絡確實可以被成為算法之算法。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4749

    瀏覽量

    100434
收藏 人收藏

    評論

    相關推薦

    BP神經網絡人工神經網絡的區(qū)別

    BP神經網絡人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區(qū)別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、
    的頭像 發(fā)表于 07-10 15:20 ?737次閱讀

    bp神經網絡算法的基本流程包括哪些

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

    bp神經網絡算法過程包括

    算法過程,包括網絡結構、激活函數、訓練過程、反向傳播算法、權重更新策略等。 網絡結構 BP神經網絡由輸入層、隱藏層和輸出層組成,每層包含若
    的頭像 發(fā)表于 07-04 09:45 ?322次閱讀

    神經網絡優(yōu)化算法有哪些

    神經網絡優(yōu)化算法是深度學習領域中的核心技術之一,旨在通過調整網絡中的參數(如權重和偏差)來最小化損失函數,從而提高模型的性能和效率。本文將詳細探討神經網絡優(yōu)化
    的頭像 發(fā)表于 07-03 16:01 ?404次閱讀

    神經網絡反向傳播算法的優(yōu)缺點有哪些

    神經網絡反向傳播算法(Backpropagation Algorithm)是一種廣泛應用于深度學習和機器學習領域的優(yōu)化算法,用于訓練多層前饋神經網絡。本文將介紹反向傳播
    的頭像 發(fā)表于 07-03 11:24 ?612次閱讀

    神經網絡反向傳播算法的作用是什么

    神經網絡反向傳播算法(Backpropagation)是一種用于訓練人工神經網絡算法,它通過計算損失函數關于
    的頭像 發(fā)表于 07-03 11:17 ?1008次閱讀

    神經網絡反向傳播算法的原理、數學推導及實現步驟

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

    神經網絡反向傳播算法的推導過程

    神經網絡反向傳播算法(Backpropagation Algorithm)是一種用于訓練多層前饋神經網絡的監(jiān)督學習算法。它通過最小化損失函數來調整
    的頭像 發(fā)表于 07-03 11:13 ?414次閱讀

    BP神經網絡算法的基本流程包括

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

    神經網絡算法的結構有哪些類型

    神經網絡算法是深度學習的基礎,它們在許多領域都有廣泛的應用,如圖像識別、自然語言處理、語音識別等。神經網絡的結構有很多種類型,每種類型都有其獨特的特點和應用場景。以下是對神經網絡
    的頭像 發(fā)表于 07-03 09:50 ?372次閱讀

    神經網絡算法的優(yōu)缺點有哪些

    的優(yōu)點 自學習能力:神經網絡算法具有強大的自學習能力,能夠從大量數據中自動提取特征,無需人工干預。這使得神經網絡算法在處理復雜問題時具有很高
    的頭像 發(fā)表于 07-03 09:47 ?995次閱讀

    神經網絡算法的基本原理

    神經網絡算法人工智能領域的一種重要算法,它模仿了人腦神經元網絡的結構和功能,通過對大量數據進行學習和訓練,實現對復雜問題的求解。
    的頭像 發(fā)表于 07-03 09:44 ?726次閱讀

    神經網絡反向傳播算法原理是什么

    神經網絡反向傳播算法(Backpropagation Algorithm)是一種用于訓練多層前饋神經網絡的監(jiān)督學習算法。它通過最小化損失函數來調整
    的頭像 發(fā)表于 07-02 14:16 ?435次閱讀

    基于神經網絡算法的模型構建方法

    神經網絡是一種強大的機器學習算法,廣泛應用于各種領域,如圖像識別、自然語言處理、語音識別等。本文詳細介紹了基于神經網絡算法的模型構建方法,包括數據預處理、
    的頭像 發(fā)表于 07-02 11:21 ?411次閱讀

    人工神經網絡的工作原理是什么

    和學習。本文將詳細介紹人工神經網絡的工作原理,包括其基本概念、結構、學習算法和應用領域。 基本概念 1.1 神經神經元是
    的頭像 發(fā)表于 07-02 10:06 ?845次閱讀