Skip to main content

Posts

Showing posts from October, 2017

Classifying Flowers Part 1: Data

Everybody loves plants. So we'll continue our descent by building a neural network that can do something with plants. This construct will be able to take characteristics that describe a plant and, if we're good enough, hopefully the neural network will be able to tell us with accuracy what type of plant it is. To do this, we'll use the Iris flowers dataset, which contains 150 samples of 3 different species (50 samples each). The species in this dataset are Iris setosa, Iris versicolor, and Iris virginica. The dataset can be found at the following links. Data:  https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data ReadME:  https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.names Here's a screenshot of the data we'll be working with: Initially, this data doesn't look too exciting and if it at all confuses you, you're perfectly normal. But we can figure some immediate information just from looking at the format ...

Installing the Tools

We'll continue our descent by installing the tools necessary to conduct deep learning. The tools will include R, MXNet (framework for building neural nets in R), Python, and Tensorflow (framework for building neural nets in Python). You might ask why I'm using 2 different languages and 2 different frameworks. Truth be told, I like the way MXNet does classic, feed-forward neural network classifiers. You'll see that the syntax is concise and doesn't require as much fiddling with formatting of data. Unfortunately, MXNet doesn't exhibit the same elegance for more complex network architectures that we'll encounter later in this blog, so we'll use Tensorflow for CNN's (Image classification) and RNN's (time series classification). So let's install R. First, we'll go to  https://cran.r-project.org/bin/windows/base/ to download the latest version of R on Windows: We'll click the "Download R 3.4.2 for Windows" link to download R (...

An Introduction

Greetings, and welcome to my blog! In this blog, I’ll be illustrating the use of deep learning to solve various prediction tasks. For those of you that have never heard of deep learning, a proper introduction to the subject is in order. Deep learning is a specific type of machine learning that attempts to approximate a function through the construction of a mathematical model called a neural network. Basically, when this model attempts to “approximate a function,” this means that it maps a certain set of inputs to a certain output. It’d be helpful to illustrate what this “mapping” looks like by way of an example. For example, I’d like to identify what species a certain flower just by looking at the flower’s petal and sepal (green leaves underlying petals) length and width. If I were to attempt this with deep learning, I’d be constructing a model that maps petal and sepal length and width (the inputs) to a specific type of species (the output). This exact prediction task is w...