青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

公告

聯(lián)系我:我的126郵箱: billhsu。 Locations of visitors to this page
<2025年10月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

統(tǒng)計

  • 隨筆 - 41
  • 文章 - 0
  • 評論 - 82
  • 引用 - 0

常用鏈接

留言簿(16)

隨筆分類

隨筆檔案

相冊

Game Dev

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

神經(jīng)元網(wǎng)絡的超級入門
一直不太懂神經(jīng)元網(wǎng)絡,看了這篇文章(來自IBM developerWorks 中國)后終于感覺有點明白了,特意拿出來大家一起看。

2001 年 6 月 01 日

    神經(jīng)網(wǎng)絡也許是計算機計算的將來,一個了解它的好方法是用一個它可以解決的難題來說明。假設給出 
500 個字符的代碼段,您知道它們是 C、C++、Java 或者 Python。現(xiàn)在構造一個程序,來識別編寫這段代碼的語言。一種解決方案是構造一個能夠?qū)W習識別這些語言的神經(jīng)網(wǎng)絡。這篇文章討論了神經(jīng)網(wǎng)絡的基本功能以及構造神經(jīng)網(wǎng)絡的方法,這樣就可以在編碼時應用它們了。

Bill注:解釋一下,這文章是用) ( _ . = ; " , ' * / { } : - 0 + 1 [ ] 這20個特殊符號出現(xiàn)頻率+人工神經(jīng)元的判斷來識別代碼段是 C、C++、Java 或者 Python


根據(jù)一個簡化的統(tǒng)計,人腦由百億條神經(jīng)組成 ― 每條神經(jīng)平均連結到其它幾千條神經(jīng)。通過這種連結方式,神經(jīng)可以收發(fā)不同數(shù)量的能量。神經(jīng)的一個非常重要的功能是它們對能量的接受并不是立即作出響應,而 是將它們累加起來,當這個累加的總和達到某個臨界閾值時,它們將它們自己的那部分能量發(fā)送給其它的神經(jīng)。大腦通過調(diào)節(jié)這些連結的數(shù)目和強度進行學習。盡管 這是個生物行為的簡化描述。但同樣可以充分有力地被看作是神經(jīng)網(wǎng)絡的模型。

閾值邏輯單元(Threshold Logic Unit,TLU)

理解神經(jīng)網(wǎng)絡的第一步是從對抽象生物神經(jīng)開始,并把重點放在 閾值邏輯單元(TLU)這一特征上。一個 TLU 是一個對象,它可以輸入一組加權系數(shù)的量,對它們進行求和,如果這個和達到或者超過了某個閾值,輸出一個量。 讓我們用符號標注這些功能,首先,有輸入值以及它們的權系數(shù):X 1, X 2, ..., X n和 W 1, W 2, ..., W n。接著是求和計算出的 X i*W i ,產(chǎn)生了激發(fā)層 a,換一種方法表示:

a = (X1 * W1)+(X2 * W2)+...+(Xi * Wi)+...+ (Xn * Wn)

閾值稱為 theta。最后,輸出結果 y。當 a >=theta 時 y=1,反之 y=0。請注意輸出可以是連續(xù)的,因為它也可以由一個 squash 函數(shù) s(或 sigma)判定,該函數(shù)的自變量是 a,函數(shù)值在 0 和 1 之間,y=s(a)。


圖 1. 閾值邏輯單元,帶有 sigma 函數(shù)(頂部)和 cutoff 函數(shù)(底部)
閾值邏輯單元

TLU 會分類,假設一個 TLU 有兩個輸入值,它們的權系數(shù)等于 1,theta 值等于 1.5。當這個 TLU 輸入 <0,0>、<0,1>、<1,0> 和 <1,1> 時,它的輸出分別為 0、0、0、1。TLU 將這些輸入分為兩組:0 組和 1 組。就像懂得邏輯連接(布爾運算 AND)的人腦可以類似地將邏輯連接的句子分類那樣,TLU 也懂得一點邏輯連接之類的東西。

TLU 能夠用幾何學上的解釋來闡明這種現(xiàn)象。它的四種可能輸入對應于笛卡爾圖的四個點。從等式 X 1*W 1+ X 2*W 2 = theta,換句話說,也即 TLU 轉(zhuǎn)換其分類行為的點開始,它的點都分布在曲線 X 2 = -X 1 + 1.5 上。這個方程的曲線將 4 個可能的輸入分成了兩個對應于 TLU 分類的區(qū)域。這是 TLU 原理中更為普通的實例。在 TLU 有任意數(shù)目的 N 個輸入的情況下,一組可能的輸入對應于 N 維空間中的一個點集。如果這些點可以被超平面 ― 換句話說,對應于上面示例中的線的 N 維的幾何外形切割,那么就有一組權系數(shù)和一個閾值來定義其分類剛好與這個切割相匹配的 TLU。

Bill注:所謂的N維空間就是N個輸入節(jié)點

TLU 的學習原理

既然 TLU 懂得分類,它們就知道素材。神經(jīng)網(wǎng)絡也可假定為可以學習。它們的學習機制是模仿大腦調(diào)節(jié)神經(jīng)連結的原理。TLU 通過改變它的權系數(shù)和閾值來學習。實際上,從數(shù)學的觀點看,權系數(shù)閾值的特征有點武斷。讓我們回想一下當 SUM(Xi * Wi) >= theta 時 TLU 在臨界點時輸出的是 1 而不是 0,這相當于說臨界點是出現(xiàn)在 SUM(X i* W i)+ (-1 * theta) >= 0 的時候。所以,我們可以把 -1 看成一個常量輸入,它的權系數(shù) theta 在學習(或者用技術術語,稱為 培訓)的過程中進行調(diào)整。這樣,當 SUM(X i* W i)+ (-1 * theta) >= 0 時,y=1,反之 y=0。

在培訓過程中,神經(jīng)網(wǎng)絡輸入:

  1. 一系列需要分類的術語示例
  2. 它們的正確分類或者目標

這樣的輸入可以看成一個向量:<X 1, X 2, ..., X n, theta, t>,這里 t 是一個目標或者正確分類。神經(jīng)網(wǎng)絡用這些來調(diào)整權系數(shù),其目的使培訓中的目標與其分類相匹配。更確切地說,這是有指導的培訓,與之相反的是無指導的培訓。前者是基于帶目標的示例,而后者卻只是建立在統(tǒng)計分析的基礎上。權系數(shù)的調(diào)整有一個學習規(guī)則,一個理想化的學習算法如下所示:


清單 1. 理想化的學習算法
fully_trained = FALSE
DO UNTIL (fully_trained):
fully_trained = TRUE
FOR EACH training_vector = <X1, X2, ..., Xn, theta, target>::
# Weights compared to theta
a = (X1 * W1)+(X2 * W2)+...+(Xn * Wn) - theta
y = sigma(a)
IF y != target:
fully_trained = FALSE
FOR EACH Wi:
MODIFY_WEIGHT(Wi) # According to the training rule
IF (fully_trained):
BREAK

您或許想知道,“哪些培訓規(guī)則?”有很多,不過有一條似乎合理的規(guī)則是基于這樣一種思想,即權系數(shù)和閾值的調(diào)整應該由分式 (t - y) 確定。這個規(guī)則通過引入 alpha (0 < alpha < 1) 完成。我們把 alpha 稱為 學習率。W i 中的更改值等于 (alpha * (t - y)* Xi)。當 alpha 趨向于 0 時,神經(jīng)網(wǎng)絡的權系數(shù)的調(diào)整變得保守一點;當 alpha 趨向于 1 時,權系數(shù)的調(diào)整變得激進。一個使用這個規(guī)則的神經(jīng)網(wǎng)絡稱為 感知器,并且這個規(guī)則被稱為 感知器學習規(guī)則。Rosenblatt 于 1962 年下的結論是,如果 N 維空間的點集被超平面切割,那么感知器的培訓算法的應用將會最終導致權系數(shù)的分配,從而定義了一個 TLU,它的超平面會進行需要的分割。當然,為了記起 Keynes,最終我們都切斷了與外界的聯(lián)系,專心思考。但是在計算時間之外,我們?nèi)詾l臨危險,因為我們需要自己的神經(jīng)網(wǎng)絡對可能輸入的空間進行不止一次的切割。

