You are on page 1of 34

Đ Ạ I H Ọ C S Ư P H Ạ M K Ỹ T H U Ậ T T P.

H C M

HỆ THỐNG THÔNG TIN


Y TẾ

Biên soạn: Nguyễn Thanh Tâm


Email: nttam@hcmiu.edu.vn
AI VÀ MACHINE LEARNING
LỊCH SỬ CỦA AI VÀ MACHINE LEARNING
Các phương pháp học của ML

❖Học có giám sát (Supervised Learning)


▪ Thường gặp nhất, hệ thống tự học để giải quyết bài toán
đầu vào – đầu ra dựa trên 1 tập dữ liệu đầu vào – đầu ra
đã biết.
❖Học không giám sát (Unsupervised Learning)
▪ Trường hợp này, không có sẵn outcome hay nhãn mà chỉ
có dữ liệu đầu vào. Thuật toán unsupervised learning sẽ
dựa vào cấu trúc của dữ liệu để thực hiện một công việc
nào đó, ví dụ như phân nhóm dữ liệu.
▪ Thường áp dụng cho các bài toán big data

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Các phương pháp học của ML

❖Học bán giám sát (Semi-Supervised Learning)


▪ Khi có một lượng lớn dữ liệu nhưng chỉ một phần trong
chúng được gán nhãn.
▪ Ví dụ bài toán gán nhãn ảnh với chỉ 1 phần trong số tập
ảnh đã được gán nhãn.
❖Học Củng Cố (Reinforcement Learning)
▪ Hệ thống tự động xác định hành vi dựa trên hoàn cảnh để
đạt được lợi ích cao nhất.
▪ Thường áp dụng cho các hệ thống AI chơi game

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Các loại bài toán trong ML

❖Bài toán hồi qui (Regression)


❖Bài toán phân loại (Classification)
❖Bài toán dựa trên các ví dụ (Instance-based)
❖Regularization
❖Clustering
❖…

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Bài toán hồi qui

❖Ví dụ: Cần một thuật toán tự xác định giá nhà dựa
trên các đặc điểm của căn nhà đó.
❖Giả thiết đặt ra: giá nhà (𝑦) sẽ phụ thuộc vào các
yếu tố sau:
▪ Diện tích 𝑥1
▪ Số phòng ngủ 𝑥2
▪ Khoảng cách đến trung tâm thành phố 𝑥3 .
❖Mô hình bài toán
𝑥1
𝒙2 Regression 𝑦ො
𝒙3
20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm
Bài toán hồi qui

❖Gọi:
▪ Giá nhà thật sự là 𝑦
▪ Giá nhà dự đoán là 𝑦ො
❖Ta cần tìm công thức tính:
▪ 𝑦ො = 𝑓 𝑥1 , 𝑥2 , 𝑥3
▪ Sao cho 𝑦ො ≈ 𝑦
❖Giả thiết giá nhà phụ thuộc vào diện tích, số phòng
ngủ và khoảng cách đến trung tâm thành phố theo 1
hàm tuyến tính, ta có:
▪ 𝑦ො = 𝑓 𝑥1 , 𝑥2 , 𝑥3 = 𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 , +𝑤3 𝑥3
❖Ta cần tìm 𝑤0 , 𝑤1 , 𝑤2 , 𝑤3
20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm
Bài toán hồi qui

❖Thể hiện dạng ma trận:


Đặt 𝑊 = 𝑤0 , 𝑤1 , 𝑤2 , 𝑤3 𝑇
𝑋 = 1, 𝑥1 , 𝑥2 , 𝑥3
Ta có 𝑦ො = 𝑤0 + 𝑤1 𝑥1 + 𝑤2 𝑥2 , +𝑤3 𝑥3 = 𝑋𝑊
❖Bài toán được giải quyết tốt nhất nếu sai số giữa giá
dự đoán và giá thật là thấp nhất.
❖Ta cần tìm 𝑤0 , 𝑤1 , 𝑤2 , 𝑤3 sao cho giá trị sau đây là
nhỏ nhất
1 2 1 2 1 2
𝑒 = 𝑦 − 𝑦ො = 𝑦 − 𝑋𝑊
2 2 2

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Bài toán hồi qui

❖Hàm mất mát (Loss function)


1
▪ 𝐿 𝑤 = σ𝑁
𝑖−1 𝑦𝑖 − 𝑋𝑖 𝑊
2
❖Bài toán quay về việc tìm 𝑤0 , 𝑤1 , 𝑤2 , 𝑤3 sao cho
𝐿 𝑤 đạt min

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Ví dụ bài toán hồi qui trên Python

