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.

 采纳的回答

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 个评论

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.
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
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 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by