国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò)

這篇具有很好參考價(jià)值的文章主要介紹了【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

實(shí)驗(yàn)9 BP神經(jīng)網(wǎng)絡(luò)

一、實(shí)驗(yàn)?zāi)康?/strong>

1:掌握BP神經(jīng)網(wǎng)絡(luò)的原理。

2:了解BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),以及前向傳播和反向傳播的過(guò)程。

3:學(xué)會(huì)利用BP神經(jīng)網(wǎng)絡(luò)建立訓(xùn)練模型,并對(duì)模型進(jìn)行評(píng)估。即學(xué)習(xí)如何調(diào)用Sklearn中的BP神經(jīng)網(wǎng)絡(luò)。

4:學(xué)會(huì)使用BP神經(jīng)網(wǎng)絡(luò)做預(yù)測(cè)。

5:通過(guò)截圖和模型評(píng)估等方法對(duì)結(jié)果進(jìn)行分析,分析不同數(shù)據(jù)中學(xué)習(xí)率和隱層神經(jīng)元對(duì)與輸出結(jié)果的影響。

二、實(shí)驗(yàn)內(nèi)容

1:第一部分:

利用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)鳶尾花的分類和預(yù)測(cè),對(duì)數(shù)據(jù)進(jìn)行可視化,分析數(shù)據(jù)的特點(diǎn),建立模型,并對(duì)模型進(jìn)行評(píng)估。數(shù)據(jù)可通過(guò)下述代碼獲取。

pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data',?header=None)

2:第二部分:

用BP神經(jīng)網(wǎng)絡(luò)做一個(gè)手寫數(shù)字的識(shí)別和預(yù)測(cè),實(shí)驗(yàn)可以先從小樣本嘗試訓(xùn)練和測(cè)試,然后再用大樣本進(jìn)行訓(xùn)練和測(cè)試,觀察兩者結(jié)果的差異性。本次實(shí)驗(yàn)給出的數(shù)據(jù)集是:mnist_train_100.csv(大樣本),mnist_test_10.csv(小樣本);mnist_train.csv, mnist_test.csv。數(shù)據(jù)椎間中每行是一個(gè)樣本,第一個(gè)元素是標(biāo)簽,后面784個(gè)元素是由28*28的圖片數(shù)據(jù)reshape為一行組成的。

三、實(shí)驗(yàn)結(jié)果與分析

1:第一部分(BP神經(jīng)網(wǎng)絡(luò)對(duì)鳶尾花進(jìn)行分類和預(yù)測(cè))

【1:加載和預(yù)處理數(shù)據(jù)】

在任務(wù)1中,通過(guò)pandas庫(kù)讀取鳶尾數(shù)據(jù)集的信息,并將各列屬性存入df.columns中,并提取特征和標(biāo)簽。通過(guò)train_test_split功能,以7:3的比例劃分訓(xùn)練集和測(cè)試集,并對(duì)其進(jìn)行標(biāo)準(zhǔn)化操作。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


【2:數(shù)據(jù)可視化和分析】

在任務(wù)2中,通過(guò)調(diào)用seaborn庫(kù)對(duì)特征進(jìn)行對(duì)比,并畫出每?jī)蓚€(gè)特征之間的二維分布關(guān)系圖和各類鳶尾在當(dāng)前特征下的分布情況。整體代碼和數(shù)據(jù)集可視化結(jié)果如下圖所示,其中圖1為整體代碼,圖2為數(shù)據(jù)集可視化結(jié)果。

(圖1)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

(圖2)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

同時(shí),在任務(wù)2中創(chuàng)建了各個(gè)特征的直方圖,以驗(yàn)證上圖中的數(shù)據(jù)分布是否正確。整體代碼和直方圖可視化結(jié)果如下圖所示,其中圖1為整體代碼,圖2為花萼長(zhǎng)度直方圖,圖3為花萼寬度直方圖,圖4為花瓣長(zhǎng)度直方圖,圖5為花瓣寬度直方圖。

(圖1)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖2)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖3)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖4)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖5)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【3:構(gòu)建神經(jīng)網(wǎng)絡(luò)模型】


??? 在任務(wù)3中,調(diào)用sklearn庫(kù)中的多層感知器分類器(Multilayer Perceptron Classifier),創(chuàng)建BP神經(jīng)網(wǎng)絡(luò)模型。在神經(jīng)網(wǎng)絡(luò)中,設(shè)置初始學(xué)習(xí)速率為0.001,最大迭代次數(shù)為1000,設(shè)置2層神經(jīng)元個(gè)數(shù)均為10的隱藏層。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【4:訓(xùn)練模型】


在任務(wù)4中,調(diào)用fit來(lái)使用訓(xùn)練集對(duì)該模型進(jìn)行訓(xùn)練。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【5:評(píng)估模型】

