---
# System prepended metadata

title: Lecture Notes ML4AI 2021
tags: [COTAI LHP]

---

---
tags: COTAI LHP
---

# Lecture Notes ML4AI 2021

## Session 1 -- Linear Predictors

## Session 2 -- Feature Extraction

## Session 3 -- Nonlinear 

## Session 4 -- Recommender Systems

## Session 5 -- Evaluation: Metrics and losses


**Evalution Metrics**
- Để đánh giá các mô hình là tốt hay không thì ta cần các chuẩn đánh giá (Evaluation metrics) trả ra hàm mất mát (loss function) hoặc các hàm error, cost, objective... để tối ưu hóa được các predictor.
- Quà trình huấn luyện và đánh giá ra một mô hình gồm:
    - Chia bộ dữ liệu(dataset) thành Training set và Test set.
    - Huấn luyện training set cho ra môi hình
        - Chia training set thành thành training set nhỏ hơn và validation set.
        - Training set nhỏ huấn luyện ra một số môi hình
        - Validaion set chọn ra môi hình tốt nhất để chạy ở test set
    - Chạy mô hình đó ở test set để dánh giá
- Một mô hình tốt thì cần khát quá hóa tốt hay dự đoán tốt trên những data khác. Để so sánh khả năng khái quát hóa của các mô hình (trong bài toán clasifier) thì ta có thể dựa vào margin của nó. Large-margin thì khả năng khái quát hóa tốt.
- Chuẩn đánh giá của bài toán Regression có thể là MSE, RMSE, MAE, MAPE, ... Mỗi chuẩn đánh giá có ưu nhược điểm riêng. Ví dụ như MAE không bị ảnh hưởng nhiều bởi các khoản phạt  nhưng khó tối ưu.
- Chuẩn đánh giá của bài toán Classifier khi dữ liệu đầu vào cân bằng là Accuracy bằng cách đếm số lần môi hình dự đoán sai. 
- Chuẩn đánh giá của bài toán Classifier khi dữ liệu đầu vào <mark>bị nhiễu</mark> (Hung Ngo: bị mất cân đối unbalanced) là $F_\beta score = (1^2+\beta^2)\frac{Precision.Recall}{Precision+Recall}$ trong đó:
    - Presicion: là tỉ lệ thể hiện số lượng item được chọn là true trên tổng số item được chọn: $\frac{\sum TP}{\sum(TP+FP)}$
    - Recall: là tỉ lệ thể hiện số lượng true item được chọn trên tổng số true item: $\frac{\sum TP}{\sum(TP+FN)}$
- Hoặc là phương pháp Receiver Operating Characteristic (ROC) dựa trên tương quan giữa  true positive rate và false positive rate. Dùng area under ROC curve (AUC) hoặc G-Mean để tối ưu hóa.
- Chuẩn đánh giá cho bài toán Object Detection và segmentation là Intersect over union(IoU)
- Chuẩn đánh giá cho Translation là BLEU
**From mistake to suttogate losses**
- Lý do chính mà ta cẩn chuyển từ các chuẩn đánh giá sang hàm loss là để có thể tối ưu hóa được mô hình. Một trong những phương pháp là Gradient Descend.
- Linear predictors thường cho ta hàm loss lồi (convex losses).Ex: logistic loss, binary categorical cross-entropy loss, log-loss, ...
**Support Vector Machine**
- Đề vẽ decision boundary phân loại các điểm dữ liệu thì ta vẽ trước hai đường đi qua các điểm dữ liệu khác nhau và gần nhau. Khoảng trống giữa hai đường này gọi là margin, các điểm trên đường này là support vector và decision boundary sẽ nằm giữa hai đường này.
- Ý nghĩa của margin: Margin càng lớn thì mô hĩnh sẽ càng robust to noise.
- Hàm Hingle loss: 
    - $y^t$(các điểm dữ liệu thực tế) thuộc hai nhãn 1 và -1 hai bên bờ của Decision Boundary
    - Decision boundary được coi là 0
    - $\hat{y}^t = sign(wx^t - b)$ là dự báo với hàm sign nắn dấu kết quả đầu ra. 
    - $l_t = max(0,1-y^t(wx^t-b)) = max(0,1-y^t.\hat{y}^t)$.
    - Nếu dự đoán sai $y^t.\hat{y}^t$ sẽ âm và $l_t$ nếu lớn hơn 1 sẽ là khoảng phạt để chỉnh sửa margin.
- Nonlinear SVM: kernel trick in kernel machine:
    - kernel trick: ta thông qua hàm $\phi(x)$ chuyển các feature thành x' rồi dot product $\phi(x).\phi(x')$
    - Nolinear SVM: Ta tính k(z,z') theo các công thức. VD với polynomial kernel $k(z,z') = (z.z'+c)^d$ với n là số chiều không gian, $z=(z_1,\dots,z_n)^\top\in\mathbb R^n$ 
    