I want to fumble in machine learning. What do you need to know?
Over the past 5 years, a standard set of requirements has been formed for a machine learning specialist, which includes: strong mathematical training (probability theory, statistics, linear algebra), at least one of the Python / R programming languages (less often C ++), knowledge and ability to practice to implement machine learning models.
The use of ML and AI has become widespread practice, many new technologies and approaches have appeared, respectively, you can highlight the skills, the presence of which will be an advantage:
Neural Networks and Deep Learning
In addition to traditional machine learning models, neural networks are rapidly gaining popularity, including deep learning, which wins in terms of speed of model development, extraction of the objective function and selection of parameters.
Neural networks show excellent results in a number of tasks (CV / NLP / RL / GAN), which will contribute to the development of tensorflow, keras, pytorch, etc. frameworks. Nevertheless, traditional ML approaches and algorithms still prevail in a number of tasks due to lower requirements for computing power (GPUs are often used for neural networks) and the amount of data for training.
Experience with the BigData technology stack
Most often, to conduct preliminary analysis, preprocessing, training, and even more so launching the model itself, the computing power of one machine is not enough, and the entire pipeline to build the model takes place on a cluster with distributed storage and calculation of data. Storage systems can include file systems (HDFS (Hadoop), Druid, etc.), NoSQL databases (Cassandra, MongoDB, CouchbaseDB, etc.), MPP databases (vertica, greenplum, clickhouse, etc.). For analysis, Spark, HiveQL, or other internal storage frameworks are most often used. Moreover, a specialist should be able to work with technologies, and understand how to write algorithms for distributed computing, as well as evaluate their resource intensity and efficiency.
Image and video stream processing
A large number of areas use image and video analysis (medicine, agriculture, public service, autopilot, IoT, and much more). Processing this kind of data requires special skills: detecting objects, highlighting boundaries, classifying, segmenting objects. As technologies, OpenCV, DLIB, R-CNN, Fast R-CNN, Faster R-CNN, YOLO, etc. algorithms can be used.
In addition, a specialist who wants to stay in the trend needs to constantly read new literature and scientific papers, have the ability to quickly immerse himself in a new field, understand the terminology, be ready to start anew work, if it was not possible to achieve the expected effect.