在任務(wù)5中,計(jì)算該模型在訓(xùn)練集上的準(zhǔn)確率和在測(cè)試集上的準(zhǔn)確率,并輸出相應(yīng)的計(jì)算結(jié)果。整體代碼和輸出結(jié)果如下圖所示,其中圖1為整體代碼,圖2為程序輸出的計(jì)算結(jié)果(訓(xùn)練集準(zhǔn)確率為98%,測(cè)試集準(zhǔn)確率為98%)。

(圖1)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

(圖2)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

2:第二部分(BP神經(jīng)網(wǎng)絡(luò)對(duì)小規(guī)模手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行識(shí)別和預(yù)測(cè))

【0:導(dǎo)入?yún)⒖紝?shí)驗(yàn)代碼】

??? 在任務(wù)0中,導(dǎo)入neuralNetwork類中的相關(guān)代碼。

【1:設(shè)置模型參數(shù)】

在任務(wù)1中,人工填入BP神經(jīng)網(wǎng)絡(luò)模型的輸入節(jié)點(diǎn)數(shù)、隱藏節(jié)點(diǎn)數(shù)、輸出層節(jié)點(diǎn)數(shù)、學(xué)習(xí)速率。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【2:創(chuàng)建神經(jīng)網(wǎng)絡(luò)實(shí)例】


??? 在任務(wù)2中,調(diào)用neuralNetwork類,傳入各類模型參數(shù)后賦給變量n,進(jìn)行模型的存儲(chǔ)。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【3:加載MNIST訓(xùn)練數(shù)據(jù)集】

?? 在任務(wù)3中,打開存儲(chǔ)訓(xùn)練集信息的csv文件,并加載到training_data_list中。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【4:數(shù)據(jù)集抽樣可視化】

在任務(wù)4中,利用隨機(jī)種子抽取一個(gè)樣本數(shù)據(jù),然后調(diào)用matplotlib庫(kù)進(jìn)行圖像展示,并標(biāo)注其真實(shí)的標(biāo)簽類別。整體代碼如下圖所示,其中圖1為整體代碼,圖2為抽樣輸出結(jié)果。


(圖1)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖2)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【5:訓(xùn)練神經(jīng)網(wǎng)絡(luò)】


在任務(wù)5中,首先設(shè)置模型訓(xùn)練的迭代次數(shù)epochs,然后通過(guò)外層for循環(huán)訓(xùn)練每一代模型。內(nèi)存for循環(huán)遍歷每一個(gè)訓(xùn)練集數(shù)據(jù),輸入特征首先轉(zhuǎn)換為浮點(diǎn)數(shù),然后歸一化到0.01到1.00的范圍內(nèi),以便準(zhǔn)備神經(jīng)網(wǎng)絡(luò)的輸入。同時(shí),將輸出結(jié)果的標(biāo)記正確的分類任務(wù)輸出節(jié)點(diǎn),最后調(diào)用神經(jīng)網(wǎng)絡(luò)類中的train()函數(shù)進(jìn)行訓(xùn)練。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【6:加載MNIST測(cè)試數(shù)據(jù)集】


在任務(wù)6中,打開存儲(chǔ)測(cè)試集信息的csv文件,并加載到test_data_list中。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【7:預(yù)測(cè)測(cè)試集】


??? 在任務(wù)7中,初始化預(yù)測(cè)的標(biāo)簽集合predicted_labels、數(shù)據(jù)點(diǎn)真實(shí)的標(biāo)簽集合actual_labels和模型預(yù)測(cè)正確的個(gè)數(shù)cnt。在for循環(huán)中,遍歷每一個(gè)測(cè)試集數(shù)據(jù),并對(duì)輸入和輸出做預(yù)處理,然后調(diào)用神經(jīng)網(wǎng)絡(luò)類中的query()函數(shù)進(jìn)行預(yù)測(cè),最后將預(yù)測(cè)結(jié)果的標(biāo)簽加入predicted_labels中。整體代碼如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【8:計(jì)算準(zhǔn)確率】

??? 在任務(wù)8中,對(duì)比predicted_labels和actual_labels中的每一個(gè)標(biāo)簽,如果對(duì)應(yīng)相等則cnt自增1,表明該數(shù)據(jù)點(diǎn)預(yù)測(cè)正確。最后計(jì)算準(zhǔn)確率,且公式為:準(zhǔn)確率 = 預(yù)測(cè)正確的個(gè)數(shù) / 訓(xùn)練集數(shù)據(jù)的總數(shù)。整體代碼和準(zhǔn)確率計(jì)算結(jié)果如下圖所示,其中圖1為整體代碼,圖2為計(jì)算的準(zhǔn)確率結(jié)果(分類的準(zhǔn)確率為0.7)。

(圖1)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖2)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【9:輸出混淆矩陣】

