Đầu tiên, đây chắc chắn là bài tập về nhà (vì vậy không có mẫu mã đầy đủ). Điều đó nói rằng ...Làm cách nào chúng ta có thể sử dụng các kỹ thuật học tập không giám sát trên một tập dữ liệu, sau đó gắn nhãn cho các cụm?
Tôi cần kiểm tra thuật toán không giám sát bên cạnh thuật toán được giám sát, sử dụng hộp công cụ Mạng thần kinh trong Matlab. Tập dữ liệu là UCI Artificial Characters Database. Vấn đề là, tôi đã có một hướng dẫn tốt về các thuật toán được giám sát, và được để lại để chìm trên không giám sát.
Vì vậy, tôi biết cách tạo bản đồ tự tổ chức bằng cách sử dụng selforgmap
và sau đó tôi đào tạo nó bằng cách sử dụng train(net, trainingSet)
. Tôi không hiểu phải làm gì tiếp theo. Tôi biết rằng nó đã nhóm các dữ liệu mà tôi đã đưa nó vào (hy vọng) 10 cụm (một cụm cho mỗi chữ cái).
Hai câu hỏi sau đó:
- Làm thế nào tôi có thể dán nhãn cho cụm (cho rằng tôi có một mô hình so sánh)?
- Tôi có đang cố gắng biến vấn đề này thành vấn đề học tập được giám sát khi tôi thực hiện việc này không?
- Làm cách nào để tạo ma trận nhầm lẫn trên bộ kiểm tra (khác) để so sánh với thuật toán được giám sát?
Tôi nghĩ rằng tôi thiếu một số khái niệm hoặc thuật ngữ dựa trên đây - tất cả các tìm kiếm của tôi đều có các kỹ thuật học được giám sát. Một điểm đi đúng hướng sẽ được nhiều người đánh giá cao. Mã hiện tại của tôi ở bên dưới:
P = load('-ascii', 'pattern');
T = load('-ascii', 'target');
% data needs to be translated
P = P';
T = T';
T = T(find(sum(T')), :);
mynet = selforgmap([10 10]);
mynet.trainparam.epochs = 5000;
mynet = train(mynet, P);
P = load('-ascii', 'testpattern');
T = load('-ascii', 'testtarget');
P = P';
T = T';
T = T(find(sum(T')), :);
Y = sim(mynet,P);
Z = compet(Y);
% this gives me a confusion matrix for supervised techniques:
C = T*Z'