# Lecture 2: Linear algebra done efficiently¶

## CS4787 — Principles of Large-Scale Machine Learning Systems¶

$\newcommand{\R}{\mathbb{R}}$

In :
import numpy
import scipy
import matplotlib
import time

def hide_code_in_slideshow():
from IPython import display
import binascii
import os
uid = binascii.hexlify(os.urandom(8)).decode()
html = """<div id="%s"></div>
<script type="text/javascript">
$(function(){ var p =$("#%s");
if (p.length==0) return;
while (!p.hasClass("cell")) {
p=p.parent();
if (p.prop("tagName") =="body") return;
}
var cell = p;
});
</script>""" % (uid, uid)
display.display_html(html, raw=True)


Recall our first principle from last lecture...

Principle #1: Write your learning task as an optimization problem, and solve it via fast algorithms that update the model iteratively with easy-to-compute steps using numerical linear algebra.

Recall our first principle from last lecture...

Principle #1: Write your learning task as an optimization problem, and solve it via fast algorithms that update the model iteratively with easy-to-compute steps using numerical linear algebra.

...

### Takeaway: numpy gives us powerful capabilities to express numerical linear algebra...¶

...and you should become skilled in mapping from mathematical expressions to numpy and back.

In [ ]:


In [ ]: