Machine Learning for Cyber Agents: Attack and Defence (Advanced Sciences and Technologies for Security Applications)