How do I choose an AI algorithm?
Virginia Iglesias  Earth Lab Research Scientist
When choosing an AI algorithm, it's crucial to consider the specific characteristics of your data set, the goals of your analysis, and the computational resources available. AI tasks can use supervised, unsupervised, or reinforcement learning. Supervised learning involves training a model on labeled data, where each example has both input features and a corresponding target label. The model learns to predict the target labels on new, unseen data based on the patterns it learned during training.
Classification is an example of supervised learning where the algorithm learns from labeled examples to predict the class or category of unseen instances. Common algorithms used for classification in supervised learning include:

Decision trees: Trees that make decisions based on the input features, creating a hierarchical structure for classifying data.

Random forest: An ensemble learning method that combines multiple decision trees for improved accuracy and robustness.

Support vector machines (SVM): Effective for both binary and multiclass classification by finding the hyperplane that best separates different classes.

knearest neighbors (kNN): Classifies instances based on the majority class of their nearest neighbors in the feature space.

Naive Bayes: A probabilistic algorithm based on Bayes' theorem, often used for text classification and other tasks.

Neural networks: Deep learning models that can capture complex relationships in data and are particularly powerful for image and speech recognition tasks.
Image recognition is often considered a supervised learning task. In supervised image recognition, the algorithm is trained on a labeled data set, where each image in the training set is associated with a specific class or label. The goal is for the algorithm to learn the relationship between the input images and their corresponding labels, allowing it to generalize and make predictions on new, unseen images. Common architectures and techniques used for supervised image recognition include:

Convolutional neural networks (CNNs): These are deep learning architectures designed to automatically and adaptively learn spatial hierarchies of features from images.

Transfer learning: Pretrained models, often trained on large image data sets, can be fine tuned for specific image recognition tasks with smaller labeled data sets.

Data augmentation: Techniques such as rotation, flipping, and scaling of images are used to artificially increase the size of the training data set and improve the model's generalization.
Another supervised learning task is regression. In this technique, the target label is a continuous variable, and the algorithm learns to predict this continuous output based on the input features. Algorithms used for regression include:

Support vector regression (SVR): An extension of support vector machines for regression tasks.

Random forest regression: An ensemble learning method effective for capturing complex relationships in the data.

Neural networks for regression: Deep learning models that can capture complex relationships in data.
In contrast to these methods, unsupervised learning algorithms are provided with input data that are not labeled, meaning there are no target labels or categories associated with the examples in the training set. The goal of unsupervised learning is to find patterns, structures, or groupings within the data without explicit guidance from labeled outcomes.
Clustering is a type of unsupervised learning task that focuses on discovering patterns or structures in data based on inherent similarities. Common clustering algorithms include:

Kmeans: Separates data into k clusters by iteratively assigning data points to the cluster whose mean has the smallest distance to it.

Hierarchical clustering: Builds a treelike structure of clusters by iteratively merging or splitting clusters based on their similarities.

DBSCAN (DensityBased Spatial Clustering of Applications with Noise): Identifies clusters based on density, separating areas of higher density from areas of lower density.

Gaussian mixture models (GMM): Models data as a mixture of several Gaussian distributions and assigns probabilities to each point belonging to a particular cluster.
Another example of unsupervised learning is time series analysis, which is performed to identify the structure of timeordered observations or to forecast. Common machine learning algorithms used for time series analysis in environmental science include:

Long shortterm memory (LSTM): A type of recurrent neural network (RNN) effective for capturing longterm dependencies in sequential data.

Random forest for time series: An ensemble learning method that can be adapted for time series forecasting by considering lagged features.

XGBoost for Time Series: A gradient boosting algorithm that can be used for time series forecasting by considering temporal dependencies.
While time series analysis often involves unsupervised methods, there are also instances where supervised machine learning approaches are used for specific tasks within time series analysis. Here are some examples of supervised time series analysis:

Time series forecasting is a common task where the goal is to predict future values of a time series based on historical observations. This can be approached as a supervised learning problem by framing it as a regression task. In this case, the input features (X) are lagged values of the time series, and the target labels (Y) are the future values to be predicted. Popular supervised algorithms for time series forecasting include SVM, Random Forest Regression, and LSTM networks.

Supervised methods can be used for anomaly detection in time series data. The idea is to train the model on normal or typical patterns in the time series and then detect anomalies based on deviations from the learned normal behavior. This can be achieved using classification algorithms where input features are lagged values and target labels (Y) are Normal/Anomalous labels.

Supervised learning can be applied to identify and analyze seasonal components and trends in time series data. For instance, linear regression or decision tree models can be used to model and analyze the underlying temporal patterns.
It's important to note that many time series tasks are inherently sequential, and traditional supervised learning may not always be the most suitable approach. In cases where the temporal aspect is crucial, specialized methods like autoregressive models, statespace models, or recurrent neural networks (RNNs) are often more effective. The choice of the method depends on the specific characteristics and goals of the time series analysis task.
Finally, reinforcement learning (RL) involves using a specific type of machine learning where an agent learns to make decisions by interacting with an environment. The agent takes actions, and based on those actions, the environment provides feedback in the form of rewards or penalties. The goal of the agent is to learn a policy or strategy that maximizes cumulative rewards over time. RL can help optimize agricultural practices, adapt to dynamic changes in energy demand and supply, develop adaptive strategies for climate change mitigation, etc. Some fundamental algorithms are:

Qlearning: Qlearning is a popular and foundational modelfree, valuebased algorithm that learns a stateaction value function (Qfunction) to estimate the expected cumulative reward for taking an action in a given state.

Policy gradient methods: Policy gradient methods directly optimize the policy of the agent. Algorithms like REINFORCE and Proximal Policy Optimization (PPO) fall into this category.

ActorCritic: ActorCritic methods combine elements of policybased and valuebased approaches. The actor (policy) suggests actions, and the critic (value function) evaluates these actions.

Monte Carlo tree search (MCTS): MCTS is a modelbased search algorithm used in RL for decisionmaking. It is commonly employed in games and planning tasks.

MetaRL algorithms: MetaRL algorithms focus on learning to learn across different tasks. These algorithms adapt quickly to new environments or tasks based on prior experience.
Considerations when applying reinforcement learning in environmental data science include the complexity of the environment, the choice of an appropriate RL algorithm, the design of reward structures that align with environmental goals, and the potential ethical considerations associated with RLdriven decisionmaking in sensitive environmental contexts. Additionally, simulations or digital twins of environmental systems can be used to train RL agents before deploying them in the real world.