I. Introduction
The complexity of cyber attacks against all networking environments is developing rapidly. A network intrusion detection system (NIDS) is still the first line of defense against cyber attacks. The NIDS monitors and analyzes network traffic for malicious activities such as denial of service attacks, probing, information theft, and port scanning [1]. It utilizes two major methodologies to detect malicious activities: signature-based or anomaly-based [1]. A signature-based NIDS (i.e., misuse detection) identifies intrusions by comparing the network traffic to predefined patterns of known attacks with very low false alarms. The significant disadvantage of this approach is that it fails at detecting zero-day attacks. An anomaly-based NIDS (i.e., behavior-based) utilizes machine learning approaches to detect anomalies and novel attacks by comparing the network packets to a profile of benign traffic in order to discover any deviation from the norm.