|
In order to reduce the amount of data that arrives into the machine learning part of our software, we use Vector Quantization. ![]() Picture © Mohamed Qasem The idea is to split our input space (every possible movement of the dancers) into groups and use the labels for these groups instead of the values in the machine learning phase. In our setup, we use this object to record and classify the result of the FFT object. UsageConnect it to an ArraySignal corresponding to a vector in your input space (frequency domain in our setup for example). Use a Keyboard object to send it “r” (record). The object will start recording all the vectors you send it as training data (the black crosses in the drawing above). When you have enough data, send it an “l” (learn). It will produce a codebook (list of prototype signals in red above) and save it for future uses (the raw training data is saved too). The VQ object then enters the “Label” state where it finds the closest prototype for any vector it receives and sends the prototype id out. If you intend to use large codebooks (>100), you should help me optimize the codebook search (doing a full search in the current implementation). Real lifePlease read the following posts to see how this behaves in the full setup : |
documents |