Friday, June 30, 2006

June 30

This blog is deserted for a whole week. My progess is as sluggish as how frequently this blog gets updated.

The only contructive thing I did is to build an interface that depicts how a bunch of songs sound like a number of referencing songs. This idea was sparkled by Edward and I knocked-out it quite efficiently (this is in fact motivated by hearing the news of a friend getting into MS... and I did feel I should stop procrastinating and work like a cheetah and achieve something at least, I don't wanna screw up my life). It runs pretty smoothly. Now my mind has changed and decided to train only the referencing point with HMM, and the data set should be compared to the referencing points by log probability. This should be much more efficient if I got a large set of data.

For the MP3 player part, I don't know what is going on. I just keep failing to elicit the duration of song. Is it really that difficult to do so? Well...

Friday, June 23, 2006

June 23

Debugging is the most unpleasant job left by a nasty programmer, and that nasty programmer is sometimes not myself. I don't know why Jahmm package keeps screwing up for some of the music files in my database. I just wanna take a breath for a second and leave this never-terminating debugging to next week. I feel like driving on a highway or windsurfing or whatever delightful when I instead work on an MP3 player for the analyzer programme today. This means Ji's work will render defunct. Anyway, for the sake of integrity and smoothly implementing my ideas, I have no choice.

It's weekend again. See if I can complete my mission by the end of the term, that is the next week.

Tuesday, June 20, 2006

June 21

My attempt to employ GHMM comes to no avail. I am simply defeated by the clumpsy steps of installing python/jython on windows. Well, the crux of the problem is that the GHMM package doesn't seem to provide things like K-L distance measure. I succumb at the installation stage and declare unconditional surrender.

Here are some steps I probably can follow to work out something constructive in the following days:
1) clipping of unwanted part of the signals at the beginning and the end of the clip
2) go into the implementation of the Jahmm algorithm thingy and check out what's going wrong with it (another problem is that I can't compile!)
3) try training with "categories", perhaps this can make the clustering part work better

---

After some slight modifications the program now works on more files, but the problem of positive definite matrix is still there, looks like a juggernaut. The good news is that I finally found out a way to compile part of the Jahmm source (actually it's freaking easy, I don't know why I had to insist on using Ant to compile the files).

Thursday, June 15, 2006

June 16

Thanks to the Service Department - they gonna have this floor-waxing in the lab today and I'll have a half day-off. A good news is that the algorithm for hierarchical clustering is finished, though a bit clumpsy. But the bad news is that what am I going to do for the next two weeks? Perhaps I'll find some ways to rewrite the HMM part. If I can embed GHMM the python stuff into the Java program things will get much prettier, I said perhaps. Alternatively I can mull over the source code of Jahmm to discover what the hack is going on with the not-a-positive-matrix bug and inconsistency with the Kullback-Leibler distance thingy. Weekend is not a time to make decision, anyway. =)

Wednesday, June 14, 2006

June 14

I have to admit I feel like slacking today. Not much work is done, what I have done is simply test the program for a couple of more times. I want to implement a hierarchical clustering but things got a bit complicated. I hope to finish it by tomorrow.

I have shown my work to Edward. He didn't comment much but I think he is not indeed satisfied, and I expect much improvement work has to be done. Leave my work for tomorrow anyway.

Tuesday, June 13, 2006

June 13

Enduring the toil for 3 weeks, it's like a long night without end. Today I feel a shed of twilight falling onto my pupil. I can no longer stand the obscure faults prompted by the Jahmm library when I read .hmm files, so I decided to implement my own thought. Things worked out neatly and smoothly. After I had built the interface for comparing files, everything got working and I can check the validity of my thought. After all it's 3 weeks! I really have to curse myself for the sluggishness. Anyway, sometimes the results are kinda reasonable and sometimes not. I really want to blame the Jahmm package for this. Well, the truth is, I can't expect anything rigorous from this kind of try-out.

Still there are problems yet to be solved
1) The problem of "matrix is not positive defined" still persist. This is gruesome to debug, because I have to drill into the true implementation of the Jahmm package. (How dare the creator of Jahmm let this happen)
2) (All of a sudden I forgot what to write!)

Monday, June 12, 2006

June 12

Damn! I almost wanted to kill myself when I spent days to discover the problem is that I forget to add the line writer.close().

Time's running short, 3 weeks left.

--

I'm on the way of building UI for comparing HMM, hope everything is sorted out by tomorrow.

Friday, June 09, 2006

June 9

This week I feel like wading through a mud pond and got trapped in the middle of the pond. I got stuck with the Jahmm package which I found much more difficult to use than expected. I had a hard time writing code to train HMM, and even now I can't write the trained HMM. Sometimes the sequence I fed to the trainer returns errors saying that the matrix is not positive defined (I suppose it's not positive DEFINITE) and all I can do is to attribute the fault to the current version of Jahmm. That's because the sequence file works perfectly on JahmmViz (which is based on a previous version of Jahmm). I resorted to use the command line environment of Jahmm, and yet another problem arises. I don't know why it keeps on saying there're some formatting error with the .hmm files. The ridiculous thing is that these files are produced by the command line environment itself. Now it happens that I see no way out, I can't even guarantee my idea about using HMM to model the data works. Tasukete!

Last but not least, I desperately wonder how the Kullback-Leibler distance can be calcuted on Weka so that I can do clustering. Anyone drop by can give me solutions? (bad enough, I'm the only audience)

Monday, June 05, 2006

June 5

Today I'm not in the mood of bullshitting. Actually nothing happened in particular, just want to make it brief:
1. I seem to have discovered a great tool for classification known as WEKA
2. I didn't know until the very last moment that the way to calculate difference between two HMMs is known as Kullback-Leibler distance

Hope I'll get more stamina and less distractions tomorrow.

Friday, June 02, 2006

June 2

Today I'm strangled by Jahmm (what? by jam?). I attempted to install it so that I can run the program locally but ant simply sucked. That's why I'm forced to run it with Java Web Start. The formatting really matters and I spent almost the whole morning to find out the problem is that the terminating character should be \r instead of \r\n. *furious*

Another problem is that Jahmm prompts me for error even when I found the formatting matches perfectly with its requirement. This problem is really obscure. Initially I thought it was because the file sizes are too large and I tried to trim the files bit by bit to make it work. All of a sudden I discovered the problem laid somewhere else. It's the exponential form of small digits that screwed up Jahmm. My goodness!

Yet another weekend comes. Cheers.