Main Page

From Machine Learning
Jump to: navigation, search

Machine Learning does not need to be a daunting topic to tackle! Most methods have been developed to the point there is no need to worry about coding the mathematical approach to solving a problem - all you need is an understanding of your own data and at least vague notion of what kind of analysis or learning you want to complete.

This wiki has information on how to get started quickly, but there is a lot of information here about the technical theory behind many methods and their applications.

Integral to the world of data science is gaining trust from users and companies - trust in the data handling process and trust in the outputs of any algorithms developed.

Thanks, Finland!

Finland has made an online introductory course available for free for anyone to complete! There are many online universities and schools that do an excellent job of teaching free of charge, but this is an interesting venture sponsored by the Finnish government with the explicit goal of making AI more accessible and understandable to anyone regardless of education or income.

"The course covers elementary AI concepts in a practical way and doesn't go into deeper concepts like coding."

The course can be found here.

Machine learning for dummies

Machine learning can be very simple to implement. There are walkthroughs for almost any algorithm mentioned here, and entire libraries have been written in various languages to make it easy to get going on any problem.

When looking at code that implements a machine learning model, most of it will be preparing, splitting or transforming the dataset. Usually very few lines are needed for the recursive action of the machine leaning itself, thanks to the libraries mentioned above.

As in all data science, the quality of data determines the quality of the output. Similarly, the quality of the data and the amount of preparation and cleaning completed will determine how simple it is to pass through a machine learning model.

Use this document to look for key words if you want to understand what deep learning actually means, or as a steppingstone to move on to other resources and practical applications of code. Go to this section for practical resources on using python for machine learning.

Machine learning for super keen people

While writing this document, more questions and tangents kept arising out of the information being found and summarised. A lot of side notes are included as well as techniques that could be used to great effect, but in practice may be unnecessary to include.

For example, this includes calculating information entropy before creating a decision tree or creating a baseline performance algorithm for the data. While both can be useful and are important to consider especially for larger projects, in the still growing wind industry these may be unnecessary steps and the issues they tackle can also be solved with an understanding of the data to be analysed and logical reasoning as to what to use and focus on.


Machine Learning vs AI

This wiki is about Machine Learning, a well-defined subset of field of Artificial Intelligence (AI). While the meaning of AI is rather vague, and constantly muddied by media stories, Machine Learning is not to do with some kind of human-equivalence. Machine Learning brings to every day computer code the benefits of reflection: we can improve future interactions by reflection on past interactions. Among other benefits, this learning process allows users to gain insights from data that would otherwise be extremely tedious or computationally expensive to carry out. The "learning" can be carried out in many different ways, which are the different implementations of machine learning.

To clarify a little, the vague term "AI" also includes automated intelligence that does not involve learning. ELIZA for example (the precursor to modern chatbots) could hold a coherent conversation with a human but did not learn from the interactions.

Unlike classical algorithms, which are a clear set of instructions that convert incoming data into a result, machine learning based on examples of data and corresponding results finds patterns in data and produces an algorithm that turns arbitrary data into the desired result[1].

Contents

  1. Trusting Data Science and Machine Learning
  2. What is Machine Learning?
    1. Lifecycle of a machine learning model
    2. Languages and implementation
      1. Libraries
  3. Terminology
    1. Parameters and Hyperparameters
      1. Parameters
      2. Hyperparameters
    2. Features and Labels
    3. Models and Algorithms
      1. Algorithms
      2. Models
    4. Training, Validation and Testing datasets
      1. Sampling
      2. k-fold cross validation
      3. Overfitting
    5. Confusion (or Error) matrices
    6. Information Theory
      1. Entropy
      2. Information Gain
  4. Types of Machine Learning
    1. Types of machine learning based on the kind of learning employed
      1. Supervised methods (Regression and Classification)
      2. Unsupervised methods (Clustering and Association)
      3. Reinforcement methods (Exploration and Exploitation)
      4. Semi-Supervised methods
    2. Types of machine learning based on the expected algorithm outputs
      1. Linear Regression
      2. Logistic Regression
      3. Support Vector Machines
      4. Decision Trees
      5. Clustering
      6. Naïve Bayes classification
    3. Ensemble methods
      1. Random Forest
      2. Boosting
      3. Bagging
      4. Stacking
    4. Neural Networks
      1. Deep Learning
      2. Multi-Layer Perceptron
    5. Deep Learning
  5. Machine Learning in the Wind Industry
  6. Deciding on a method
    1. Baseline results
  7. Resources
    1. LinkedIn Learning
    2. Helpful visualisations

References