Hardware related: Bad RAM, overheating, moisture.
Software related: Viruses (and Worms), Spyware (and Malware), (faulty) Drivers, (faulty) Applications.
That's what I know can cause freezes. And if I'm right, not much else can cause it.
So my advice is: Run memtest86 to check the RAM. After a freeze, check the temperature in the case. (Not entirely feasible to do in most cases, but if you can, it's worth a shot.) Scan your computer for viruses and spyware. Reinstall newest of all drivers. Check if some application may be linked to the whole thing.
Or, you can do what I do. Backup everything, and do a fresh reinstall of windows (by formatting the hdds). Then for a day or so, just use windows as is, and if it freezes again... then it's most certainly: Hardware related, a virus or similar (in case you went online), or bad drivers. (Windows's standard drivers may be at fault as well, who knows)