在任務(wù)9中,調(diào)用sklearn庫(kù)中的混淆矩陣(confusion matrix),對(duì)測(cè)試集上的預(yù)測(cè)結(jié)果進(jìn)行可視化顯示。其中,x軸為模型預(yù)測(cè)的標(biāo)簽值,y軸為真實(shí)數(shù)據(jù)的標(biāo)簽值。整體代碼、標(biāo)簽對(duì)比結(jié)果和混淆矩陣結(jié)果如下圖所示,其中圖1為整體代碼,圖2為程序輸出的標(biāo)簽對(duì)比結(jié)果,圖3為程序輸出的混淆矩陣結(jié)果。

(圖1)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)


(圖2)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

(圖3)

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

由混淆矩陣可知,對(duì)角線上的結(jié)果均為預(yù)測(cè)正確的結(jié)果。預(yù)測(cè)錯(cuò)誤的結(jié)果有以下3個(gè)情況:5被預(yù)測(cè)為4、4被預(yù)測(cè)為9、9被預(yù)測(cè)為4。由此可知,5和4、4和9之間的手寫數(shù)據(jù)集容易被誤判。

2:第三部分(BP神經(jīng)網(wǎng)絡(luò)對(duì)大規(guī)模手寫數(shù)字?jǐn)?shù)據(jù)集進(jìn)行識(shí)別和預(yù)測(cè))

【數(shù)據(jù)集】

在本部分中,只需要修改csv文件路徑即可,因此不再贅述各部分操作。訓(xùn)練集和測(cè)試集路徑的修改如下表所示。

訓(xùn)練集路徑

training_data_file = open(r"C:\Users\86158\Desktop\mnist_train.csv")

測(cè)試集路徑

test_data_file = open(r"C:\Users\86158\Desktop\mnist_test.csv")

【混淆矩陣】

基于mnist_test.csv文件的測(cè)試集數(shù)據(jù)進(jìn)行預(yù)測(cè),預(yù)測(cè)的混淆矩陣結(jié)果如下圖所示??梢园l(fā)現(xiàn)大部分?jǐn)?shù)據(jù)都預(yù)測(cè)正確,位于混淆矩陣的主對(duì)角線上,部分?jǐn)?shù)據(jù)存在預(yù)測(cè)錯(cuò)誤的情況。真實(shí)值標(biāo)簽預(yù)測(cè)錯(cuò)誤分類不小于5個(gè)的有:2=>7、3=>5、4=>9、5=>3、5=>6、6=>0、6=>5、7=>2、7=>9、8=>0、9=>4。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【準(zhǔn)確率】


如下圖所示,計(jì)算的模型分類準(zhǔn)確率為98.13%。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

整體來(lái)說(shuō),基于BP神經(jīng)網(wǎng)絡(luò)的mnist手寫數(shù)字?jǐn)?shù)據(jù)集分類具有較好的結(jié)果,模型的準(zhǔn)確度基本達(dá)到分類任務(wù)的要求。

四、遇到的問(wèn)題和解決方法

問(wèn)題1:一開始的混淆矩陣輸出錯(cuò)誤,無(wú)法顯示正確的標(biāo)簽值。錯(cuò)誤的結(jié)果如下圖所示。

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

解決1:上面的情況是由于向confusion_matrix只傳入了真實(shí)標(biāo)簽集合和預(yù)測(cè)標(biāo)簽集合,而測(cè)試集中沒(méi)有完全出現(xiàn)0~9這10個(gè)數(shù)字的數(shù)據(jù)。因此,需要向confusion_matrix額外傳入數(shù)據(jù)集可能的分類結(jié)果集合all_labels。關(guān)鍵代碼如下表所示:

# 生成混淆矩陣

all_labels = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

cm = confusion_matrix(actual_labels, predicted_labels, labels=all_labels)

# 設(shè)置圖像大小

plt.figure(figsize=(10, 10))

# 創(chuàng)建熱圖

sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=all_labels, yticklabels=all_labels)

五、實(shí)驗(yàn)討論

1:學(xué)習(xí)率對(duì)輸出結(jié)果的影響

【討論1】

??? 使用mnist小樣本數(shù)據(jù)集和第二部分實(shí)驗(yàn)的代碼,固定輸入節(jié)點(diǎn)數(shù)為784、隱藏層節(jié)點(diǎn)數(shù)為200、輸出節(jié)點(diǎn)數(shù)為10。由學(xué)習(xí)速率的變化所引起的模型分類準(zhǔn)確率的變化,如下表所示。

測(cè)試編號(hào)

學(xué)習(xí)速率

模型分類準(zhǔn)確率

1

0.01

0.6

2

0.05

0.7

3

0.1

0.7

4

0.5

0.7

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)1的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)2的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)3的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)4的輸出】

【討論2】

