Course Wiki
Linear Algebra Refresher — Machine Learning Zoomcamp Module 1
### Linear Algebra Refresher Vector operations Multiplication Vector-vector multiplication Matrix-vector multiplication Matrix-matrix multiplication Identity matrix Inverse
Related Pages
Machine Learning Zoomcamp › Module 1: Introduction to Machine Learning › Linear Algebra Refresher
Notes
Linear Algebra Refresher
- Vector operations
- Multiplication
- Vector-vector multiplication
- Matrix-vector multiplication
- Matrix-matrix multiplication
- Identity matrix
- Inverse
Vector operations
u = np.array([2, 7, 5, 6])
v = np.array([3, 4, 8, 6])
# addition
u + v
# subtraction
u - v
# scalar multiplication
2 * v
Multiplication
Vector-vector multiplication
def vector_vector_multiplication(u, v):
assert u.shape[0] == v.shape[0]
n = u.shape[0]
result = 0.0
for i in range(n):
result = result + u[i] * v[i]
return result
Matrix-vector multiplication
def matrix_vector_multiplication(U, v):
assert U.shape[1] == v.shape[0]
num_rows = U.shape[0]
result = np.zeros(num_rows)
for i in range(num_rows):
result[i] = vector_vector_multiplication(U[i], v)
return result
Matrix-matrix multiplication
def matrix_matrix_multiplication(U, V):
assert U.shape[1] == V.shape[0]
num_rows = U.shape[0]
num_cols = V.shape[1]
result = np.zeros((num_rows, num_cols))
for i in range(num_cols):
vi = V[:, i]
Uvi = matrix_vector_multiplication(U, vi)
result[:, i] = Uvi
return result
Identity matrix
I = np.eye(3)
Inverse
V = np.array([
[1, 1, 2],
[0, 0.5, 1],
[0, 2, 1],
])
inv = np.linalg.inv(V)
Add notes here (PRs are welcome).
| ⚠️ |
The notes are written by the community. If you see an error here, please create a PR with a fix. |
- Notes from Peter Ernicke - Part 1/3
- Notes from Peter Ernicke - Part 2/3
- Notes from Peter Ernicke - Part 3/3
Links
- Notebook from the video
- Get a visual understanding of matrix multiplication
- Overview of matrix multiplication functions in python/numpy
Key concepts
Related notes
- mlz-m01-crisp-dm
- mlz-m01-introduction-to-machine-learning
- mlz-m01-introduction-to-numpy
- mlz-m01-introduction-to-pandas
- mlz-m01-ml-vs-rule-based-systems
- mlz-m01-model-selection-process
- mlz-m01-setting-up-the-environment
- mlz-m01-summary
- mlz-m01-supervised-machine-learning
- mlz-m02-baseline-model-for-car-price-prediction-project
- mlz-m02-categorical-variables
- mlz-m02-computing-rmse-on-validation-data
- mlz-m02-data-preparation
- mlz-m02-exploratory-data-analysis
- mlz-m02-feature-engineering
- mlz-m02-linear-regression
- mlz-m02-linear-regression-vector-form
- mlz-m02-regularization
- mlz-m02-root-mean-squared-error-rmse
- mlz-m02-setting-up-the-validation-framework
- mlz-m02-training-linear-regression-normal-equation
- mlz-m02-tuning-the-model
- mlz-m02-using-the-model
- mlz-m03-data-preparation
- mlz-m03-eda
- mlz-m03-feature-importance-churn-rate-and-risk-ratio
- mlz-m03-feature-importance-correlation
- mlz-m03-feature-importance-mutual-information
- mlz-m03-logistic-regression
- mlz-m03-model-interpretation
- mlz-m03-one-hot-encoding
- mlz-m03-setting-up-the-validation-framework
- mlz-m03-training-logistic-regression-with-scikit-learn
- mlz-m04-accuracy-and-dummy-model
- mlz-m04-confusion-table
- mlz-m04-cross-validation
- mlz-m04-roc-auc
- mlz-m04-roc-curves
- mlz-m04-summary
- mlz-m06-gradient-boosting-and-xgboost
- mlz-m06-xgboost-parameter-tuning
- mlz-m08-installation-of-tensorflow
- mlz-m10-creating-a-pre-processing-service