# From linear algebra to machine learning

Playlists: 'froscon2018' videos starting here / audio / related events

Math is a crucial skill for people who are interested in Data Science and Machine Learning. Until now, most of the people who are doing Data Science have a strong background in math, usually, people with master or Ph.D. degrees.

However, this fact seems to change in the next years, after the hype of Machine Learning we are facing a process of democratization. Now the door of Data Science is open for everyone.

To truly madly deeply understand how the machine learning algorithms work we need to understand some mathematical concepts. In this tutorial, I would like to share my experience in the process of learning some of those concepts.

What I want to do is build a bridge between those concepts and Python, more specifically, SciPy and NumPy and TensorFlow. Basically, this talk is just another tutorial about vectorization, in this case, oriented to understand and implement machine learning algorithms and the mathematical foundation that supports it.

Outline
Review of linear algebra: A brief review of essential linear algebra, concepts and the explanation with NumPy: scalars, vectors, matrices, tensors, multiplication of vectors, inner products, vector spaces, etc.
Review of machine learning: A summary of essential machine learning, concepts that are related to mathematical concepts: dimensionality reduction, principal component analysis, etc.
Optimization: Analytical vs. numerical solutions. This part has too many formulas, well, not too many.
Vectorization: Numpy and TensorFlow.
Small practical cases:
I want to show how we can solve the XOR problem with only one neuron
Explain the math behind recurrent neural networks.