NEWS: A PyTorch implementation is available here: https://github.com/GT-RIPL/L2C
The demo code for "Neural network-based clustering using pairwise constraints" (http://arxiv.org/abs/1511.06321)
Install the hungarian algorithm for optimal cluster assignment.
The demo code is modified from szagoruyko's work.
Do classification on MNIST:
th demo.lua
Do clustering on MNIST:
th demo.lua --clustering 1 -b 32 -r 0.01
To lookup the available arguments:
th demo.lua -h
It can handle 3 types of 'target'. The notation of n is the size of mini-batch.
- nx1 class label: It uses the same label as classification task. The pairwise relationship will be enumerated in BatchKLDivCriterion automatically.
- nxn relationship matrix: target[i][j]= 1:similar pair; -1:dissimilar pair; 0:no relationship
- nx3 tuple: (i, j, relationship) where i and j are the index of sample inside the mini-batch and relationship indicates similar/dissimilar pair. relationship= 1:similar pair; 0: dissimilar pair
This work was supported by the National Science Foundation and National Robotics Initiative (grant # IIS-1426998).