Dr. Tom Trigano

In the past decade, Python has become one of the main programming languages used in the Israeli industry, due to its friendly and powerful syntax, an ever growing number of libraries dedicated to complex problems and an active community of users online. This course provides a description of mathematical tools commonly used in the field of Electrical Engineering and Machine Learning. Due to the engineering audience, this course aims to provide a broad description of the mathematical tools encountered in the field of Electrical Engineering, but without too much emphasis on the formal demonstrations and rather on programming examples in Python and explanations on their practical significance.

Main topics:

  • – Making linear algebra and Matlab-like operations using the Numpy and Matplotlib libraries

  • – Solving optimization problems using Scipy, and understanding the underlying algorithms involved

  • – Understanding the basic concepts of estimation theory, optimization and statistical learning

  • – Programming standard Machine Learning methods using Scikit-Learn, and basic Deep Learning using Keras/Tensorflow

Selected References:

  • [1] A.J. Laub, Matrix Analysis for Engineers and Scientists, SIAM, 2004.

  • [2] S. Boyd and L. Vandenberghe, Convex Optimization, Cambridge UniversityPress, 2004.

  • [3] L. Wasserman, All of Statistics, Springer Text in Statistics, 2004.

  • [4] T. Hastie et al.,The Elements of Statistical Learning, 2nd Edition, Springer, 2016

  • [5] I. Goodfellow, J. Bengio and A. Courville, Deep Learning, MIT Press, 2016.

Teaching material:

course booklet, Jupyter notebooks for practicing examples