文章開始的難題舉例說明了這個,假設給您 N 個字符的代碼段,您知道是 C、C++、Java 或者 Python。難的是構造一個程序來標識編寫這段代碼的語言。用 TLU 來實現(xiàn)需要對可能的輸入空間進行不止一次的分割。它需要把空間分成四個區(qū)域。每種語言一個區(qū)域。把神經(jīng)網(wǎng)絡培訓成能實現(xiàn)兩個切割就可完成這種工作。第一個切割將 C/C++ 和 Java/Python 分開來,另一個將 C/Java 和 C++/Python 分開。一個能夠完成這些切割的網(wǎng)絡同樣可以識別源代碼樣本中的語言。但是這需要網(wǎng)絡有不同結構,在描述這個不同之處之前,先來簡單地看一下實踐方面的考慮。

圖 2. 初步的(不完整的)感知器學習模型
感知器學習模型

考慮到排除取得 N 個字符代碼所需的計算時間,統(tǒng)計從 ASCII 碼的 32 到 127 的范圍內(nèi)可視 ASCII 碼字符出現(xiàn)的頻率,并在這個統(tǒng)計以及關于代碼語言的目標信息的基礎上培訓神經(jīng)網(wǎng)絡。我們的方法是將字符統(tǒng)計限制到 C、C++、Java 和 Python 代碼字符庫中最常用的 20 個非字母數(shù)字字符。由于關注浮點運算的執(zhí)行,我們打算用一種規(guī)格化因素將這 20 字符統(tǒng)計分開來,并以此培訓我們的網(wǎng)絡。顯然,一個結構上的不同是我們的網(wǎng)絡有 20 個輸入節(jié)點,但這是很正常的,因為我們的描述已經(jīng)暗示了這種可能性。一個更有意思的區(qū)別是出現(xiàn)了一對中間節(jié)點,N1 和 N2,以及輸出節(jié)點數(shù)量從兩個變成了四個(O1 到 O4)。

