Once an item is in the git history, it is there permanently. Even if a later commit deletes the file, the file will still be present in a git clone because a git clone contains the full history (because Git is a distributed version control system). This is what would allow you to retrieve the file by checking out a previous commit.
The only way to remove those files from the repository to speed up the clone is to rewrite the history so that it never included those files in the first place. Github provides detailed instructions on how to do this using git filter-branch here.
Rewriting the history of a repository to remove a large file can be done like this:
$ git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA' --prune-empty --tag-name-filter cat -- --all
After doing that, you'll have to force-push to overwrite history on the remote repository. When you do so, all your developers need to be aware that history was re-written and they'll need to checkout fresh copies of the repository to continue their development.