1. A method of monitoring a plurality of artificial lift systems in a hydrocarbon reservoir, the method being implemented on a computer system, the method comprising: monitoring a plurality of attributes of the plurality of artificial lift systems to collect a data set characterizing performance of the plurality of artificial lift systems, each one of the plurality of artificial lift systems having a plurality of attributes; applying dimensionality reduction techniques to the collected data set to project the collected data set into a reduced dimensional space; clustering the collected data set in the reduced dimensional space to generate a labeled training data set; wherein a portion of the collected data having the reduced dimension form clusters that contain known failures collected during a period of time are used to label another portion of collected data during another period of time from the same clusters as containing failures to generate the labeled training data set; applying a machine learning algorithm using the labeled training data set to boost learning and build a failure detection model for the plurality of artificial lift systems; applying the failure detection model to another collected data set from the plurality of artificial lift systems; and automatically generating an alert in response to identification of a data value in said another collected data set from the plurality of artificial lift systems indicating a fault in an artificial lift system in the plurality of artificial lift systems that generated the data value indicating the fault.