日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于人工神经网络的识别C语言,实验一基于人工神经网络的数码识别.doc

發(fā)布時(shí)間:2023/12/2 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于人工神经网络的识别C语言,实验一基于人工神经网络的数码识别.doc 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)驗(yàn)一基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)碼識(shí)別

《人工智能導(dǎo)論》課程

基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)碼識(shí)別

班級(jí):計(jì)1103學(xué)號(hào):201107010330姓名:賈夢(mèng)潔

成績(jī)?cè)u(píng)定:評(píng)閱老師:日 期:

實(shí)驗(yàn)報(bào)告正文一、實(shí)驗(yàn)?zāi)康?????基于神經(jīng)網(wǎng)絡(luò)的數(shù)字識(shí)別系統(tǒng)二、實(shí)驗(yàn)內(nèi)容?通常實(shí)現(xiàn)手寫體數(shù)字識(shí)別技術(shù)的方法有很多種,比如說(shuō)Fisher線性判別方法,最小風(fēng)險(xiǎn)貝葉斯判別方法,樸素貝葉斯判別方法,神經(jīng)網(wǎng)絡(luò)方法等。這些方法都可以實(shí)現(xiàn)手寫體數(shù)字的識(shí)別,本課題是采用后向傳播(BP)神經(jīng)網(wǎng)絡(luò)算法,先用MATLAB自帶的函數(shù)im2bw把輸入的數(shù)字圖像二值化處理,然后取得圖片數(shù)字部分的最大行列和最小行列,對(duì)圖片進(jìn)行實(shí)際大小的裁剪,為接下來(lái)的歸一化做鋪墊,取得圖像的矩陣特征值,輸入到設(shè)置好的BP網(wǎng)絡(luò)中,讓網(wǎng)絡(luò)學(xué)習(xí),并保存網(wǎng)絡(luò),最后用sim函數(shù)仿真識(shí)別。運(yùn)行程序后,訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對(duì)輸入的數(shù)字進(jìn)行識(shí)別。但是有時(shí)識(shí)別同一數(shù)字圖片后所得出的結(jié)果會(huì)不相同,訓(xùn)練網(wǎng)絡(luò)的時(shí)長(zhǎng),精確度也不相同。由此我們可以得出神經(jīng)網(wǎng)絡(luò)具有不穩(wěn)定性和局限性,同時(shí)很多因素都能影響網(wǎng)絡(luò),比如加入噪聲,所以神經(jīng)網(wǎng)絡(luò)仍需要人們進(jìn)一步的研究。三、實(shí)驗(yàn)所用智能算法基本原理與流程?學(xué)習(xí)過(guò)程中由信號(hào)的正向傳播與誤差的逆向傳播兩個(gè)過(guò)程組成.?正向傳播時(shí),?模式作用于輸入層,?經(jīng)隱層處理后,?傳入誤差的逆向傳播階段,?將輸出誤差按某種子形式,?通過(guò)隱層向輸入層逐層返回,?并“分?jǐn)偂苯o各層的所有單元,?從而獲得各層單元的參考誤差或稱誤差信號(hào),?以作為修改各單元權(quán)值的依據(jù).?權(quán)值不斷修改的過(guò)程,?也就是網(wǎng)絡(luò)學(xué)習(xí)過(guò)程.?此過(guò)程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差準(zhǔn)逐漸減少到可接受的程度或達(dá)到設(shè)定的學(xué)習(xí)次數(shù)為止.?BP網(wǎng)絡(luò)模型包括其輸入輸出模型,?作用函數(shù)模型,?誤差計(jì)算模型和自學(xué)習(xí)模型.?BP網(wǎng)絡(luò)由輸入層,?輸出層以及一個(gè)或多個(gè)隱層節(jié)點(diǎn)互連而成的一種多層網(wǎng),?這種結(jié)構(gòu)使多層前饋網(wǎng)絡(luò)可在輸入和輸出間建立合適的線性或非線性關(guān)系,?又不致使網(wǎng)絡(luò)輸出限制在-1和1之間.??該系統(tǒng)使用自建樣本庫(kù),應(yīng)用BP神經(jīng)網(wǎng)絡(luò)算法對(duì)樣本進(jìn)行訓(xùn)練識(shí)別。系統(tǒng)分為預(yù)處理、特征提取、分類器三部分。其中,預(yù)處理包括數(shù)據(jù)的讀取??灰度轉(zhuǎn)換,二值化,去噪,然后得到特征值,分類器的設(shè)計(jì)是整個(gè)系統(tǒng)的核心部分。具體程序流程圖如下:?

四、系統(tǒng)構(gòu)成與程序設(shè)計(jì)?#include?"tvec.h"?#include?"tmat.h"?#include?五、核心代碼?#include?"tvec.h"?#include?"tmat.h"?#include??typedef?tmat?CMatrix;?typedef?tvec?CVector;一個(gè)簡(jiǎn)單易用的矩陣類庫(kù)??????????????????使用簡(jiǎn)介:???初始化矩陣:?tmaxA(3,2);????????-生成一個(gè)3行2列的零陣?初始化矩陣:?tmaxB(2,2,a);??????-生成一個(gè)2行2列的矩陣并利用數(shù)組a的前2×2個(gè)元素為其賦值。???????????這里要求a至少要包含2×2個(gè)元素?給矩陣元素賦值: ?A(1,2)=1.0;?? ?-將1.0賦給矩陣A的第1行、第2列?取矩陣元素的值:?f=A(2,2);?????? ?-取出矩陣A第2行、第2列的值賦給f?矩陣的加、減、乘:?A=B+C;C=B*A;等等,可以像普通數(shù)據(jù)類型那樣直接進(jìn)行運(yùn)算符運(yùn)算?矩陣轉(zhuǎn)置:????? ?transpose(A);?求矩陣行列式:?? ?det(A);????? 注意:必須是方陣?矩陣求逆:?????? ?inv(A);??注意:必須是方陣??得到矩陣的行數(shù)和列數(shù):? ? A.nrows();??? A.ncols();??resize矩陣:?? A.resize(2,2);???????????-取原來(lái)A矩陣的前2×2個(gè)元素來(lái)構(gòu)造新尺寸的A?

?另外,tvec.h則包含了一個(gè)矢量(向量)類庫(kù),這里也簡(jiǎn)要介紹一下??

初始化向量:?tvecA;???????? ?-生成一個(gè)一維的向量。默認(rèn)初始值為0?初始化向量:?tvecB(4);????? ?-生成一個(gè)4維的向量?初始化向量:?tvecC(4,0.1);?? -生成一個(gè)4維的向量,并將每一維元素初始化為0.1?初始化向量:?tvecD(5,a);??? ?-生成一個(gè)5維的向量,并用數(shù)組a的前5個(gè)元素為其賦值?初始化向量:?tvecE(B);????? ?-由向量B來(lái)初始化向量E。相當(dāng)于復(fù)制向量給向量的元素

總結(jié)

以上是生活随笔為你收集整理的基于人工神经网络的识别C语言,实验一基于人工神经网络的数码识别.doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。