使用鳶尾數(shù)據(jù)集和第一部分實(shí)驗(yàn)的代碼,固定隱藏層1點(diǎn)數(shù)為10、隱藏層2點(diǎn)數(shù)為10、最大迭代次數(shù)為1000。由初始學(xué)習(xí)速率的變化所引起的模型分類準(zhǔn)確率的變化,如下表所示。

測(cè)試編號(hào)

初始學(xué)習(xí)速率

模型分類準(zhǔn)確率

1

0.0001

0.62

2

0.0005

0.93

3

0.001

0.98

4

0.002

0.96

5

0.005

0.96

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)1的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)2的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)3的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)4的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)5的輸出】

【總結(jié)】

??? 在其他參數(shù)不變的情況下,隨著學(xué)習(xí)速率的上升,訓(xùn)練集的準(zhǔn)確率不斷上升,而測(cè)試集的準(zhǔn)確率先上升后下降。這表明,學(xué)習(xí)速率會(huì)影響訓(xùn)練集的收斂速度和準(zhǔn)確率,并且當(dāng)學(xué)習(xí)速率過(guò)大時(shí)會(huì)產(chǎn)生過(guò)擬合現(xiàn)象,使得模型在測(cè)試集上的表現(xiàn)效果較差。

2:隱層神經(jīng)元對(duì)輸出結(jié)果的影響

【討論1】

使用mnist小樣本數(shù)據(jù)集和第二部分實(shí)驗(yàn)的代碼,固定輸入節(jié)點(diǎn)數(shù)為784、學(xué)習(xí)速率為0.1、輸出節(jié)點(diǎn)數(shù)為10。由隱藏層神經(jīng)元的變化所引起的模型分類準(zhǔn)確率的變化,如下表所示。

測(cè)試編號(hào)

隱藏層神經(jīng)元數(shù)

模型分類準(zhǔn)確率

1

10

0.6

2

40

0.6

3

60

0.7

4

100

0.7

5

200

0.7

6

1000

0.7

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)1的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)2的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)3的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)4的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)5的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)6的輸出】

【討論2】

使用鳶尾數(shù)據(jù)集和第一部分實(shí)驗(yàn)的代碼,固定初始學(xué)習(xí)速率為0.001、最大迭代次數(shù)為500。由隱藏層神經(jīng)元的變化所引起的模型分類準(zhǔn)確率的變化,如下表所示。

測(cè)試編號(hào)

隱藏層數(shù)

各層的神經(jīng)元數(shù)

模型分類準(zhǔn)確率

1

1

5

0.89

2

2

5,5

0.80

3

1

10

0.93

4

2

10,10

0.96

5

1

20

0.89

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)1的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)2的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)3的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)4的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)

【測(cè)試編號(hào)5的輸出】

【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò),人工智能,人工智能,神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)
【測(cè)試編號(hào)6的輸出】

【總結(jié)】

??? 根據(jù)上述討論可知,過(guò)多或過(guò)少的神經(jīng)元都可能不利于模型的訓(xùn)練和性能。隱藏層神經(jīng)元在神經(jīng)網(wǎng)絡(luò)中的影響主要分為以下幾點(diǎn):

(1)捕捉數(shù)據(jù)復(fù)雜性的能力

隱層神經(jīng)元的數(shù)量和層數(shù)可以顯著影響網(wǎng)絡(luò)的能力來(lái)捕捉數(shù)據(jù)中的復(fù)雜關(guān)系和模式。較多的神經(jīng)元可以提供更強(qiáng)的模型容量,允許網(wǎng)絡(luò)學(xué)習(xí)更復(fù)雜的函數(shù)映射。

(2)過(guò)擬合風(fēng)險(xiǎn)

??? 如果隱層神經(jīng)元過(guò)多,可能會(huì)導(dǎo)致模型在訓(xùn)練數(shù)據(jù)上過(guò)于完美的擬合,從而降低了模型的泛化能力,即在新數(shù)據(jù)集上的表現(xiàn)性能不好。

(3)計(jì)算成本

??? 更多的隱層神經(jīng)元需要更多的參數(shù)來(lái)訓(xùn)練,會(huì)增加模型的計(jì)算負(fù)擔(dān),并可能需要更復(fù)雜的算法來(lái)避免訓(xùn)練中的梯度問(wèn)題(例如梯度消失或爆炸)。

(4)收斂速度

神經(jīng)元數(shù)量的增加可能會(huì)影響梯度下降的速度和穩(wěn)定性,進(jìn)而影響模型的收斂速度。

(5)信息丟失與重構(gòu)

每一層的隱層神經(jīng)元都在嘗試從前一層中提取信息并向下一層傳遞。如果隱層神經(jīng)元太少,可能會(huì)造成信息的丟失;如果神經(jīng)元太多,則可能會(huì)學(xué)習(xí)到數(shù)據(jù)中的噪聲。

3:在手寫數(shù)字的識(shí)別和預(yù)測(cè)中,大樣本數(shù)據(jù)集和小樣本數(shù)據(jù)集的差異

