人工神經網絡算法是怎樣工作的?(英文)

2021-01-17 大數據實驗室

How does Artificial Neural Network (ANN) algorithm work? Simplified!


In the last article (click here), we briefly talked about basics of ANN technique. But before using the technique, an analyst must know, how does the technique really work? Even though the detailed derivation may not be required, one should know the framework of the algorithm. This knowledge serves well for multiple purposes:

Firstly, it helps us understand the impact of increasing / decreasing the dataset vertically or horizontally on computational time.

Secondly, it helps us understand the situations or cases where the model fits best.

Thirdly, it also helps us explain why certain model works better in certain environment or situations.

This article will provide you a basic understanding of Artificial Neural Network (ANN) framework. We won’t go into actual derivation, but the information provided in this article will be sufficient for you to appreciate and implement the algorithm. By the end of the article, I will also present my views on the three basic purposes of understanding any algorithm raised above.

Formulation of Neural network

We will start with understanding formulation of a simple hidden layer neural network. A simple neural network can be represented as shown in the figure below:

The linkages between nodes are the most crucial finding in an ANN. We will get back to 「how to find the weight of each linkage」 after discussing the broad framework. The only known values in the above diagram are the inputs. Lets call the inputs as I1, I2 and I3, Hidden states as H1,H2.H3 and H4, Outputs as O1 and O2. The weights of the linkages can be denoted with following notation:

W(I1H1) is the weight of linkage between I1 and H1 nodes.

Following is the framework in which artificial neural networks (ANN) work:

Few statistical details about the framework

Every linkage calculation in an Artificial Neural Network (ANN) is similar. In general, we assume a sigmoid relationship between the input variables and the activation rate of hidden nodes or between the hidden nodes and the activation rate of output nodes. Let’s prepare the equation to find activation rate of H1.

Logit (H1) = W(I1H1) * I1 + W(I2H1) * I2 + W(I3H1) * I3 + Constant = f

= > P(H1) = 1/(1+e^(-f))

Following is how the sigmoid relationship looks like :

How are the weights re-calibrated? A short note

Re-calibration of weights is an easy, but a lengthy process. The only nodes where we know the error rate are the output nodes. Re-calibration of weights on the linkage between hidden node and output node is a function of this error rate on output nodes. But, how do we find the error rate at the hidden nodes? It can be statistically proved that:

Error @ H1 = W(H1O1)*Error@O1 + W(H1O2)*Error@O2

Using these errors we can re-calibrate the weights of linkage between hidden nodes and the input nodes in a similar fashion. Imagine, that this calculation is done multiple times for each of the observation in the training set.

The three basic questions

What is the correlation between the time consumed by the algorithm and the volume of data (compared to traditional models like logistic)?

As mentioned above, for each observation ANN does multiple re-calibrations for each linkage weights. Hence, the time taken by the algorithm rises much faster than other traditional algorithm for the same increase in data volume.

In what situation does the algorithm fits best?

ANN is rarely used for predictive modelling. The reason being that Artificial Neural Networks (ANN) usually tries to over-fit the relationship. ANN is generally used in cases where what has happened in past is repeated almost exactly in same way. For example, say we are playing the game of Black Jack against a computer. An intelligent opponent based on ANN would be a very good opponent in this case (assuming they can manage to keep the computation time low). With time ANN will train itself for all possible cases of card flow. And given that we are not shuffling cards with a dealer, ANN will be able to memorize every single call. Hence, it is a kind of machine learning technique which has enormous memory. But it does not work well in case where scoring population is significantly different compared to training sample. For instance, if I plan to target customer for a campaign using their past response by an ANN. I will probably be using a wrong technique as it might have over-fitted the relationship between the response and other predictors.

For same reason, it works very well in cases of image recognition and voice recognition.

What makes ANN a very strong model when it comes down to memorization?

Artificial Neural Networks (ANN) have many different coefficients, which it can optimize. Hence, it can handle much more variability as compared to traditional models.

Did you find the article useful? Have you used any other machine learning tool recently? Do you plan to use ANN in any of your business problems? If yes, share with us how you plan to go about it.


CTP與飛馬平臺系統培訓(第二期 實戰進階):一流技術專家授課,罕見的精品金融IT課程,高級寬客進階必修課程

繼第一期火熱開班後,第二期內容更深入,更實戰,完全針對實操中遇到的難題設計。


