Machine Learning: The Bare Math Behind Libraries

Big Data & Machine Learning
Voting no longer possible
Voting enabled when talk has started

Machine learning is one of the hottest buzzwords in technology today as well as one of the most innovative fields in computer science – yet people use libraries as black boxes without basic knowledge of the field. In this session, we will strip them to bare math, so next time you use a machine learning library, you'll have a deeper understanding of what lies underneath.

During this session, we will first provide a short history of machine learning and an overview of two basic teaching techniques: supervised and unsupervised learning. We will start by defining what machine learning is and equip you with an intuition of how it works. We will then explain gradient descent algorithm with the use of simple linear regression to give you an even deeper understanding of this learning method.

Then we will project it to supervised neural networks training. Within unsupervised learning, you will become familiar with Hebb’s learning and learning with concurrency (winner takes all and winner takes most algorithms).

We will use Octave for examples in this session; however, you can use your favorite technology to implement presented ideas. Our aim is to show the mathematical basics of neural networks for those who want to start using machine learning in their day-to-day work or use it already but find it difficult to understand the underlying processes.

After viewing our presentation, you should find it easier to select parameters for your networks and feel more confident in your selection of network type, as well as be encouraged to dive into more complex and powerful deep learning methods.

Piotr Czajka


Programmer, retired mage, bookworm, storyteller and liberal arts devotee. I'm into language semantics, its understanding and impact on the way people think. I love both natural and programming languages - professionally my heart belongs to Java, but I cheat on her with Python, Scala and, occasionally, other beautiful languages. In addition to my work at TomTom as a software engineer a I'm keen on artificial intelligence, mainly for natural language understanding. If we are to reach technological singularity, we better get on it!

Łukasz Gebel


Software engineer at TomTom by day, machine learning enthusiast at night. My leading technology is Java and Java-based frameworks. On a daily basis, I work on designing, implementing and deploying distributed systems that work in cloud environments, such as Microsoft Azure and AWS. I'm interested in classification problems and multi-agent systems. I love to learn, read books and play football – in no particular order.

Talks by tracksTalks by session typesList of SpeakersSchedule