(1)泛化能力

大樣本數(shù)據(jù)集:通常能更好地代表問(wèn)題的整體分布,幫助模型學(xué)習(xí)更通用的規(guī)律,提高模型在未知數(shù)據(jù)上的泛化能力。

小樣本數(shù)據(jù)集:可能不足以捕捉數(shù)據(jù)的所有特征和變化,容易導(dǎo)致模型過(guò)擬合,即模型在訓(xùn)練數(shù)據(jù)上表現(xiàn)良好但在新數(shù)據(jù)上表現(xiàn)不佳。

(2)訓(xùn)練時(shí)間

大樣本數(shù)據(jù)集:模型需要處理更多的數(shù)據(jù),會(huì)需要更長(zhǎng)的時(shí)間來(lái)訓(xùn)練模型。

小樣本數(shù)據(jù)集:數(shù)據(jù)量較少,訓(xùn)練時(shí)間較短。

(3)性能和準(zhǔn)確度

大樣本數(shù)據(jù)集:由于數(shù)據(jù)量大,模型的性能和準(zhǔn)確度通常會(huì)更高。

小樣本數(shù)據(jù)集:可能因?yàn)閿?shù)據(jù)量不足而難以達(dá)到高準(zhǔn)確度,特別是在數(shù)據(jù)分布非常多樣化的任務(wù)中。

(4)數(shù)據(jù)多樣性和覆蓋范圍

大樣本數(shù)據(jù)集:通常能覆蓋更廣泛的樣本多樣性,包括各種不同的手寫風(fēng)格和變形。

小樣本數(shù)據(jù)集:可能缺乏多樣性,限制了模型學(xué)習(xí)數(shù)據(jù)的全貌。

六、實(shí)驗(yàn)總結(jié)

1:BP神經(jīng)網(wǎng)絡(luò)是一個(gè)前向多層網(wǎng)絡(luò),利用誤差反向傳播算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)由輸入層、隱藏層和輸出層構(gòu)成,結(jié)構(gòu)簡(jiǎn)單、可塑性強(qiáng)。

2:輸入層的節(jié)點(diǎn)只起到緩沖器的作用,負(fù)責(zé)把網(wǎng)絡(luò)的輸入數(shù)據(jù)傳遞給第一隱含層,因而各節(jié)點(diǎn)之間沒(méi)有傳遞函數(shù)的功能。BP神經(jīng)網(wǎng)絡(luò)的上下層之間實(shí)現(xiàn)全連接,而每層神經(jīng)元之間無(wú)連接。

七、程序源代碼

1:第一部分

import pandas as pd

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import LabelEncoder, StandardScaler

import matplotlib.pyplot as plt

import seaborn as sns

from sklearn.neural_network import MLPClassifier

################# 1:加載和預(yù)處理數(shù)據(jù) #################

# 加載數(shù)據(jù)

url = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'

df = pd.read_csv(url, header=None)

df.columns = ['Sepal Length', 'Sepal Width', 'Petal Length', 'Petal Width', 'Species']

# 提取特征和標(biāo)簽

X = df.iloc[:, 0:4].values

y = df.iloc[:, 4].values

# 編碼標(biāo)簽

label_encoder = LabelEncoder()

y = label_encoder.fit_transform(y)

# 劃分訓(xùn)練集和測(cè)試集

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=1)

# 特征縮放

scaler = StandardScaler()

X_train = scaler.fit_transform(X_train)

X_test = scaler.transform(X_test)

################# 2:數(shù)據(jù)可視化和分析 #################

# 使用Seaborn對(duì)特征進(jìn)行對(duì)比

sns.pairplot(df, hue='Species', vars=df.columns[0:4])

plt.show()文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-781691.html

# 特征列表

features = df.columns[:4]

# 創(chuàng)建直方圖

for feature in features:

? ? plt.figure()

? ? sns.histplot(df[feature], kde=True)

? ? plt.title(f'Distribution of {feature}')

? ? plt.show()

################# 3:構(gòu)建神經(jīng)網(wǎng)絡(luò)模型 #################

# 創(chuàng)建神經(jīng)網(wǎng)絡(luò)模型————多層感知器分類器(Multilayer Perceptron Classifier

model = MLPClassifier(hidden_layer_sizes=(10, 10), max_iter=1000, learning_rate_init=0.001)

################# 4:訓(xùn)練模型 #################

# 訓(xùn)練模型

model.fit(X_train, y_train)

################# 5:評(píng)估模型 #################

# 評(píng)估模型

train_accuracy = model.score(X_train, y_train)

print(f"train數(shù)據(jù)集準(zhǔn)確率: {train_accuracy:.2f}")

test_accuracy = model.score(X_test, y_test)

print(f"test數(shù)據(jù)集準(zhǔn)確率: {test_accuracy:.2f}")

