Application of Artificial Intelligence and Machine Learning Techniques for Network Intrusion Detection and Prevention