Sadly I can't right now help much, really busy, but
here is a list of variants of map generation, you should read all of them to get the general idea behind each strategy. Also to create cave-like maps I follow that cellular automata trick of the earlier post, or also
this trick here, its pretty flexible as the various examples show.
But yeah, I know it's overwhelming and, sadely, those articles aren't particularly newbie-friendly, but the important part is to understand the general plan behind them.
I can't really show you exactly how this can be done since I don't have the time to try things out, but one simple way to make a cave-like map is to fill the map with dirt (or any impassable) tiles, then randomly dig a huge randomly shaped room (this is where the nature of a cave like map is special, since all your walls and rooms must not look like walls and rooms, simply make a wall then randomly add tiles to the sides to give it an irregular shape, we actually want walls to overlap, so no need to check for that). Then cut that huge room into smaller sections (again, you can go over-zealous with shapes and let the Random Numbers God go mad).
The tricky part in all this is to make sure that each "room" is connected to another, otherwise you will end up with badly disconnected caves.
I know, this is a terrible examples that is probably more confusing than anything, but I used that for a small project of mine (discovered how nice it looked accidently by forgetting to check for overlaps with a random walls make I made) and it worked well.
Keep experimenting and reading those articles, if I come back later or tomorrow morning, I can maybe help a little with a more concrete example.