2:第二部分

import numpy as np

import scipy.special as S

import matplotlib.pyplot as plt

from sklearn.metrics import confusion_matrix

import seaborn as sns

import random

class neuralNetwork:

? ? #初始化神經(jīng)網(wǎng)絡(luò),構(gòu)造函數(shù)

? ? def __init__(self, inputnodes, hiddennodes, outputnodes, learningrate):

? ? ? ? #設(shè)置每個(gè)輸入、隱藏、輸出層中的節(jié)點(diǎn)數(shù)

? ? ? ? self.inodes = inputnodes

? ? ? ? self.hnodes = hiddennodes

? ? ? ? self.onodes = outputnodes

? ? ? ? #鏈接權(quán)重矩陣,wihwho

? ? ? ? self.wih = np.random.normal(0.0, pow(self.inodes, -0.5), (self.hnodes, self.inodes))

? ? ? ? self.who = np.random.normal(0.0, pow(self.hnodes, -0.5), (self.onodes, self.hnodes))

? ? ? ? #學(xué)習(xí)率

? ? ? ? self.lr = learningrate

? ? ? ? #創(chuàng)建激活函數(shù)(函數(shù)的另一種定義方法,這樣以后可以直接調(diào)用)

? ? ? ? self.activation_function = lambda x: S.expit(x)

? ? #訓(xùn)練神經(jīng)網(wǎng)絡(luò)

? ? def train(self, inputs_list, targets_list):

? ? ? ? #將輸入列表轉(zhuǎn)換成二維數(shù)組

? ? ? ? inputs = np.array(inputs_list, ndmin = 2).T

? ? ? ? targets = np.array(targets_list, ndmin = 2).T

? ? ? ? #將輸入信號(hào)計(jì)算到隱藏層

? ? ? ? hidden_inputs = np.dot(self.wih, inputs)

? ? ? ? #計(jì)算隱藏層中輸出的信號(hào)(使用激活函數(shù)計(jì)算)

? ? ? ? hidden_outputs = self.activation_function(hidden_inputs)

? ? ? ? #將傳輸?shù)男盘?hào)計(jì)算到輸出層

? ? ? ? final_inputs = np.dot(self.who, hidden_outputs)

? ? ? ? #計(jì)算輸出層中輸出的信號(hào)(使用激活函數(shù))

? ? ? ? final_outputs = self.activation_function(final_inputs)

? ? ? ? #計(jì)算輸出層的誤差:(target - actual(預(yù)期目標(biāo)輸出值-實(shí)際計(jì)算得到的輸出值)

? ? ? ? output_errors = targets - final_outputs

? ? ? ? #隱藏層的誤差:是輸出層誤差按權(quán)重分割,在隱藏節(jié)點(diǎn)上重新組合

? ? ? ? hidden_errors = np.dot(self.who.T, output_errors*final_outputs*(1.0 - final_outputs))

? ? ? ? #反向傳播,更新各層權(quán)重

? ? ? ? #更新隱層和輸出層之間的權(quán)重

? ? ? ? self.who += self.lr*np.dot((output_errors*final_outputs*(1.0 - final_outputs)), np.transpose(hidden_outputs))

? ? ? ? self.wih += self.lr*np.dot((hidden_errors*hidden_outputs*(1.0 - hidden_outputs)), np.transpose(inputs))

? ? def query(self, inputs_list):

? ? ? ? #將輸入列表轉(zhuǎn)換成二維數(shù)組

? ? ? ? inputs = np.array(inputs_list, ndmin = 2).T

? ? ? ? hidden_inputs = np.dot(self.wih, inputs)

? ? ? ? hidden_outputs = self.activation_function(hidden_inputs)

? ? ? ? final_inputs = np.dot(self.who, hidden_outputs)

? ? ? ? final_outputs = self.activation_function(final_inputs)

? ? ? ? return final_outputs

# 設(shè)置輸入、隱藏、輸出層中的節(jié)點(diǎn)數(shù),和學(xué)習(xí)率

input_nodes = 784 ? # 根據(jù)一開始的圖像特征數(shù)決定

hidden_nodes = 200

output_nodes = 10 ? # 根據(jù)最后的分類決定

learning_rate = 0.1

# 創(chuàng)建神經(jīng)網(wǎng)絡(luò)實(shí)例

n = neuralNetwork(input_nodes, hidden_nodes, output_nodes, learning_rate)

# 加載MNIST訓(xùn)練數(shù)據(jù)集

training_data_file = open(r"C:\Users\86158\Desktop\mnist_train_100.csv")

training_data_list = training_data_file.readlines()

training_data_file.close()

# 隨機(jī)選擇一個(gè)樣本

random_index = random.randint(0, len(training_data_list) - 1)

all_values = training_data_list[random_index].split(',')

image_array = np.asfarray(all_values[1:]).reshape((28,28))

