Posts

Machine Learning But Funner 02 - The (Simplified) Theory of Convolutional Neural Networks

Image
Today I aim to cover the basic theory of convolutional neural networks in the most high level fashion I can, ignoring (or as we computer scientists like to lie to ourselves: abstracting away from) most of the maths, targeting this tutorial at complete beginners. However I will mention as an obligatory disclaimer now that in order to gain a deeper understanding of the topic i.e. to build a CNN from scratch, I will do as every blogger and direct you to an over-detailed book: Artificial Intelligence for Humans Volume 3: Deep Learning and Neural Networks  which covers the topic in Chapter 10. Network Structure The CNN model is built on top of the usual feed-forward neural network model and so the structure is similar to what you may be comfortable with already, except the 'hidden layer' will be replaced by the layers below: Convolutional Layers Pooling Layers (here we will use max-pooling but there are others) Dense Layers (this is often the same as a regular output laye

Machine Learning But Funner 01 - Rap Bot

Image
Welcome to my first ever tutorial blog thing! I figured I would start with something nice and simple, also not technically machine learning at all, but it's fun! (I will try to stop this gratuitous incorrect use of the word 'fun' in the future). The aim today is to utilise the power of a simple technique called Markov chains, in order to generate seemingly random text from a sample text, in this case it will be rap songs. This is in fact the same type of algorithm that your phone's auto-predict uses, and the sentences produced will be similar in nature to those produced when you spam the auto-predict button: senseless rubbish. But, sometimes they can be entertaining so screw it let's get to the good stuff. Markov chains work by iterating through sentences in a sample text, and building a distribution of words that are likely to follow or precede other words. You end up with a hash-table or in Python, a dictionary (if you're not strong with data-structures, thi

An Introduction

My name is Thom and I'm a final year computer science student in London. I have most of my experience in building for the web, a lot of JavaScript, Node.JS, jQuery etc. but have recently gained an interest in machine learning. So I aim to write this blog for the people looking to gain a deeper understanding of machine learning and all things computer science, without needing to go into the depths of further education to do so. I will be doing a course called "Machine Learning But Funner" where we will cover some basic machine learning algorithms and methods such as Markov chains, natural language processing, reinforcement learning, deep neural networks, supervised/unsupervised learning and many more, but with less maths and more examples (but funner). A lot of my other posts will just be on new and interesting things I've discovered over my time of studying/working, some cool open source projects worth working on, and my Github project of the month! Peace  ✌