A commonly heard sentence in unsupervised Machine learning isHigh dimensional inputs typically live on or near a low dimensional  manifoldWhat is a dimension? What is a manifold? What is the difference? Can you give an example to describe both?Manifold from Google/Wikipedia:In mathematics, a manifold is a topological space that resembles  Euclidean space near each point. More precisely, each point of an  n-dimensional manifold has a neighbourhood that is homeomorphic to the  Euclidean space of dimension n.Dimesion from Google/Wikipedia:In physics and mathematics, the dimension of a mathematical space (or  object) is informally defined as the minimum number of coordinates  needed to specify any point within it.What does the Google/Wikipedia even mean in layman terms? It sounds like some bizarre definition like most machine learning definition?They are both spaces, so what's the difference between a Euclidean space (i.e. Manifold) and a dimension space (i.e. feature-based)? 
Dimensionality and Manifold
machine learning;dimensionality reduction
What is a dimension?To put it simply, if you have a tabular data set with m rows and n columns, then the dimensionality of your data is nWhat is a manifold? The simplest example is our planet Earth. For us it looks flat, but it reality it's a sphere. So it's sort of a 2d manifold embedded in the 3d space. What is the difference? To answer this question, consider another example of a manifold: This is so-called swiss roll. The data points are in 3d, but they all lie on 2d manifold, so the dimensionality of the manifold is 2, while the dimensionality of the input space is 3.There are many techniques to unwrap these manifolds. One of them is called Locally Linear Embedding, and this is how it would do that:Here's a scikit-learn snippet for doing that:from sklearn.manifold import LocallyLinearEmbeddinglle = LocallyLinearEmbedding(n_neighbors=k, n_components=2)X_lle = lle.fit_transform(data)plt.scatter(X_lle[:, 0], X_lle[:, 1], c=color)plt.show()