# 可視化選中的樣本

plt.imshow(image_array, cmap='Greys', interpolation='None')

plt.title("Label: " + all_values[0])

plt.show()

# 訓(xùn)練神經(jīng)網(wǎng)絡(luò)

epochs = 50

for e in range(epochs):

? ? for record in training_data_list:

? ? ? ? all_values = record.split(',')

? ? ? ? inputs = (np.asfarray(all_values[1:]) / 255.0 * 0.99) + 0.01

? ? ? ? targets = np.zeros(output_nodes) + 0.01

? ? ? ? targets[int(all_values[0])] = 0.99

? ? ? ? n.train(inputs, targets)

# 加載MNIST測(cè)試數(shù)據(jù)集

test_data_file = open(r"C:\Users\86158\Desktop\mnist_test_10.csv")

test_data_list = test_data_file.readlines()

test_data_file.close()

# 預(yù)測(cè)測(cè)試集

predicted_labels = []

actual_labels = []

cnt = 0

for record in test_data_list:

? ? all_values = record.split(',')

? ? actual_label = int(all_values[0])

? ? actual_labels.append(actual_label)

? ? inputs = (np.asfarray(all_values[1:]) / 255.0 * 0.99) + 0.01

? ? outputs = n.query(inputs)

? ? predicted_label = np.argmax(outputs)

? ? predicted_labels.append(predicted_label)

# 計(jì)算準(zhǔn)確率

for i in range(len(predicted_labels)):

? ? if actual_labels[i] == predicted_labels[i]:

? ? ? ? cnt += 1

accuracy = float(cnt / len(predicted_labels))

print("分類的準(zhǔn)確率:",accuracy)

# 打印標(biāo)簽

print("真實(shí)值標(biāo)簽:",actual_labels)

print("預(yù)測(cè)值標(biāo)簽:",predicted_labels)

# 生成混淆矩陣

all_labels = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

cm = confusion_matrix(actual_labels, predicted_labels, labels=all_labels)

# 設(shè)置圖像大小

plt.figure(figsize=(10, 10))

# 創(chuàng)建熱圖

sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', xticklabels=all_labels, yticklabels=all_labels)

plt.xlabel('Predicted Labels')

plt.ylabel('True Labels')

plt.title('Confusion Matrix')

plt.show()

