NI Labs Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Welcome to LabVIEW Machine Learning Toolkit

I would like to generate classification function coefficients from multiple classes with multiple variables.

0 Kudos
Message 11 of 41
(6,496 Views)

How many variables and how many samples do you have in the application? Does neural network work?

0 Kudos
Message 12 of 41
(6,496 Views)

A dozen to two dozen classes, several thousand samples, and 70 variables. Neural networks would do that but discrininant function analysis can provide a measure of nearness to the class centroid that I'd like to have when classifying unknown samples.

0 Kudos
Message 13 of 41
(6,496 Views)

Neural network can do the same. It does not give you an explicit formula as a classifier. But you can use it as a 'black box'.

Example_BP Network_Classification shows how to do that. 20% of the samples are pretended to be 'unknown', and tested in the fourth step with the 'black box' generated in the third step.

0 Kudos
Message 14 of 41
(6,496 Views)

Yes, but because it is a black box, any classification made using it does not provide any measure of how the outputted classification compares with the know training set. With DFA you can calculate the nearness to the centroid of the training set(s). I need that information in addition to a classification.

0 Kudos
Message 15 of 41
(6,496 Views)

I see your point. Maybe the direct output from NN, as marked in the attached figure, could be useful to you.

NN.JPG

0 Kudos
Message 16 of 41
(6,496 Views)

Thank you for the prompt reply. Can you elaborate a bit more, please? I don't immediately see how to use the NN outputs to evaluate a quantitative measure of how the classification of an unknown sample compares to the known data to which it was classified? I can use those outputs with the Array to Label subVI to generate a classification, but what measure can I get of the "goodness" of that classification?

0 Kudos
Message 17 of 41
(6,496 Views)

NN is nothing but a very complecated function with some parameters (weights). For each input sample, it computes a vector (of real numbers) as output. The length of the vector is equal to the number of classes in your application. In my opinion, you can view this vector as the 'fitness' of this sample to each class. The following vi, Array to Label, just finds the maximum index in the array which means the class label with the largest 'fitness'.

However, if you want to do any analysis on this 'goodness', I guess you have to normalize the vector first.

0 Kudos
Message 18 of 41
(6,496 Views)

Thank you. I will work on that.

0 Kudos
Message 19 of 41
(6,496 Views)

Is this a tool for getting into fuzzy logic and neural networking?  It seems like the US is way behind Japan in using this technology!

0 Kudos
Message 20 of 41
(6,496 Views)