Professional Documents
Culture Documents
BaiGiang MayHocUngDung C3
BaiGiang MayHocUngDung C3
(SUPERVISED LEARNING)
NỘI DUNG CHÍNH
2
GIỚI THIỆU BÀI TOÁN HỌC CÓ GIÁM SÁT
5
HỒI QUY TUYẾN TÍNH
(LINEAR REGRESSION)
y - axis
(x2,y2)
(x1,y1)
0
x - axis
y - axis
(x2,y2)
(x1,y1)
x - axis
0
Slope = Δy/Δx =(y2 – y1)/(x2 - x1)
y - axis
0
x - axis
y - axis
0
x - axis
y - axis
0
x - axis
→ Cần tìm đường đi qua tất cả các điểm ~ nối kết giá trị trung bình nhiều điểm
với nhau → mục tiêu của phương pháp phân tích hồi quy tuyến tính
y = α + βx + ε
➢ α : intercept
➢ β: slope/gradient
➢ε: sai số ngẫu nhiên (random error - những dao động về y trong mỗi
giá trị x
➢ y, x là giá trị quan sát được → tìm tham số α, β
➢Sai số ngẫu nhiên ε: phân bố chuẩn, trung bình 0, phương sai bất
biến
y = wx + ε
w: tham số (β/slope)
ε: sai số ngẫu nhiên Lưu ý: biến Y liên tục
y = w0 + w1x + ε
➢ Với n là số mẫu
y = w0 + w1x + ε
Giải pháp đơn giản hơn?
➢ Với n là số mẫu
y = w 0 + w 1 x 1 + … + w kx k + ε
➢Bài toán: ước lượng giá của căn nhà rộng x1 m2, có x2 phòng ngủ và
cách trung tâm thành phố x3 km
➢ Giả sử thu thập được số liệu từ 1000 căn nhà trong thành phố
➢Bài toán: ước lượng giá của căn nhà rộng x1 m2, có x2 phòng ngủ và
cách trung tâm thành phố x3 km
➢ Giả sử thu thập được số liệu từ 1000 căn nhà trong thành phố
➢ Diện tích càng lớn → giá càng cao
➢ Số lượng phòng ngủ càng nhiều → giá càng cao
➢ Càng xa trung tâm → giá càng giảm
→ Mô hình quan hệ giữa đầu ra và đầu vào bằng hàm tuyến tính
đơn giản
➢Bài toán: ước lượng giá của căn nhà rộng x 1 m2, có x2 phòng ngủ và
cách trung tâm thành phố x3 km
➢ Giả sử thu thập được số liệu từ 1000 căn nhà trong thành phố
→ Mô hình quan hệ giữa đầu ra và đầu vào bằng hàm tuyến tính đơn
giản
Vector đặc trưng: x = [x1, x2, x3]T chứa thông tin đầu vào
Tham số cần tìm: w = [w1, w2, w3]T → tham số mô hình
Mối quan hệ y ≈ f(x) là mối quan hệ tuyến tính
➢ y là giá trị thực của đầu ra (ground truth), trong khi ŷ là giá trị đầu
ra dự đoán (predicted output) của mô hình linear regression.
➢y và ŷ là hai giá trị khác nhau do có sai số mô hình, tuy nhiên,
chúng ta mong muốn rằng sự khác nhau này rất nhỏ.
➢ Linear hay tuyến tính hiểu một cách đơn giản là thẳng, phẳng.
➢Trả về một số không âm thể hiện mức độ chênh lệch giữa giá trị mà
mô hình dự đoán và giá trị thực tế.
➢ Với tất cả các cặp (input, output) (xi, yi), i = 1,2, …, N, với N là số
lượng dữ liệu quan sát được
➢Mong muốn: trung bình sai số nhỏ nhất ~ tìm w để hàm số sau đạt
giá trị nhỏ nhất
➢ Hàm số có thể được viết gọn lại dưới dạng ma trận, vector và norm
➢ L(w) là một hàm số liên quan tới bình phương của l2 norm
➢ Normal equation
Cách đơn giản nhất để tìm giá trị nhỏ nhất của một hàm số (cực tiểu), ta sẽ
cho đạo hàm bằng 0
Đạo hàm của hàm mất mát của Linear regression
➢ Normal equation
Giải phương trình đạo hàm bằng không
➢ Gradient Descent
Thay vì sử dụng công thức Normal Equation, thì trong thực tế chúng ta sẽ sử
dụng thuật toán Gradient Descent.
Giải thích một cách đơn giản, chúng ta sẽ cho w tăng và giảm một khoảng nhất
định, sao cho giá trị của hàm Loss function giảm dần đến giá trị cực tiểu.
➢ Gradient Descent
Như bạn có thể thấy trên hình: lúc ban đầu Loss function có giá trị lớn nên hàm
ban đầu cần tìm dự đoán chưa chính xác các dữ liệu, nhưng khi Loss function
giảm dần, hàm ban đầu dự đoán chính xác hơn rất nhiều.
➢ Gradient Descent
Điểm mạnh: tính toán nhẹ nhàng hơn rất nhiều so với phương pháp ban đầu.
Điểm yếu: kết quả thường không chính xác 100%, nhiều vấn đề liên quan xảy
ra, ví dụ như giá trị của hàm Loss không thể giảm thêm mà bị mắc kẹt tại một
điểm local nào đó.
➢Việt lấy trung bình (hệ số 1/N) hay lấy tổng trong hàm mất mát, về mặt toán học, không
ảnh hưởng tới nghiệm của bài toán.
➢Trong machine learning, các hàm mất mát thường có chứa hệ số tính trung bình theo
từng điểm dữ liệu trong tập huấn luyện.
➢Khi tính giá trị của hàm mất mát trên tập kiểm thử, ta cũng tính trung bình lỗi của mỗi
điểm.
➢Việc lấy trung bình này quan trọng vì số lượng điểm dữ liệu trong mỗi tập dữ liệu có
thể thay đổi.
➢Việc tính toán mất mát trên từng điểm dữ liệu sẽ hữu ích hơn trong việc đánh giá chất
lượng mô hình sau này.
➢ Ngoài ra, việc lấy trung bình cũng giúp tránh hiện tượng tràn số khi số lượng điểm dữ
liệu quá nhiều.
Số lượng 0 10 20
Tuổi thọ 0 20 40
Số lượng 0 10 20
Tuổi thọ 0 20 40
y = 2x
➢Xét bảng cân nặng và chiều cao của 15 người → dự đoán cân nặng
của hai người có chiều cao 155 cm và 160 cm
Số lượng 0 10 20
Tuổi thọ 100 20 40
➢Trong không gian hai chiều, một hàm số được gọi là tuyến tính nếu
đồ thị của nó có dạng một đường thẳng.
➢Trong không gian ba chiều, một hàm số được goi là tuyến tính nếu
đồ thị của nó có dạng một mặt phẳng.
➢ Trong không gian nhiều hơn ba chiều, khái niệm mặt phẳng không
còn phù hợp nữa, thay vào đó, một khái niệm khác ra đời được gọi là
siêu mặt phẳng (hyperplane).
➢ Các hàm số tuyến tính là các hàm đơn giản nhất, vì chúng thuận
tiện trong việc hình dung và tính toán.
➢Nhạy cảm với nhiễu (sensitive to noise) → cần loại bỏ nhiễu trước
khi thực hiện Linear regression
➢ Không biểu diễn được các mô hình phức tạp
44 PLA
PLA
(PERCEPTRON LEARNING ALGORITHM)
45 PLA
PLA
(PERCEPTRON LEARNING ALGORITHM)
46 PLA
MÔ HÌNH NORON McCULLOCH & PITTS
47 PLA
MÔ HÌNH NORON McCULLOCH & PITTS
Threhold (ngưỡng)
48 PLA
MÔ HÌNH NORON McCULLOCH & PITTS
Threhold (ngưỡng)
49 PLA
PLA
(PERCEPTRON LEARNING ALGORITHM)
50 PLA
PLA
(PERCEPTRON LEARNING ALGORITHM)
52 PLA
BÀI TOÁN PERCEPTRON
➢Cho hai class được gán nhãn, hãy tìm một đường phẳng sao cho toàn
bộ các điểm thuộc class 1 nằm về 1 phía, toàn bộ các điểm thuộc class
2 nằm về phía còn lại của đường phẳng đó. Với giả định rằng tồn tại
một đường phẳng như thế.
➢Nếu tồn tại một đường phẳng phân chia hai class thì ta gọi hai class
đó là linearly separable.
➢Các thuật toán classification tạo ra các boundary là các đường phẳng
được gọi chung là Linear Classifier.
53 PLA
BÀI TOÁN PERCEPTRON
➢Một nhược điểm của Perceptron là nó chỉ hoạt động thực sự tốt khi
dữ liệu phân tách tuyến tính (linearly separable)
➢Tức có thể dùng đường thẳng, mặt phẳng, siêu phẳng để làm biên
giới, nếu dữ liệu không thỏa điều kiện này, không những Perceptron
mà bất kì thuật toán phân loại tuyến tính nào cũng sẽ fail "nhè nhẹ"
→ Dẫn đến khái niệm Linear separability
54 PLA
BÀI TOÁN PERCEPTRON
➢ Linear separability
Cho vector xi biểu diễn một dữ liệu, yilà nhãn của xi và f(xi,yi)=yixi là
hàm đặc trưng (feature function) của dữ liệu, tập dữ liệu này được gọi là
Linearly Separable nếu tồn tại một vector trọng số w và một margin p>0
sao cho:
55 PLA
BÀI TOÁN PERCEPTRON
➢ Linear separability
Ví dụ ta có vector trọng số w=[1,1] và vector x=[2,2] có nhãn y=1, như
vậy thay vào công thức trên ta được:
56 PLA
BÀI TOÁN PERCEPTRON
Các điểm của hai lớp không Các điểm của hai lớp giao
giao nhau nhau
Dữ liệu là linearly separable khi hai tập bao lồi các điểm của hai lớp không giao nhau.
57 PLA
GIẢI THUẬT PERCEPTRON
➢ Ý tưởng
Đường nét đứt là biên giới phân lớp.
Thuật toán sẽ dùng đường biên giới để thử
phân loại dữ liệu, với mỗi lần phân loại thử bị
sai, thuật toán sẽ điều chỉnh lại biên giới.
Hình trên, có một điểm xanh nằm cùng lãnh
thổ với các điểm màu đỏ, do đó nó bị thuật
toán phân loại sai.
Thuật toán sẽ "xoay" biên giới về phía điểm
xanh ấy sao cho điểm này thuộc về lãnh thổ của
các điểm xanh.
58 PLA
BÀI TOÁN PERCEPTRON
59 PLA
BÀI TOÁN PERCEPTRON
60 PLA
BÀI TOÁN PERCEPTRON
61 PLA
BÀI TOÁN PERCEPTRON
62 PLA
BÀI TOÁN PERCEPTRON
63 PLA
MULTI-LAYER PERCEPTRON (MLP)
64 PLA
MULTI-LAYER PERCEPTRON (MLP)
65 PLA
MULTI-LAYER PERCEPTRON (MLP)
66 PLA
MULTI-LAYER PERCEPTRON (MLP)
67 PLA
HỒI QUY LOGISTIC
(LOGISTIC REGRESSION)
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?
Kết quả thu được như sau:
➢Nhìn chung, học càng nhiều thì khả năng đỗ càng cao. Mặc dù có một chút bất công khi học 3.5
giờ thì trượt, còn học 1.75 giờ thì lại đỗ
➢PLA không thể áp dụng được cho bài toán này vì không thể nói một người học bao nhiêu giờ thì
100% trượt hay đỗ, và thực tế là dữ liệu này cũng không linearly separable (điệu kiện để PLA có
thể làm việc)
➢Cả Linear regression và PLA đều không phù hợp với bài toán này → cần một mô hình flexible
hơn.
➢Linear regression: dự đoán một giá trị thực của đầu ra (output y)
bằng một tập hợp các biến độc lập cho trước
➢ PLA: chỉ nhận một trong hai giá trị 1 hoặc −1
➢ Logistic regression: giống với linear regression ở khía cạnh đầu ra
là số thực, và giống với PLA ở việc đầu ra bị chặn
➢Mặc dù trong tên có chứa từ regression, logistic regression thường
được sử dụng nhiều hơn cho các bài toán classification.
➢ Hàm logit chỉ trả về các giá trị giữa 0 và 1 cho biến phụ thuộc, dù giá
trị của biến độc lập là gì.
➢ Đây là cách hồi quy logistic ước tính giá trị của biến phụ thuộc.
➢Phương pháp hồi quy logistic cũng lập mô hình phương trình giữa
nhiều biến độc lập và một biến phụ thuộc.
➢ Tốc độ
Các mô hình hồi quy logistic có thể xử lý khối lượng lớn dữ liệu ở tốc độ
cao bởi chúng cần ít khả năng điện toán hơn, chẳng hạn như bộ nhớ và
sức mạnh xử lý
Q&A