我們將培訓 N1,這樣當它一看到 C 或 C++,設置 y1=1,看到 Java 或 Python,它將設置 y1=0。同理培訓 N2,當它一看到 C 或 Java,設置 y2=1,看到 C++ 或 Python,設置 y2=0。此外,N1 和 N2 將輸出 1 或 0 給 Oi。現(xiàn)在如果 N1 看到 C 或 C++,而且 N2 看到 C 或者 Java,那么難題中的代碼是 C。而如果 N1 看到 C 或 C++,N2 看到 C++ 或 Python,那么代碼就是 C++。這個模式很顯而易見。所以假設 Oi 已被培訓并根據(jù)下面表格的情況輸出 1 或 0。

映射到輸出(作為布爾函數(shù))的中間節(jié)點

N1 N2 O1 (C) O2 (C++) O3 (Java) O4 (Python)
0 0 0 0 0 1
0 1 0 0 1 0
1 0 0 1 0 0
1 1 1 0 0 0

如果這樣可行的話,我們的網(wǎng)絡就可以從代碼示例中識別出語言了。這個想法很好。但是在實踐上卻有些難以置信。不過這種解決方案預示了 C/C++ 和 Java/Python 輸入被一個超平面切割了,同樣 C/Java 和 C++/Python 輸入被另一個切割。這是一個網(wǎng)絡培訓的解決方案,迂回地解決了這個輸入空間的設想。

Bill注:看起來很強大

關于 delta 規(guī)則

另一種培訓的規(guī)則叫做 delta 規(guī)則。感知器培訓規(guī)則是基于這樣一種思路 ― 權系數(shù)的調(diào)整是由目標和輸出的差分方程表達式?jīng)Q定。而 delta 規(guī)則是基于梯度降落這樣一種思路。這個復雜的數(shù)學概念可以舉個簡單的例子來表示。從給定的幾點來看,向南的那條路徑比向東那條更陡些。向東就像從懸崖上掉 下來,但是向南就是沿著一個略微傾斜的斜坡下來,向西像登一座陡峭的山,而北邊則到了平地,只要慢慢的閑逛就可以了。所以您要尋找的是到達平地的所有路徑 中將陡峭的總和減少到最小的路徑。在權系數(shù)的調(diào)整中,神經(jīng)網(wǎng)絡將會找到一種將誤差減少到最小的權系數(shù)的分配方式。

