Machine Learning for Beginners – Neural Networks

Building SkyNet - Machine Learning

I haven’t posted for a while now and have decided to break the silent period.

It’s been quite interesting the past few years. I’ve been working on various projects and learned so much more in terms of software engineering, including team coordination and project management.

I’m still active in web development, however I’m gradually moving away to other fields. Most recently, I’ve successfully completed an online course from Coursera Online, namely Stanford’s Machine Learning and received the course certificate.

I can definitely say good things about the Course. Andrew Ng really did a god job at preparing the course material and creating the video lessons and exercises. I took my time to write down every important detail in a old-fashioned “analogue” notebook. It really paid off to have this kind of discipline.

Although this Course won’t make you an expert in mere 12 weeks, it definitely gives you the proper insights and intuitions. Just enough so you can actually implement and play around with various algorithms and approaches.

I imagine it would take years, or at least months to develop sophisticated systems based on Machine Learning techniques, however this is true for any course or field someone dives into.

As the material is still fresh in my brain, I’ve decided to take the opportunity and create a short introductory presentation which coincided nicely with the recent English class at my faculty for which I had to come up with a topic and present.

Without further ado, I bring you the Machine Learning with Neural Networks slides – nicknamed “Building SkyNet” as if it were really true. :-)

machine-learning-presentation-cover

I hope this presentation will also convey some insight and spark your curiosity in the field. :-)

Some topics covered in these slides:

  • Machine Learning – Definitions and problem description
  • Comparison to Expert Systems and classical algorithms
  • Linear Regression
  • Cost Function and Optimization techniques
  • What is “learning” in Machine Learning?
  • Logistic Regression and the Sigmoid Activation Function
  • Common Issues: Bias vs Variance
  • Neural Networks – Representation
  • Neural Networks – Forward Propagation and Cost Function
  • The Learning Algorithm for Neural Networks
  • Example Neural Networks – Mimicking logical gates: AND, OR, NOT
  • Neural Network Applications – Self-Driving Cars, OCR
  • Neural Network Demo in Python: Recognizing handwritten letters

Since it would be rude from me to have posts without actual code, I would also like to share my first attempts at using Neural networks in Python for recognizing handwritten letters.

Btw, I’m seriously considering making a video on youtube to actually cover this presentation.

Until that time comes, have a cold one! :-)