到了這里,關(guān)于【人工智能Ⅰ】實(shí)驗(yàn)9:BP神經(jīng)網(wǎng)絡(luò)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 人工智能-線性神經(jīng)網(wǎng)絡(luò)

    線性神經(jīng)網(wǎng)絡(luò) 在介紹深度神經(jīng)網(wǎng)絡(luò)之前,我們需要了解神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基礎(chǔ)知識(shí)。 本章我們將介紹神經(jīng)網(wǎng)絡(luò)的整個(gè)訓(xùn)練過(guò)程, 包括:定義簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)架構(gòu)、數(shù)據(jù)處理、指定損失函數(shù)和如何訓(xùn)練模型。 為了更容易學(xué)習(xí),我們將從經(jīng)典算法———— 線性 神經(jīng)網(wǎng)絡(luò)開始,介

    2024年02月06日
    瀏覽(19)
  • 人工智能神經(jīng)網(wǎng)絡(luò)概念股,神經(jīng)網(wǎng)絡(luò)芯片概念股

    人工智能神經(jīng)網(wǎng)絡(luò)概念股,神經(jīng)網(wǎng)絡(luò)芯片概念股

    人工智能包含硬件智能、軟件智能和其他。 硬件智能包括:漢王科技、康力電梯、慈星股份、東方網(wǎng)力、高新興、紫光股份。 軟件智能包括:金自天正、科大訊飛。 其他類包括:中科曙光、京山輕機(jī)。 谷歌人工智能寫作項(xiàng)目:小發(fā)貓 1、蘇州科達(dá):蘇州科達(dá)科技股份有限公

    2024年02月07日
    瀏覽(28)
  • 【復(fù)習(xí)】人工智能 第 8 章 人工神經(jīng)網(wǎng)絡(luò)及其應(yīng)用

    【復(fù)習(xí)】人工智能 第 8 章 人工神經(jīng)網(wǎng)絡(luò)及其應(yīng)用

    因?yàn)橛?jì)算牽扯到導(dǎo)數(shù),所以這章難的部分不會(huì)考太難。 人工神經(jīng)網(wǎng)絡(luò)是對(duì)人腦或生物神經(jīng)網(wǎng)絡(luò)若干基本特性的抽象和模擬。 深度學(xué)習(xí)是神經(jīng)網(wǎng)絡(luò)的發(fā)展。 人工智能曾經(jīng)歷過(guò)很長(zhǎng)一段時(shí)間的停滯不前。 浩瀚的宇宙中,也許只有包含數(shù)千憶顆星球的銀河系的復(fù)雜性能夠與大腦相

    2024年01月19日
    瀏覽(38)
  • 人工智能之卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    人工智能之卷積神經(jīng)網(wǎng)絡(luò)(CNN)

    前言:今天我們重點(diǎn)探討一下卷積神經(jīng)網(wǎng)絡(luò)(CNN)算法。 _ 20世紀(jì)60年代,Hubel和Wiesel在研究貓腦皮層中用于局部敏感和方向選擇的神經(jīng)元時(shí)發(fā)現(xiàn)其獨(dú)特的網(wǎng)絡(luò)結(jié)構(gòu)可以有效地降低反饋神經(jīng)網(wǎng)絡(luò)的復(fù)雜性,繼而提出了卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Networks)。 1980年,K.Fukushima提

    2024年02月20日
    瀏覽(19)
  • 神經(jīng)網(wǎng)絡(luò)與人工智能:未來(lái)的前沿

    人工智能(Artificial Intelligence, AI)是一門研究如何讓機(jī)器具有智能行為的科學(xué)。在過(guò)去的幾十年里,人工智能研究主要集中在規(guī)則-基于的系統(tǒng)、知識(shí)-基于的系統(tǒng)以及黑盒模型。然而,在過(guò)去的幾年里,一種新的人工智能技術(shù)已經(jīng)吸引了廣泛的關(guān)注:神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是一種模

    2024年02月21日
    瀏覽(95)
  • 【人工智能】— 深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、多卷積核、全連接、池化

    【人工智能】— 深度神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、多卷積核、全連接、池化

    Pre-training + Fine-tuning Pre-training(預(yù)訓(xùn)練) : 監(jiān)督逐層訓(xùn)練是多隱層網(wǎng)絡(luò)訓(xùn)練的有效手段, 每次訓(xùn)練一層隱層結(jié)點(diǎn), 訓(xùn)練時(shí)將上一層隱層結(jié)點(diǎn)的輸出作為輸入, 而本層隱結(jié)點(diǎn)的輸出作為下一層隱結(jié)點(diǎn)的輸入, 這稱為”預(yù)訓(xùn)練”. Fine-tuning(微調(diào)) : 在預(yù)訓(xùn)練全部完成后, 再對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行

    2024年02月10日
    瀏覽(48)
  • 人工智能:CNN(卷積神經(jīng)網(wǎng)絡(luò))、RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))、DNN(深度神經(jīng)網(wǎng)絡(luò))的知識(shí)梳理

    卷積神經(jīng)網(wǎng)絡(luò)(CNN),也被稱為ConvNets或Convolutional Neural Networks,是一種深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)架構(gòu),主要用于處理和分析具有網(wǎng)格狀結(jié)構(gòu)的數(shù)據(jù),特別是圖像和視頻數(shù)據(jù)。CNN 在計(jì)算機(jī)視覺(jué)任務(wù)中表現(xiàn)出色,因?yàn)樗鼈兡軌蛴行У夭东@和識(shí)別圖像中的特征,具有平移不變性(transla

    2024年02月05日
    瀏覽(41)
  • 深入了解神經(jīng)網(wǎng)絡(luò):構(gòu)建人工智能的基石

    深入了解神經(jīng)網(wǎng)絡(luò):構(gòu)建人工智能的基石

    目錄 引言: 第一部分:神經(jīng)元 - 生物的靈感 第二部分:人工神經(jīng)元 - 數(shù)學(xué)的力量 第三部分:神經(jīng)網(wǎng)絡(luò) - 層層堆疊 第四部分:訓(xùn)練神經(jīng)網(wǎng)絡(luò) - 損失函數(shù)和反向傳播算法 結(jié)論: 神經(jīng)網(wǎng)絡(luò)是一種受到生物神經(jīng)系統(tǒng)啟發(fā)的人工智能模型,它重現(xiàn)了大腦中神經(jīng)元之間相互連接的方式

    2024年04月15日
    瀏覽(29)
  • 深度學(xué)習(xí)2.神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)、人工智能

    深度學(xué)習(xí)2.神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)、人工智能

    目錄 深度學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)、人工智能的關(guān)系 大白話解釋深度學(xué)習(xí) 傳統(tǒng)機(jī)器學(xué)習(xí) VS 深度學(xué)習(xí) 深度學(xué)習(xí)的優(yōu)缺點(diǎn) 4種典型的深度學(xué)習(xí)算法 卷積神經(jīng)網(wǎng)絡(luò) – CNN 循環(huán)神經(jīng)網(wǎng)絡(luò) – RNN 生成對(duì)抗網(wǎng)絡(luò) – GANs 深度強(qiáng)化學(xué)習(xí) – RL 總結(jié) 深度學(xué)習(xí) 深度學(xué)習(xí)、機(jī)器學(xué)習(xí)、人工智能

    2024年02月11日
    瀏覽(142)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包