❖Giả sử ta cần dự đoán cân nặng của mọi người dựa


trên chiều cao
❖Dữ liệu đầu vào: ta có dữ liệu cân nặng – chiều cao
của 15 người:
Chiều cao (cm) 147 150 153 155 158 160 163 165 168 170 173 175 178 180 183
Cân nặng (kg) 49 50 51 52 54 56 58 59 60 72 63 64 66 67 68

❖Trong dữ liệu này, chúng ta sẽ dùng dữ liệu của 13


người để huấn luyện hệ thống, 2 người để kiểm tra
kết quả

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Ví dụ bài toán hồi qui trên Python

❖Code python:
# import các class cần sử dụng
from __future__ import division, print_function, unicode_literals
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets, linear_model

# Khai báo các dữ liệu:


# Chiều cao (cm)
X = np.array([[147, 150, 153, 158, 163, 165, 168, 170, 173, 175, 178, 180,
183]]).T
# Cân nặng (kg)
y = np.array([[ 49, 50, 51, 54, 58, 59, 60, 62, 63, 64, 66, 67, 68]]).T
# Thêm [1] vào vector X
one = np.ones((X.shape[0], 1))
Xbar = np.concatenate((one, X), axis = 1)

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Ví dụ bài toán hồi qui trên Python

❖Code python:
# Vẽ biểu dồ hiển thị dữ liệu
plt.plot(X, y, 'ro')
plt.axis([140, 190, 45, 75])
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Ví dụ bài toán hồi qui trên Python

❖Code python:
# Tạo mô hình bài toán hồi qui tuyến tính
regr = linear_model.LinearRegression(fit_intercept=False)
# Huấn luyện mô hình
regr.fit(Xbar, y)
# Thử dự đoán với giá trị chiều cao 155cm và 160cm
x_test = regr.predict(np.array([[1,155]]))
print( 'Giá trị dự đoán cho X=155 là:', x_test )
x_test = regr.predict(np.array([[1,160]]))
print( 'Giá trị dự đoán cho X=160 là:', x_test )

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Bài tập

❖BT1: Thử viết lại chương trình trên


▪ Truy cập https://colab.research.google.com/, đăng nhập
tài khoản google
▪ Viết lại code trên
▪ Share bài làm, lấy link nộp vào bài tập ML trên google
classroom
❖BT2: Viết chương trình cho bài toán dự đoán giá
nhà, trong đó giá chỉ phụ thuộc vào diện tích với dữ
liệu cho trước trong file excel.

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Logistic Regression

❖Ví dụ: Một nhóm 20 sinh viên dành thời gian trong
khoảng từ 0 đến 6 giờ cho việc ôn thi. Thời gian ôn
thi này ảnh hưởng đến xác suất sinh viên vượt qua
kỳ thi như thế nào?
Hours 0.5 0.75 1 1.25 1.5 1.75 1.75 2 2.25 2.5

Pass 0 0 0 0 0 0 1 0 1 0

Hours 2.75 3 3.25 3.5 4 4.25 4.5 4.75 5 5.5

Pass 1 0 1 0 1 1 1 1 1 1

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Logistic Regression

❖Biểu diễn trên đồ thị

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Logistic Regression

❖Đầu ra dự đoán của Linear Regression


y = f(x)

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Bài toán AI trong KTYS

❖Bài toán phổ biến ứng dụng AI trong KTYS là bài


toán phân loại (classification)
❖Các thuật toán thường được dung trong bài toán
phân loại:
▪ Linear Classifier
▪ Support Vector Machine (SVM)
▪ Kernel SVM
▪ k-Nearest Neighbor (kNN)
▪ Sparse Representation-based classification (SRC)

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Linear Classifier

❖2D - Data

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Linear Classifier

❖Linear Classifier

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Linear Classifier

❖Linear Classifier

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Linear Classifier

❖Shifty

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Linear Classifier

❖Shifty

20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm


Linear Classifier

Người ta sử dụng 1 đồ thị shiftiness để tìm đường phân


biệt tốt nhất
Support Vector Machine (SVM)
Support Vector Machine (SVM)

Radial Basis Function (RBF) kernel SVM


20/04/2023 Biên soạn: ThS. Nguyễn Thanh Tâm
KNN (k-nearest neighbors)

❖Dựa trên k láng giềng gần nhất:


KNN (k-nearest neighbors)
KNN (k-nearest neighbors)
KNN (k-nearest neighbors)
KNN (k-nearest neighbors)

k=2
KNN (k-nearest neighbors)

k=3

You might also like