Maybe the Clustering with Neural Network and Index (CNNI) model is what you are looking for.
https://doi.org/10.31219/osf.io/ejxm6
CNNI uses a Neural Network to cluster data points. Training of the Neural Network mimics supervised learning, with an internal clustering evaluation index acting as the loss function. It successively adjusts the weights of the Neural Network to reduce the loss (improve the value of the index).
Structure of CNNI:
The structure of CNNI is simple: a Neural Network for supervised learning plus an internal clustering evaluation index. The index acts as the loss function, because there is no target output associated with each input data point in clustering scenario.
The number of neurons in the input layer of CNNI equals to the dimension of the data points given to the network. The number of neurons in the output layer of CNNI equals to $ K $ (number of clusters we want to classify). By comparing the values of each output neuron, label of one data point is obtained (e.g., find out the maximum of output neurons).
Training of CNNI has some difference from other supervised learning Neural Networks. We need to compute each data point's label according to the Neural Network's current state, then calculate the value of the clustering evaluation index, according to the labels of all data points. Adjustment of the weights of the Neural Network is based on the value of the index.
An experiment shows CNNI equipped with MMJ-SC, achieves the first parametric (inductive) clustering model that can deal with non-convex shaped (non-flat geometry) data, which implies it is the first general-purpose parametric (inductive) clustering model.
- Requires no teacher.
– yonas Apr 03 '17 at 01:29