將我們的網(wǎng)絡限制為沒有隱藏節(jié)點,但是可能會有不止一個的輸出節(jié)點,設 p 是一組培訓中的一個元素,t(p,n) 是相應的輸出節(jié)點 n 的目標。但是,設 y(p,n) 由以上提到的 squash 函數(shù) s 決定,這里 a(p,n) 是與 p 相關的 n 的激活函數(shù),或者用 (p,n) = s( a(p,n) ) 表示為與 p 相關的節(jié)點 n 的 squash 過的激活函數(shù)。為網(wǎng)絡設定權系數(shù)(每個 Wi),也為每個 p 和 n 建立 t(p,n) 與 y(p,n) 的差分,這就意味著為每個 p 設定了網(wǎng)絡全部的誤差。因此對于每組權系數(shù)來說有一個平均誤差。但是 delta 規(guī)則取決于求平均值方法的精確度以及誤差。我們先不討論細節(jié)問題,只是說一些與某些 p 和 n 相關的誤差:?* square( t(p,n) - y(p,n) )。現(xiàn)在,對于每個 Wi,平均誤差定義如下:


清單 2. 查找平均誤差
sum = 0
FOR p = 1 TO M: # M is number of training vectors
FOR n = 1 TO N: # N is number of output nodes
sum = sum + (1/2 * (t(p,n)-y(p,n))^2)
average = 1/M * sum

delta 規(guī)則就是依據(jù)這個誤差的定義來定義的。因為誤差是依據(jù)那些培訓向量來說明的,delta 規(guī)則是一種獲取一個特殊的權系數(shù)集以及一個特殊的向量的算法。而改變權系數(shù)將會使神經(jīng)網(wǎng)絡的誤差最小化。我們不需要討論支持這個算法的微積分學,只要認為任何 Wi 發(fā)生的變化都是如下所示就夠了:

alpha * s'(a(p,n)) * (t(p,n) - y(p,n)) * X(p,i,n).

X(p,i,n) 是輸入到節(jié)點 n 的 p 中的第 i 個元素,alpha 是已知的學習率。最后 s'( a(p,n) ) 是與 p 相關的第 n 個節(jié)點激活的 squashing 函數(shù)的變化(派生)率,這就是 delta 規(guī)則,并且 Widrow 和 Stearns 向我們展示了當 alpha 非常小的時候,權系數(shù)向量接近某個將誤差最小化的向量。用于權系數(shù)調(diào)節(jié)的基于 delta 規(guī)則的算法就是如此。


梯度降落(直到誤差小到適當?shù)某潭葹橹梗?/strong>
step 1: for each training vector, p, find a(p)
step 2: for each i, change Wi by:
alpha * s'(a(p,n)) * (t(p,n)-y(p,n)) * X(p,i,n)

這里有一些與感知器算法相區(qū)別的重要不同點。顯然,在權系數(shù)調(diào)整的公式下有著完全不同的分析。delta 規(guī)則算法總是在權系數(shù)上調(diào)整,而且這是建立在相對輸出的激活方式上。最后,這不一定適用于存在隱藏節(jié)點的網(wǎng)絡。

反向傳播這一算法把支持 delta 規(guī)則的分析擴展到了帶有隱藏節(jié)點的神經(jīng)網(wǎng)絡。為了理解這個問題,設想 Bob 給 Alice 講了一個故事,然后 Alice 又講給了 Ted,Ted 檢查了這個事實真相,發(fā)現(xiàn)這個故事是錯誤的。現(xiàn)在 Ted 需要找出哪些錯誤是 Bob 造成的而哪些又歸咎于 Alice。當輸出節(jié)點從隱藏節(jié)點獲得輸入,網(wǎng)絡發(fā)現(xiàn)出現(xiàn)了誤差,權系數(shù)的調(diào)整需要一個算法來找出整個誤差是由多少不同的節(jié)點造成的,網(wǎng)絡需要問,“是誰讓我誤入歧途?到怎樣的程度?如何彌補?”這時,網(wǎng)絡該怎么做呢?


