How can i train neural network for letter recognition using matlab and she to has 26 outputs like 26 letters in english alphabet?
조회 수: 7 (최근 30일)
이전 댓글 표시
Hi all. I want to make project for letter recognition data using neural network. I use this dateset: https://archive.ics.uci.edu/ml/datasets/Letter+Recognition Тhis is my code to prepare data:
clear all;
fid = fopen('letter-recognition.data', 'rt');
num_attrib = 16;
fmt = ['%s', repmat('%f', 1, num_attrib)];
datacell = textscan(fid, fmt, 'Delimiter', ',', 'CollectOutput', 1);
fclose(fid);
which_letter = char(datacell{1});
attribs = datacell{2};
target_codes = which_letter - 'A' + 1;
train_set = attribs(1:end-4000, :);
train_targets = target_codes(1:end-4000);
Тhe problem that I have is: I can not do to have 26 targets (as there are letters in the alphabet). I wanna to have 16000 inputs and 26 outputs.
댓글 수: 0
채택된 답변
Greg Heath
2016년 3월 21일
The target columns should be columns of the unit matrix
eye(26)
The relationships between the target and class indices are given by
target = ind2vec(classindices)
classindices = vec2ind(target)
The output yields the estimated indices
estimatedindices = vec2ind(output)
Nerrs = numel(estimatedindices~=classindices)
Hope this helps.
Thank you for formally accepting my answer
Greg
댓글 수: 2
Greg Heath
2016년 3월 21일
I don't understand your code. Cut and paste the following:
% classindices
clind = [ 5 3 1 4 2]
N = length(clind)
target = full(ind2vec(clind))
...
output = target+0.5*randn(5,5)
% estimated indices
estind = vec2ind(output)
Nerr = sum(estind~=clind)
PctErr = 100*Nerr/N
%Hope this helps
%Greg
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Sequence and Numeric Feature Data Workflows에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!