In unsupervised learning we’re not told what each data point is (in the case of tumors, no malignant or benign.) The algorithm would have to figure out how to split the points up. This is called a clustering algorithm. These are used in places like Google News.
Given two speakers, and two microphones (at two different distance from the two speakers,) the two microphones will record slightly different versions of the speakers. The cocktail party algorithm can separate the two speakers into separate recordings.
Behold, the cocktail party algorithm (in octave):
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
Good for prototyping. Very fast to prototype learning algorithms. A lot of people will make in Octave, and then in Java/C++/whatever. Ng says “trust me on this one.”
So, on OSX: brew install octave
.