What is clustering? According to Hartigan (see ) clustering is *the groups of similar objects*.

I applied unsupervised clustering algorithms to find data groups, without predetermined information. The codes in Python can be found in my Python website.

There are 4 main ways to do unsupervised clustering, but currently, I only had the K-Means Algorithm code for Python. A detailed discussion of all algorithms is here. This recommended website also have links to other valuable resources online.

In my own search for tutorials of clustering algorithms, I used Google and found these additional helpful documents:

- Interactive applet for Mixture Gaussian Algorithm: http://diwww.epfl.ch/mantra/tutorial/english/gaussian/html/
- Learning for Gaussian Mixtures: includes Mathlab codes and other publication: http://carol.science.uva.nl/~jverbeek/gm/
- Clustering for Mathlab, including the codes by David Comey: http://www.cs.ucl.ac.uk/staff/D.Corney/ClusteringMatlab.html
- Lecture on Mixture Gaussian Algorithm: in pdf format: http://espresso.ee.sun.ac.za/~schwardt/pr813/lectures/lecture06/pr813_lecture06.pdf
- Papers on clustering analyses from Washington University:
http://www.stat.washington.edu/fraley/mclust/reps.shtml: a paper on model
based cluster ananlysis that I found particularly relevant to my topic is :
How Many Clusters? Which clustering method?-Answer via Model-Based Cluster
Analysis, but it is in
**Postscript**, so please download Postcript reader first (if you are in Unix, probably you have it already; if in Windows, a free program is Ghostscript). - Mixture Modelling Page: http://www.csse.monash.edu.au/~dld/mixture.modelling.page.html: this site lists many mixture modelling resources online; however, most are links to societies and organizations, which I found less relevant to what I'm looking for

How is all of this relevant to music? In the process of searching for good machine learning techniques, Judy wants to see if we can use clustering algorithms to find out interesting, unexpected patterns. So the inputs will be a number of scales (8 notes, input in MIDI values, for example, 60 for Middle C) and outputs are clusters of these scales. This information may be helpful in constructing new compositions.

How do we know the Midi values of each note? We can use a software to do this job, like KeyKit, to write inteprete notes in a piece of music into Midi values.

The next step is to improve the algorithm so that it reads not only note value, but also note length, for example, an 1/8 note, 1/4 or a 1/2. Combination of both note values and note lengths will be interesting to study.

If you have any suggestion, please email me at tle@email.smith.edu.