Unsupervised learning using neural networks is clearly machine learning since it is utilising neural nets.
However, some algorithms, k-means clustering, for example, are considered unsupervised learning, while they look just regular algorithms (non-ML).
What should be the borderline (criteria) to differentiate between unsupervised learning and a non-ML algorithm?