# Artificial Intelligence

## References

- Artificial Intelligence: Look Ma, No Hands!
- Stanford University CS 229 Machine Learning
- Stanford University CS231n: Convolutional Neural Networks for Visual Recognition
- Machine Learning: The Basics, with Ron Bekkerman
- Machine Learning for Big Data in the Cloud
- GraphLab vs. Piccolo vs. Spark

## Basics

- Supervised Learning (Classification): is powerful when the classifications are known to be correct for instance, when dealing with diseases.
- Unsupervised Learning (Clustring): can be useful to find hidden structure in unlabeled data.
- Reinforcement Learning (Regression): can provide powerful tools which allow agents to adopt and improve quickly, even in complex scenarios such as strategy games. It interacts with its environment in discrete time steps.

## AI in Steps

Most common steps towards creating artificial intelligence are -

- Know the Domain, what you are solving for
- Study the data — Data Mining
- Cleanse , Normalize Data, develop tools
- Choose a Model
- Test with Few Models —> Shortlist the Optimum Models — >Pick the best Model
- Train/Fine Tune/AB Test The Model
- Correct If Model Overfitting or Underfitting
- Quantify The Model — Monitoring Errors, Learnings, Positive Impact

## Model Selection

Based on the understanding of the domain you are solving for and data knowledge, one is well equipped to select models that would work best. Some examples -

- Supervised Learning
- k-Nearest Neighbors
- Linear Regression/Polynomial Regression
- Support Vector Machines (SVM)
- Decision Trees, Random Forests

- Unsupervised Learning
- Clustering
- k-Means
- Hierarchical Cluster Analysis (HCA)
- Expectation Maximization

- Semi-supervised Learning
- Reinforcement Learning
- Deep Learning
- Recurrent Neural Networks

## Library Selection

There are readily available algorithms for different modes of machine learning in different languages, platforms.Some examples -