相關焦點

  • 機器學習算法盤點:人工神經網絡、深度學習
    機器學習算法盤點:人工神經網絡、深度學習 佚名 發表於 2016-08-01 16:26:33   機器學習無疑是當前數據分析領域的一個熱點內容。很多人在平時的工作中都或多或少會用到機器學習的算法。
  • 人工神經網絡(Artificial Neural Network)算法簡介
    人工神經網絡,簡稱神經網絡,是一種模仿生物神經網絡的結構和功能的數學模型或者計算模型。其實是一種與貝葉斯網絡很像的一種算法。之前看過一些內容始終雲裡霧裡,這次決定寫一篇博客。
  • 用於英文字母識別的三種人工神經網絡的設計
    摘要分別採用單層感知器、BP網絡和霍普菲爾德網絡三種神經網絡對26個英文字母進行識別,通過實驗給出各網絡的識別出錯率,從中可以看出三種人工神經網絡各自的優缺點,為選擇神經網絡進行字符識別提供了一定的依據。
  • 人工神經網絡的定義
    人工神經網絡的定義   人工神經網絡( Artificial Neural Networks, 簡寫為ANNs)也簡稱為神經網絡或稱作連接模型,是對人腦或自然神經網絡若干基本特性的抽象和模擬。
  • 機器學習算法匯總:人工神經網絡、深度學習及其它
    算法類似性根據算法的功能和形式的類似性,我們可以把算法分類,比如說基於樹的算法,基於神經網絡的算法等等。當然,機器學習的範圍非常龐大,有些算法很難明確歸類到某一類。而對於有些分類來說,同一分類的算法可以針對不同類型的問題。這裡,我們儘量把常用的算法按照最容易理解的方式進行分類。
  • 金融領域裡的機器學習算法介紹:人工神經網絡
    人工智慧的發展在很大程度上是由神經網絡、深度學習和強化學習推動的。這些複雜的算法可以解決高度複雜的機器學習任務,如圖像分類、人臉識別、語音識別和自然語言處理等。這些複雜任務一般是非線性的,同時包含著大量的特徵輸入。我們下面我們將分幾天的時間對這些算法及其在金融領域的應用進行闡述。
  • 基於英文字母識別的三種人工神經網絡的設計方案
    是在人類對其大腦神經網絡認識理解的基礎上人工構造的能夠實現某種功能的神經網絡。代寫論文 它是理論化的人腦神經網絡的數學模型,是基於模仿大腦神經網絡結構和功能而建立的一種信息處理系統。因其自組織、自學習能力以及具有信息的分布式存儲和並行處理,信息存儲與處理的合一等特點得到了廣泛的關注,已經發展了上百種人工神經網絡。 一般來說,人工神經網絡從結構上可分為兩種:前向網絡和反饋網絡。
  • 神經網絡算法原理_神經網絡算法的應用_神經網絡算法實例說明
    神經網絡是一種模擬人腦結構的算法模型。其原理就在於將信息分布式存儲和並行協同處理。雖然每個單元的功能非常簡單,但大量單元構成的網絡系統就能實現非常複雜的數據計算,並且還是一個高度複雜的非線性動力學習系統。   神經網絡的結構更接近於人腦,具有大規模並行、分布式存儲和處理、自組織、自適應和自學能力。
  • 人工神經網絡及其應用
    1 人工神經網絡的發展歷史及其意義1.1 人工神經網絡的發展歷史神經網絡的發展可以追溯到19世紀末,其發展可以分為四個階段。1958年計算機學家Frank Rosenblatt 發表一篇很有名的文章,在文章中他提出了具有三層網絡結構的神經網絡結構,該文章中提出的算法與後來的反向傳播算法和自組織算法類似。在1960年,Bernard Widrow 和Marcian Hoff發表的一篇為《自適應開關電路》的文章,他們不僅設計了在計算機仿真的人工神經網絡,而且用硬體電路實現了他們的設計。
  • 科技:人工神經網絡的進步
    這些重大新故事中的一些與人工神經網絡有關,人工智慧研究中的一個相對較新的現象正在推動從娛樂到醫學等許多領域的各種進步。人工神經網絡依賴於這樣的思想:技術可以使用對應於個體人類神經元和神經元組的小單元來模擬人類大腦的生物學工作,以基於輸入產生輸出。
  • 人工神經網絡發展歷程及特點
    人工神經網絡ANN簡稱為神經網絡或類神經網絡。深度學習實際上是深度神經網絡DNN,即深度學習從人工神經網絡ANN模型發展起來的,因此有必要對人工神經網絡ANN作進一步探討。^_^ 最近十幾年來,人工神經網絡ANN的研究工作不斷深入,已經取得了很大進展,其在模式識別、智慧機器人、自動控制、預測估計、生物、醫學、經濟等領域已成功地解決了許多現代計算機難以解決的實際問題,表現出了良好的智能特性。 那麼究竟什麼是人工神經網絡ANN呢?
  • 什麼是人工神經網絡(ANN)?
    作者 | Ben Dickson編譯 | CDA數據分析師過去十年中最具影響力的技術之一是人工神經網絡,它是深度學習算法的基本組成部分,是人工智慧的前沿。人工神經網絡如何運作人工神經網絡的核心成分是人工神經元。每個神經元接收來自其他幾個神經元的輸入,將它們乘以分配的權重,將它們相加,然後將總和傳遞給一個或多個神經元。一些人工神經元可能在將輸出傳遞給下一個變量之前將激活函數應用於輸出。
  • 初識人工神經網絡
    大腦中神經元細胞以一種大量複雜並行的方式連接在一起,每個神經元可能和上萬個其它神經元連接在一起;而計算機中電晶體以相對簡單的方式串聯在一起,每個電晶體可能只和兩到三個其它電晶體連接起來形成邏輯門電路。這種連接結構上的差異導致了大腦和計算機在工作方式的巨大差異。
  • 人工神經網絡四種算法,你有知道的嗎?
    人工神經網絡的許多算法已在智能信息處理系統中獲得廣泛採用,尤為突出是是以下4種算法:ART網絡、LVQ網絡、Kohonen網絡Hopfield網絡,下面就具體介紹一下這這四種算法:1.自適應諧振理論(ART)網絡
  • 人工神經網絡的五大主要應用場景
    在這個受監督的階段,網絡將其實際產生的輸出與它想要產生的輸出進行比較。使用反向傳播調整兩個結果之間的差異。這意味著網絡採取向後工作的模式,能夠從輸出單元到輸入單元,調整單元之間連接的權重,直到實際結果和期望結果之間的差異產生最小的可能誤差。人工神經網絡的架構要理解一個人工神經網絡的架構,我們需要理解一個典型的神經網絡所包含的內容。
  • 胖不胖:看人工神經網絡怎麼「稱」
    然而,怎樣才算肥胖,如何對肥胖進行更確切的評估呢?2016年第3期《前沿科學》刊載了清華大學體育與健康科學研究中心主任張冰教授等的論文「基於BP神經網絡的體脂百分比評估模型研究」,對這一問題進行了詳細解讀。張冰告訴記者,通常人體體重可劃分為兩部分,脂肪組織的重量和去脂肪重量。
  • 人工神經網絡研究的發展歷程及重要特性
    人工神經網絡研究的先鋒麥卡洛克和皮茨曾於1943年提出一種叫做「似腦機器(mindlike machine)」的思想,這種機器可由基於生物神經元特性的互連模型來製造,這就是神經學網絡的概念。他們構造了一個表示大腦基本組成部分的神經元模型,對邏輯作業系統表現出通用性。
  • 深度|人工神經網絡深入分析
    本文與吳老師的講解方式不同,筆者希望能從神經網絡的起源揭開神經網絡的面紗,從而幫助更多的對神經網絡感興趣但卻沒有相關理論基礎的朋友們。說起人工神經網絡的起源肯定要追溯到生物的神經網絡。羅森布拉特(Frank Rosenblatt)受到赫布基礎性工作的啟發,於1957年提出了"感知器" (Perceptron)。這是第一個用算法來精確定義神經網絡的,感知器由兩層神經元組成,輸入層接收外界信號,輸出層是McCulloch-Pitts神經元,即閾值邏輯單元。1969 年,Marvin Minsky和Seymour Papert出版了新書《感知器:計算幾何簡介》。
  • 對人工神經網絡「開刀」,利用神經科學消融法檢測人工神經網絡
    在他們發表在 arXiv 上的論文中,研究者在人工神經網絡中使用了名為「消融」(ablation)的技術,原本是應用於神經科學的一種技術,即在神經網絡中切除大腦的某些神經元來確定它們的功能。「我們的想法源自於神經科學領域的研究,該領域的主要目標是理解我們的大腦是如何工作的。」
  • 關於人工神經網絡的哲學思考
    南開大學 自動化系,天津 300071  原發信息:  (京)2000年第02期 第25-28,53頁  內容提要:本文在簡單介紹人工神經網絡的研究成果的基礎上,探討了人工神經網絡的自組織功能,並運用馬克思主義的基本原理和方法,從普遍聯繫、整體與部分的關係及結構和功能的關係三方面論述了人工神經網絡的哲學意義