Training Restricted Coulomb Energy (RCE) classifiers in Python
Gustavo Sánchez Hurtado
Award-Winning Engineer, Researcher & Educator | Digital Transformation: Control Systems, IoT, and Machine Learning | PLC/SCADA programmer | Python/MATLAB | Node Red | Global Speaker, Author & Podcaster
The RCE (Restricted Coulomb Energy) classifiers rely on the identification of nearest training examples, based on the distance between input data and the centroids of each node.
RCE nets consider hyper-spheres around centroids (see figure above), and the corresponding hidden layer nodes exhibit high outputs when the input falls within those hyper-spheres. Otherwise, if the input lies outside, the node outputs are low. The classification decision is determined by identifying the labels attached to the nodes with high outputs. In case a region corresponds to no outputs or outputs from multiple classes, it is said to be "ambiguous".
You can test this example, showed in the figured above, using this link:
https://github.com/multiopti/MYWAI/blob/main/rce.py
Feel free to leave your comments here below, I would be happy to answer.
At?MYWAI?we promote agile, explainable, reliable and affordable ML at the edge.
Worth also noting MYWAI has just released and will exhibit at the next SPS Italia fair in Parma, Mitsubishi Electric Europe B.V. - Filiale italiana stand, on of the world's first M2 SOM (System on Module) with a chip based implementation of RCE classifiers integrating approximately 5000 Neuromem technology neurons. It optionally empowers the MYWAI Equipment-as-a-Service platform enabling real time industrial production anomalies and machinery failure detection at the very edge of Industrial machinery and appliances starting. Guy Paillet Fabrizio Cardinali l