圖 3:“代碼識別”反向傳播的神經(jīng)網(wǎng)絡

反向傳播算法同樣來源于梯度降落原理,在權系數(shù)調(diào)整分析中的唯一不同是涉及到 t(p,n) 與 y(p,n) 的差分。通常來說 W i的改變在于:

alpha * s'(a(p,n)) * d(n) * X(p,i,n)

其中 d(n) 是隱藏節(jié)點 n 的函數(shù),讓我們來看(1)n 對任何給出的輸出節(jié)點有多大影響;(2)輸出節(jié)點本身對網(wǎng)絡整體的誤差有多少影響。一方面,n 影響一個輸出節(jié)點越多,n 造成網(wǎng)絡整體的誤差也越多。另一方面,如果輸出節(jié)點影響網(wǎng)絡整體的誤差越少,n 對輸出節(jié)點的影響也相應減少。這里 d(j) 是對網(wǎng)絡的整體誤差的基值,W(n,j) 是 n 對 j 造成的影響,d(j) * W(n,j) 是這兩種影響的總和。但是 n 幾乎總是影響多個輸出節(jié)點,也許會影響每一個輸出結點,這樣,d(n) 可以表示為:

SUM(d(j)*W(n,j))

這里 j 是一個從 n 獲得輸入的輸出節(jié)點,聯(lián)系起來,我們就得到了一個培訓規(guī)則,第 1 部分:在隱藏節(jié)點 n 和輸出節(jié)點 j 之間權系數(shù)改變,如下所示:

alpha * s'(a(p,n))*(t(p,n) - y(p,n)) * X(p,n,j)

第 2 部分:在輸入節(jié)點 i 和輸出節(jié)點 n 之間權系數(shù)改變,如下所示:

alpha * s'(a(p,n)) * sum(d(j) * W(n,j)) * X(p,i,n)

這里每個從 n 接收輸入的輸出節(jié)點 j 都不同。關于反向傳播算法的基本情況大致如此。

將 Wi 初始化為小的隨機值。

使誤差小到適當?shù)某潭纫裱牟襟E

第 1 步:輸入培訓向量。
第 2 步:隱藏節(jié)點計算它們的輸出
第 3 步:輸出節(jié)點在第 2 步的基礎上計算它們的輸出。
第 4 步:計算第 3 步所得的結果和期望值之間的差。
第 5 步:把第 4 步的結果填入培訓規(guī)則的第 1 部分。
第 6 步:對于每個隱藏節(jié)點 n,計算 d(n)。
第 7 步:把第 6 步的結果填入培訓規(guī)則的第 2 部分。

通常把第 1 步到第 3 步稱為 正向傳播,把第 4 步到第 7 步稱為 反向傳播。反向傳播的名字由此而來。

在掌握了反向傳播算法后,可以來看我們的識別源代碼樣本語言的難題。為了解決這個問題,我們提供了 Neil Schemenauer 的 Python 模型 bpnn。用它的模型解決問題真是難以置信的簡單,在我們的類 NN2 里定制了一個類 NN ,不過我們的改變只是調(diào)整了表達方式和整個過程的輸出,并沒有涉及到算法。基本的代碼如下所示:


清單 3:用 bpnn.py 建立一個神經(jīng)網(wǎng)絡
                # Create the network (number of input, hidden, and training nodes)
net = NN2(INPUTS, HIDDEN, OUTPUTS)
# create the training and testing data
trainpat = []
testpat = []
for n in xrange(TRAINSIZE+TESTSIZE):

#... add vectors to each set
# train it with some patterns
net.train(trainpat, iterations=ITERATIONS, N=LEARNRATE, M=MOMENTUM)
# test it
net.test(testpat)
# report trained weights
net.weights()


當然我們需要輸入數(shù)據(jù),實用程序 code2data.py 提供了這個功能。它的界面很直觀:只要將一堆擴展名各不相同的文件放到一個子目錄 ./code 中,然后運行這個實用程序,并列舉那些擴展名作為命令選項。例如:

python code2data.py py c java

