With a huge pool of information available on Machine Learning, it becomes difficult to segregate the best sources to learn about Machine Learning. Hence, we have compiled a list of the QuantInsti’s best Machine Learning blogs of 2018 at one place for easy access to information regarding machine learning. These machine learning blogs include basic as well as advanced topics.

**Top Machine Learning Blogs**

A beginner’s guide to anyone who wishes to know the basics of machine learning. It attempts to explain what machine learning really is and what differentiates it with the most commonly confused terms like artificial intelligence and deep learning. It gives a brief about the history, evolution, and applications of machine learning, along with a diagrammatic representation. The key topic in this blog is Machine Learning algorithms like unsupervised and supervised machine learning algorithms, with examples of the same.

Similar to the functions of the neurons in the human brain, artificial neural networks are interconnected processing units which help to solve complex problems. This blog demonstrates mathematically how a neural network functions with forward propagation. It consists of a step-by-step explanation of the entire process within the hidden layers of the neural network including concepts such as activation functions, bias etc with the help of an example.

Backpropagation helps to overcome the shortcomings of forward propagation by allowing us to adjust the weights and biases to minimize the loss function. The blog helps you understand how a neural network functions with back propagation, including a detailed example. It explains how to reduce the loss function by tuning the weights and biases using backpropagation.

- Deep Learning – Artificial Neural Network Using TensorFlow In Python (Contains downloadable files)

Deep Learning is a machine learning technique which involves complex processing through many layers of a neural network. The ‘deep’ in Deep Learning points to the number of layers within the network. This is an advanced blog article where you can learn to predict stock prices by developing an artificial neural network. It consists of the entire Python code to develop the given technique and implement it.

- Machine Learning Logistic Regression In Python: From Theory To Trading (Contains downloadable files)

Prediction of stock prices can be done through various methods and this blog introduces one such method called ‘Logistic Regression’. Logistic Regression, which comes under the category of supervised learning, measures the relationship between one or more variables by giving the probabilities using the sigmoid function. A detailed explanation of this topic along with mathematical functions is given in this blog, which is followed by a Python code which demonstrates how to implement this algorithm to predict the stock prices.

The concept of deep learning and neural network is often seen as complicated. This blog explains these concepts on a simplified and basic level for you to start learning about them. It covers topics such as the evolution of deep learning, working of neural network, difference between machine learning and deep learning, and applications of deep learning. It is a perfect blog for beginners who wish to start learning about deep learning and neural network.

**Machine Learning Blogs Series: Neural Networks for Stock Price Prediction**

This topic is divided into three machine learning blogs, with the first one explaining the basics of neural networks, the second explaining how training the model helps in making predictions and third specifying the Python code to implement the neural network model to predict stock prices.
This is the first part of the blog series which gives a brief idea about the what neural networks are, how are they similar to the neurons in the human brain and how these networks work to solve complex problems. It also gives an overview of how to use neural network to predict stock prices using the OHLCV (Open-High-Low-Close-Volume) data.

Once you understand the working from the previous blog, this blog continues to explain the process to train the neural network for prediction to get accurate results. Training a network will help in reducing the cost function and minimizing the errors. You can learn how Gradient Descent helps in optimizing the model by minimizing the error function. This blog also lists down the steps to implement Stochastic Gradient Descent to train the neural network.

After understanding the major aspects of neural networks from the previous blog, we finally move on to understand how to actually code the neural network model and use it for stock price prediction using a machine learning library, Keras. This blog acts as a step-by-step guide to understand the process of coding the model in Python. It also demonstrates how to compute strategy returns and plot it in a graphical representation.

**Machine Learning Blogs Series: K-Means Clustering for Pair Selection**

As the title suggests, this comprehensive machine learning blogs series provides a detailed understanding and implementation of K-Means Clustering algorithm for Pair Selection and Statistical Arbitrage Strategy.
It gives an interesting insight regarding how the pair's selection would take place using brute force without the help of K-Means. It demonstrates the entire process and its Python code to implement pair selection using brute force. In the end, we understand how difficult and complex it would be to implement this strategy with brute force.

In continuation to the earlier blog, this blog now introduces K-Means algorithms and demonstrates how its advantages help in overcoming the issues we faced earlier in the first blog of the series where we used brute force. You can learn how K-Means assigns data points to clusters, how it works and how to represent it graphically.

In this blog, we learn how to build the Statistical Arbitrage Strategy using K-Means algorithm using Python code. This blog lists down the steps to implement a Machine Learning algorithm. It is important to determine what value we should use for K and this explains how to use it accurately. At the end, we also learn a method to visualize the K-Means Elbow Plot.

After setting the base in the previous machine learning blogs about K-Means, we finally move on to coding and implementing the Statistical Arbitrage Strategy in Python. We learn to create a class to allow us to clean the data, test for cointegration, and run the strategy. We finally understand the analysis which showed the strength of K-Means for finding non-traditional pairs for trading Statistical Arbitrage.

After acquiring the theoretical knowledge through the Machine Learning blogs, it is now time to start practicing and implement your own Machine Learning strategies using Python. The below course acquaints you with the major Machine Learning algorithms used in trading and allows you to practice your coding skills with Jupyter Notebook in Python.*Disclaimer: All data and information provided in this article are for informational purposes only. QuantInsti® makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information in this article and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis.*

**Suggested Reads:**