User Preference Learning-Aided Collaborative Edge Caching for Small Cell Networks