人工神经网络matlab啊6,MATLAB人工神经网络教程
深度學習在這些年是非常熱門的話題,特別是在計算機視覺應用方面,也許你會在新聞上有所耳聞并感到好奇。那么現在的問題是,該如何入手?今天帶來一篇人工神經網絡的快速入門教程。
MNIST 數據集
我們當中有許多人想在一個具體的例子中開始入手。那我就寫一個手把手快速教程,我們用一個常用的?MINIST 手寫數字數據集作為例子以使教程比較直觀的、易理解。Kaggle 剛好也在數字識別教程中使用這個數據集。你需要從?“Get the Data”?頁面中下載這些數據集:
train.csv – 訓練數據
test.csv – 測試數據
當你已經將上述文件下載到當前文件夾時,將訓練數據和測試數據都加載進 MATLAB,測試數據用于生成你的提交。
tr = csvread('train.csv', 1, 0); % 讀文件 train.csv
sub = csvread('test.csv', 1, 0); % 讀文件 test.csv
第一列是數據集中每個樣本字符的正確標簽,每行一個樣本。剩余的列中,每行表示一個28×28的手寫字符的圖像,所有像素都放在一行中,而不是原本的矩陣格式。如果要使字符可視化,我們需要將這些行重新組織成28×28的矩陣。?reshape?操作是按列進行的,所以除非你需要對數據進行轉置,否則可以用?reshape?函數實現這字符的可視化。
figure
% 繪制圖像
colormap(gray)
% 設置為灰度圖
for i = 1:25
% 查看前25個樣本
subplot(5,5,i)
% 在6 x 6的格子中繪制
digit = reshape(tr(i, 2:end), [28,28])'; % 行數據 = 28 x 28 的圖像
imagesc(digit)
% 顯示圖像
title(num2str(tr(i, 1)))
% 顯示標簽
end
準備數據
你可以使用神經網絡工具箱中的模式識別應用nprtool?。這個應用需要兩個數據集:
輸入 – 一個數值矩陣,列表示樣本,行表示特征。該數據集是手寫字符的掃描圖像;
目標 – 一個0和1的數值矩陣,映射到圖像代表的特定標簽。該數據集中的值也被稱為虛擬變量。神經網絡工具箱中希望標簽被保存成列而不是行。
標簽的取值范圍是0到9,但由于MTLAB中的下表是從1開始的,所以我們可以用“10”表示“0”。
1 --> [1; 0; 0; 0; 0; 0; 0; 0; 0; 0]
2 --> [0; 1; 0; 0; 0; 0; 0; 0; 0; 0]
3 --> [0; 0; 1; 0; 0; 0; 0; 0; 0; 0]
:
0 --> [0; 0; 0; 0; 0; 0; 0; 0; 0; 1]
數據集中的樣本是按列保存而不是按行保存的,所以你需要對數據進行轉置。然后,你需要將數據集分割,保留1/3的數據用作模型評估,僅用2/3的數據來訓練我們的人工神經網絡模型。
n = size(tr, 1);
% 數據集中的樣本數量
targets = tr(:,1);
% 第一列是 |標簽|
targets(targets == 0) = 10;
% 用'10' 表示'0'
targetsd = dummyvar(targets);
% 將標簽轉化為虛擬變量
inputs = tr(:,2:end);
% 剩余的列為預測量
inputs = inputs';
% 轉置輸入矩陣
targets = targets';
% 轉置目標矩陣
targetsd = targetsd';
% 轉置虛擬變量
rng(1);
% 消除隨機數列的再現性
c = cvpartition(n,'Holdout',n/3); % 保留1/3的數據集
Xtrain = inputs(:, training(c)); % 輸入集的2/3用于訓練
Ytrain = targetsd(:, training(c)); % 目標集的2/3用于訓練
Xtest = inputs(:, test(c));
% 輸入集的1/3用于測試
Ytest = targets(test(c));
% 目標集的1/3用于測試
Ytestd = targetsd(:, test(c));
% 虛擬變量的1/3用于測試
使用神經網絡工具箱中的圖形界面應用(GUI APP)
你可以通過鍵入命令?nnstart?來打開神經網絡的啟動圖形界面。
進入啟動界面后,可以通過單擊模式識別工具來打開神經網絡模式識別工具。你也可以通過命令?nprtool?來直接打開它。
單擊歡迎頁面上的“Next”(下一步),進入“Select Data”(數據選擇)界面。
選擇Xtrain作為輸入,Ytrain為訓練目標。
總結
以上是生活随笔為你收集整理的人工神经网络matlab啊6,MATLAB人工神经网络教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌大模型团队并入 DeepMind,誓
- 下一篇: php流导出excel内存溢出,phpE