You have to pay the registration company to do corespondence with ICANN. ICANN doesn't allow for privates to register with them, and the fees are pretty unifrom all over the place (depends on extra services etc.).
Hosting your site yourself will cause traffic on your line and if you're just using a normal computer, rather than a proper server, your site will probably be unreachable most of the time due to bandwidth.
Still, if you know what you're doing, go with what trpnmonkey41 said.
Also, you will still have to go through the pains of registering your computer with the DNS or no-one will be able to access your computer.