Snape loved Lily. This caused his Patronus to take the form of hers.Lily's Patronus was a doe, and Snape knew this. Snape was in love with Lily and always has been and so adopted the doe patronus. Similar to how Harry's is a stag because of his father. It also probably has something to do with the memory Snape uses to cast the Patronus. Most likely the memory has something to do with Lily.Lily's Patronus was originally a doe. After she dies, Snape loves Lily so much that his Patronus changes to that. .
Edit: Might i add, snape was always loyal to lily
Edit 2: he didn't make choose to change his patronus, it changed on it's own because he did not realise how much he loved lily, and always kept a sense of denial about the whole thing, until his converstation with dumbledore, which 'always' mattered.
Edit 3: I'd just like to point out that isn't Lily's patronus a Doe because she loves James, who is an Animagus that turns into a Stag. Which would mean Snape loved James, because otherwise the logic behind Lily's patronus is flawed...
Edit 4: I'd like to point out that Lily's patronus is that of a Doe because she loves a great stag, and Severus's patronus probably changes to that of a Doe for the stag he grew to love, Harry Potter. Dumbledore points out Severus's love for Harry during the memory viewing.
Edit 5: Patronus created from memories, good and happy memories. As we all know, Snape all good memories are about Lily, I think that's why his patronus changed to doe