您得到的是一堆 STDOUT 上的向量,可以把這些向量輸入到另一個進程或者重定向到一個文件,它的輸出如下所示:


清單 4:Code2Data 的輸出向量
0.15 0.01 0.01 0.04 0.07 0.00 0.00 0.03 0.01 0.00 0.00 0.00 0.05 0.00 > 1 0 0
0.14 0.00 0.00 0.05 0.13 0.00 0.00 0.00 0.02 0.00 0.00 0.00 0.13 0.00 > 1 0 0
[...]

讓我們回憶一下輸入值都是不同特殊字符出現(xiàn)的規(guī)格化數(shù)目,目標值(在大于號以后)是 YES/NO,它代表包含這些字符的源代碼文件的類型,不過對于什么是什么來說,并沒有非常明顯的東西。數(shù)字可以是輸入或期望的 任意值,這才是最重要的。

下一步是運行實際的 code_recognizer.py 程序。這需要(在 STDIN 中)像上面一樣的向量集。這個程序有一個包,它能夠根據(jù)實際文件推斷出需要多少輸入節(jié)點(計算在內(nèi)的和期望的),選擇隱藏節(jié)點的數(shù)目是一個訣竅。對于源代碼的識別,6 到 8 個隱藏節(jié)點似乎工作得很好。如果打算試驗網(wǎng)絡從而發(fā)現(xiàn)對于這些不同的選項它是如何做的,您可以覆蓋命令行中的所有參數(shù),但每一次運行還是會耗費一些時間。值得注意的是, code_recognizer.py 將它的(大的)測試結果文件發(fā)送到 STDOUT,而將一些友好的消息放在 STDERR 里。這樣在大部分時間里,為了安全保管,您將會把 STDOUT 定向到一個文件,并監(jiān)視針對進程和結果概要的 STDERR。


清單 5:運行 code_recognizer.py
> code2data.py py c java | code_recognizer.py > test_results.txt 
Total bytes of py-source: 457729
Total bytes of c-source: 245197
Total bytes of java-source: 709858
Input set: ) ( _ . = ; " , ' * / { } : - 0 + 1 [ ]
HIDDEN = 8
LEARNRATE = 0.5
ITERATIONS = 1000
TRAINSIZE = 500
OUTPUTS = 3
MOMENTUM = 0.1
ERROR_CUTOFF = 0.01
TESTSIZE = 500
INPUTS = 20
error -> 95.519... 23.696... 19.727... 14.012... 11.058... 9.652...
8.858... 8.236... 7.637... 7.065... 6.398... 5.413... 4.508...
3.860... 3.523... 3.258... 3.026... 2.818... 2.631... 2.463...
2.313... 2.180... 2.065... 1.965... 1.877... 1.798... 1.725...
[...]
0.113... 0.110... 0.108... 0.106... 0.104... 0.102... 0.100...
0.098... 0.096... 0.094... 0.093... 0.091... 0.089... 0.088...
0.086... 0.085... 0.084...
Success rate against test data: 92.60%

不斷減少誤差是個很好的兆頭,這至少在一段長時間里所獲得的一種進步,且最后的結果必然是深入人心的。就我們的觀點而言,網(wǎng)絡完成了一項值得尊敬的工作,來識別代碼 ― 我們將會樂意傾聽,對于您的數(shù)字向量它是如何做的。



參考資料

  • 您可以參閱本文在 developerWorks 全球站點上的 英文原文.

  • 我們的 代碼識別程序是基于 Neil Schemenauer 的反向傳播模塊。

  • 關于有指導培訓和無指導培訓的差異,以及神經(jīng)網(wǎng)絡的一般介紹,請參閱由 D. Michie、D.J. Spiegelhalter 以及 C.C. Taylor 編輯的 Machine Learning, Neural and Statistical Classification,具體內(nèi)容請參閱 第 6 章

  • 關于 Rosenblatt 的感知器結果,請參閱他的 Principles of Neurodynamics, 1962, New York: Spartan Books。

  • 關于一些 delta 規(guī)則的詳細信息,請參閱 Kevin Gurney 的著作 An Introduction to Neural Networks 1997, London: Routledge。也可以參閱 Neural Nets早期的在線版本。

  • 關于 delta 規(guī)則的證明,請參閱 B. Widrow 和 S.D. Stearns 的 Adaptive Signal Processing, 1985, New Jersey: Prentice-Hall。

  • 關于包含圖形界面的感知器的執(zhí)行,請參閱 Omri Weisman 和 Ziv Pollack 撰寫的 The Perceptron

  • 什么是沒有 FAQ 的科目?請參閱在任何時候都適用的 Neural Net FAQ

  • 關于廣泛的鏈接集合,請參閱 The Backpropagator's Review

  • 請參閱 Neural Networks at your Fingertips,它討論了一組 C 程序包,這些包說明了 Adaline 網(wǎng)絡、反向傳播、Hopfield 模型以及其它,有一個 The Back-propagation Network 特別有趣,它是一個 C 程序包,說明了一個分析日斑數(shù)據(jù)的網(wǎng)絡。

  • Neural Networking Software,您將會找到有友好的圖形界面的同時支持 DOS 和 Linux 的神經(jīng)網(wǎng)絡代碼。

  • NEURObjects 提供了開發(fā)神經(jīng)網(wǎng)絡的 C++ 的庫文件,它的優(yōu)點在于面向?qū)ο蟆?

  • Stuttgart Neural Network Simulator(SNNS),正如名字所示,是用有 GUI 的 C 程序編寫的,它的手冊內(nèi)容極為豐富,同時支持友好的 Linux 平臺。


