Ex. 12.5 (TODO)
Ex. 12.5
The data in phoneme.subset, available from this book's website consists of digitized log-periodograms for phonemes uttered by 60 speakers, each speaker having produced phonemes from each of five classes. It is appropriate to plot each vector of 256 “features” against the frequencies 0–255.
(a) Produce a separate plot of all the phoneme curves against frequency for each class.
(b) You plan to use a nearest prototype classification scheme to classify the curves into phoneme classes. In particular, you will use a K-means clustering algorithm in each class (kmeans() in R), and then classify observations to the class of the closest cluster center. The curves are high-dimensional and you have a rather small sample-size-to-variables ratio. You decide to restrict all the prototypes to be smooth functions of frequency. In particular, you decide to represent each prototype \(m\) as \(m=B\theta\) where \(B\) is a \(256 \times J\) matrix of natural spline basis functions with \(J\) knots uniformly chosen in (0,255) and boundary knots at 0 and 255. Describe how to proceed analytically, and in particular, how to avoid costly high-dimensional fitting procedures. (Hint: It may help to restrict \(B\) to be orthogonal.)
(c) Implement your procedure on the phoneme data, and try it out. Divide the data into a training set and a test set (50-50), making sure that speakers are not split across sets (why?). Use \(K = 1,3,5,7\) centers per class, and for each use \(J = 5,10,15\) knots (taking care to start the K-means procedure at the same starting values for each value of \(J\)), and compare the results.