It's a two-way street. When you're willing to approach other people, you're more likely to present noticeable-but-subconscious cues that you're an approachable person. If you're sulking in the corner, morose that no one will talk to you, then you probably don't look like someone others want to approach.
I try to do something similar to what noname does, but I also try to seize opportunities to talk to people. In a crowded coffee shop, it's inevitable that you'll overhear conversations, and people realize this. If the conversation isn't too personal, and you have an insight or something meaningful to add, try interjecting. I'm always apologetic when I do it, flashing smiles and trying to be as polite as possible. If I feel they were actually bothered by the interjection, I say my piece, apologize and leave it at that. But people often are receptive to the interjection, and I've met some good people that way - people that I now consider friends.
Hmm. In the spirit of even more unsolicited advice, I would say that it's also your attitude. Sorry to get all philosophical but there are certain things that you can control (say your emotions/thoughts/what you can do next) vs. things you can't control (other people's emotions/background).
Being social is about being independent of other people's positive and negative feedback about you. Suppose a stranger looks down or frowns when you try to tell them a joke or to get them to open up on a bus or something, your thinking could go either, "well, this sucks; people think I'm nerdy, unattractive, etc." or you could think, "well, it's alright; maybe she's just having a bad day or just being shy and really appreciated me; well, there's always next time!"
Kind of like debugging, "first you don't succeed, dust yourself up and try again!" (well, I guess it's more like re-compile and try again, doesn't have the same ring to it though).