One-Class classifier using Neural Network

Hi all. I'm having a problem setting up a proper Neural Network for one class classification. Basically I've only the features that rapresent a background of an image. So the training phase would train the NN on those features. During the execution phase the NN will have features that could be "background" or "foreground" (the upper step is segmentation, I've already done it). How I'm supposed to set up correctly my NN?
Here is some piece of code:
toTrainFeat = computeFeatures(backBboxes,frame);
classes(1:size(backBboxes,1))=1; % one-class
[net Y E] = adapt(net,toTrainFeat,classes); % Incremental learning
if numFrame >=40 || sse(E) <0.01 %classify only after 40 frames OR if NN is smart enough
y = net(toClassifyFeat);
y
end
This code does not work, I think because I'm submitting only ONE-CLASS to the adapt method (in fact it crashes when it call adapt). Any help? Thanks a lot.

 채택된 답변

Greg Heath
Greg Heath 2016년 10월 15일

0 개 추천

Use an RBF or EBF net. Generate points in between and outside of the clusters obtained from the original data.
Train the net with original data (1) and the simulated data outside and between clusters(0).
Hope this helps.
Thank you for formally accepting my answer
Greg

댓글 수: 3

Leox91
Leox91 2016년 10월 15일
Thank you for your tip. I've just 2 questions:
1. May you explain why this should work with 2 classes (the real and the fake one) and give me better result then a feed forward net? 2. Do you know if RBF NN could be trained incremental (like adapt for FF net)?
Thanks again.
Greg Heath
Greg Heath 2016년 10월 16일
There is no reason why it should not work if the classes do not overlap and you have enough hidden nodes.
I did not say it would give better results. Just that the results will be easier to understand.
If you use RADBAS hidden nodes and the usual training functions, you will get elliptical basis functions because there will be no constraints to make them circular.
Hope this helps.
Greg
Leox91
Leox91 2016년 10월 16일
편집: Leox91 2016년 10월 16일
Thank you again. Just another question...may you clarify what do you mean with: " simulated data outside and between clusters(0). " . I surely can simulate data OUTSIDE the cluster of my "background" class, but how to do between?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

질문:

2016년 10월 14일

편집:

2016년 10월 16일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by