posted on 2008-08-30 20:08 Bill Hsu 閱讀(7105) 評論(2)  編輯 收藏 引用 所屬分類: C/C++Algorithm

評論

# re: 神經(jīng)元網(wǎng)絡的超級入門 2008-08-30 21:00 沈臻豪(foxtail)

你研究的東西很高深額
  回復  更多評論    

# re: 神經(jīng)元網(wǎng)絡的超級入門 2010-01-19 02:14 肘子

這實在是niubility啊 雖然我看不懂
  回復  更多評論    
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久国产色av| 欧美午夜不卡影院在线观看完整版免费 | 亚洲精品一区二| 欧美77777| 久久亚洲一区| 免费观看久久久4p| 欧美成人免费一级人片100| 欧美高清视频一区二区| 亚洲欧洲在线观看| 日韩一级精品| 欧美在线在线| 欧美日韩国产在线看| 国产欧美日韩视频一区二区| 一区免费在线| 一区二区高清| 久久人人看视频| 91久久精品美女| 亚洲免费综合| 免费成人在线观看视频| 国产精品成人观看视频免费| 国产一区二区三区高清播放| 亚洲精品少妇网址| 久久成人综合网| 亚洲国产二区| 午夜国产不卡在线观看视频| 免费欧美在线| 国产欧美日韩91| 亚洲精品国产精品国自产观看浪潮 | 国产精品大片wwwwww| 国产综合欧美| 亚洲一区在线观看免费观看电影高清| 欧美一区二区三区在线视频| 亚洲电影欧美电影有声小说| 亚洲——在线| 欧美伦理91| 激情综合在线| 欧美亚洲日本网站| 日韩视频精品| 免费成人av| 伊人成人在线| 欧美伊人久久| 亚洲特级毛片| 欧美日韩免费观看中文| 亚洲国产精品美女| 久久久91精品国产| 亚洲自拍三区| 国产精品久久久久久久久| 亚洲经典一区| 两个人的视频www国产精品| 亚洲小说欧美另类婷婷| 欧美全黄视频| 一区二区三区国产精华| 亚洲第一在线综合网站| 久久久精品一区二区三区| 国产精品一区二区三区久久| 欧美四级电影网站| 日韩视频永久免费观看| 欧美大片免费| 麻豆久久婷婷| 亚洲国产精品精华液2区45| 久久综合色婷婷| 久久久国产91| 亚洲高清一二三区| 亚洲第一精品在线| 欧美电影免费观看高清完整版| 亚洲高清在线精品| 欧美顶级艳妇交换群宴| 免费h精品视频在线播放| 亚洲国产精品成人精品| 亚洲国产成人午夜在线一区| 欧美成人一区在线| 亚洲日本欧美日韩高观看| 亚洲国产精品嫩草影院| 欧美激情第1页| 一区二区三区 在线观看视频| 亚洲日本成人女熟在线观看| 欧美日韩亚洲网| 午夜久久久久久久久久一区二区| 亚洲一级特黄| 狠狠色综合一区二区| 免费视频一区二区三区在线观看| 久久久噜噜噜久久中文字幕色伊伊| 在线观看一区二区精品视频| 亚洲福利免费| 国产精品成av人在线视午夜片| 欧美一区二区三区久久精品 | 亚洲欧美中文另类| 国内精品久久久| 亚洲经典视频在线观看| 欧美丝袜一区二区| 久久人人97超碰人人澡爱香蕉| 久久综合给合久久狠狠狠97色69| 亚洲精品无人区| 亚洲综合欧美| 亚洲国产小视频| 亚洲午夜久久久久久久久电影院| 国内精品美女在线观看| 亚洲美女视频| 在线日韩欧美| 一区二区三区www| 极品尤物av久久免费看 | 香蕉av777xxx色综合一区| 久久国产高清| 亚洲视频大全| 欧美77777| 久久精品99无色码中文字幕| 欧美电影免费观看网站| 久久久之久亚州精品露出| 欧美精品1区2区| 久久久久久日产精品| 欧美日韩免费高清| 亚洲大片在线观看| 国语对白精品一区二区| 亚洲午夜一二三区视频| 日韩亚洲在线| 亚洲激情视频网| 国产精品亚洲综合色区韩国| 亚洲国产日韩精品| 国产在线播放一区二区三区| a4yy欧美一区二区三区| 亚洲精品影视| 牛夜精品久久久久久久99黑人 | 夜夜嗨av一区二区三区| 久久激情视频久久| 欧美一区二区高清在线观看| 欧美日韩国产a| 亚洲国产欧美日韩另类综合| 伊人成综合网伊人222| 欧美亚洲一区二区在线观看| 午夜精品久久久久久久99黑人| 欧美日韩在线一区二区三区| 亚洲大胆视频| 亚洲人成在线观看| 欧美jjzz| 亚洲激情综合| 99在线|亚洲一区二区| 欧美激情亚洲一区| 亚洲精品资源| 亚洲一区不卡| 国产九色精品成人porny| 亚洲免费中文| 久久精品国产99国产精品| 国产精品一区二区a| 亚洲欧美综合v| 麻豆精品在线视频| 91久久精品网| 欧美日韩国产综合久久| 亚洲精品国精品久久99热一| 一本色道久久综合亚洲精品不 | 久久国产色av| 樱桃视频在线观看一区| 久久综合综合久久综合| 欧美大片国产精品| 一本色道久久综合亚洲91| 欧美日韩亚洲91| 亚洲欧美三级在线| 麻豆成人综合网| 亚洲毛片在线观看| 欧美色一级片| 久久成人精品无人区| 欧美成人自拍| 亚洲一区二区三区乱码aⅴ| 国产精品视频最多的网站| 欧美伊久线香蕉线新在线| 欧美国产精品人人做人人爱| 国产精品99久久99久久久二8| 欧美午夜精品久久久久久超碰| 亚洲欧美日韩综合aⅴ视频| 欧美成人免费全部| 一区二区日韩| 在线电影院国产精品| 欧美精品国产精品日韩精品| 亚洲视频网站在线观看| 免费久久久一本精品久久区| 亚洲天堂免费观看| 一区二区三区在线观看视频| 欧美日韩成人网| 久久成人精品视频| 一本到高清视频免费精品| 另类av一区二区| 亚洲欧美激情一区| 免费欧美在线视频| 亚洲摸下面视频| 亚洲精品影视| 欧美阿v一级看视频| 午夜精品久久久久| 亚洲作爱视频| 亚洲欧洲在线看| 国产一区二区黄色| 国产精品电影网站| 欧美激情一区二区三区| 久久精品一区二区三区不卡| 亚洲一区二区毛片| 亚洲免费电影在线观看| 欧美电影免费观看高清| 久久aⅴ乱码一区二区三区| 亚洲天堂免费观看| 日韩图片一区| 亚洲日本va午夜在线影院| 在线播放一区|