Network Anomaly Detection: A Machine Learning Perspective