Professional Documents
Culture Documents
Lec 05 - Machine Learning
Lec 05 - Machine Learning
7/6/2023 3
VECTOR ĐẶC TÍNH
7/6/2023 6
TẬP HUẤN LUYỆN
7/6/2023 7
HỌC KHÔNG GIÁM SÁT
7/6/2023 8
CLUSTERING
◼ Mục tiêu: nhóm các mẫu dữ liệu thành các
cụm sao cho các mẫu trong cùng một cụm có
tính chất tương tự nhau
7/6/2023 9
CLUSTERING
◼ Oranges và Lemons
7/6/2023 10
CLUSTERING
Có 03 phương pháp gom cụm thường sử dụng
◼ Gom cụm phân cấp
❑ Xây dựng cây nhị phân trên bộ dữ liệu bằng cách
trộn các bộ dữ liệu
◼ K-Means Clustering
❑ Xác định số cụm mong muốn và sử dụng thuật
toán để phân loại các cụm
◼ Mean Shift Clustering
7/6/2023 11
CLUSTERING
Gom cụm phân cấp
7/6/2023 12
CLUSTERING
Gom cụm phân cấp
7/6/2023 13
CLUSTERING
Gom cụm phân cấp
Tìm một cặp cụm
gần nhất
7/6/2023 14
CLUSTERING
Gom cụm phân cấp
Trộn hai cụm thành
một cụm
7/6/2023 15
CLUSTERING
Gom cụm phân cấp
Tiếp tục trộn hai
cụm thành một
cụm
7/6/2023 16
CLUSTERING
Gom cụm phân cấp
Tiếp tục trộn hai
cụm thành một
cụm
7/6/2023 17
CLUSTERING
Gom cụm phân cấp – ví dụ
◼ 6 Italian cities
7/6/2023 18
CLUSTERING
Gom cụm phân cấp – ví dụ
- Trộn MI và TO.
- Tính lại khoảng cách
nhỏ nhất từ cụm MI/TO
đến tất cả các cụm khác
7/6/2023 19
CLUSTERING
Gom cụm phân cấp – ví dụ
- Trộn NA và RM.
7/6/2023 20
CLUSTERING
Gom cụm phân cấp – ví dụ
- Trộn BA và NA/RM.
7/6/2023 21
CLUSTERING
Gom cụm phân cấp – ví dụ
- Trộn FI và BA/NA/RM.
7/6/2023 22
CLUSTERING
Gom cụm phân cấp – ví dụ
7/6/2023 23
CLUSTERING
K-Means Clustering
◼ Là phương pháp gom cụm nổi tiếng
◼ Dữ liệu đầu vào:
❑ Một bộ dữ liệu x1, …, xn, với mỗi dữ liệu là vector
đặc tính
❑ Giả sử có k cụm cho trước
7/6/2023 24
CLUSTERING
K-Means Clustering
▪ Marketing: Xác định các nhóm khách hàng (khách hàng tiềm
năng, khách hàng giá trị, phân loại và dự đoán hành vi khách
hàng,…) sử dụng sản phẩm hay dịch vụ của công ty để giúp
công ty có chiến lược kinh doanh hiệu quả hơn;
▪ Biology: Phân nhóm động vật và thực vật dựa vào các thuộc
tính của chúng;
▪ Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc
giả…;
▪ Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo
hiểm và các dịch vụ tài chính, dự đoán xu hướng (trend) của
khách hàng, phát hiện gian lận tài chính (identifying frauds);
▪ WWW: Phân loại tài liệu (document classification); phân loại
người dùng web (clustering weblog);…
7/6/2023 25
CLUSTERING
K-Means Clustering
◼ Với mỗi phần tử xi chọn cụm gần nhất ci
◼ Chọn tâm cụm là trung bình các phần tử
(mean/centroid)
7/6/2023 26
CLUSTERING
K-Means Clustering
K=2
Tìm 2 cluster
Income
Age
7/6/2023 27
CLUSTERING
K-Means Clustering
K = 2,
Gán ngẫu nhiên hai
tâm cụm
Income
Age
7/6/2023 28
CLUSTERING
K-Means Clustering
K = 2,
Mỗi điểm thuộc về
tâm cụm gần nhất
Income
Age
7/6/2023 29
CLUSTERING
K-Means Clustering
K = 2,
Di chuyển tâm cụm
thành giá trị trung
bình của cụm
Income
Age
7/6/2023 30
CLUSTERING
K-Means Clustering
K = 2,
Mỗi điểm thuộc về
tâm cụm gần nhất
Income
Age
7/6/2023 31
CLUSTERING
K-Means Clustering
K = 2,
Di chuyển tâm cụm
thành giá trị trung
bình của cụm
Income
Age
7/6/2023 32
CLUSTERING
K-Means Clustering
K = 2,
Các điểm không
thay đổi → Hội tụ
Income
Age
7/6/2023 33
CLUSTERING
K-Means Clustering
K=3
Income
Age
7/6/2023 34
CLUSTERING
K-Means Clustering
K = 3,
Kết quả phụ thuộc
vào các cụm khởi
tạo
Income
Age
7/6/2023 35
CLUSTERING
K-Means Clustering
Income
Age
7/6/2023 36
CLUSTERING
K-Means Clustering
Sau nhiều lần lặp
Income
Age
7/6/2023 37
CLUSTERING
Thuật toán K-Means
◼ Đầu vào: x1, …, xn, k với mỗi xi là một điểm trong không
gian đặc tính n-chiều
◼ Bước 1: Chọn k tâm cụm c1 ,…, ck
◼ Bước 2: Với mỗi điểm xi, xác định cụm của nó: Tìm tâm
cụm gần nhất ( có thể sử dụng khoảng cách Euclidean)
◼ Bước 3: Cập nhật tất cả tâm cụm theo centroids
1
ci = å
num_ pts_ in_ cluster _ i xÎ cluster i
x
◼ Lặp Bước 2 và Bước 3 cho đến khi tâm cụm không thay đổi
7/6/2023 38
CLUSTERING
Thuật toán K-Means – Ví dụ
Ví dụ: Giả sử ta có 4 loại thuốc A,B,C,D, mỗi loại thuộc
được biểu diễn bởi 2 đặc trưng X và Y như sau. Mục
đích là nhóm các thuốc đã cho vào 2 nhóm (K=2) dựa
vào các đặc trưng của chúng.
7/6/2023 39
CLUSTERING
Thuật toán K-Means – Ví dụ
◼ Bước 1. Khởi tạo tâm (centroid) cho 2 nhóm. Giả sử
ta chọn A là tâm của nhóm thứ nhất (tọa độ tâm nhóm
thứ nhất c1(1,1)) và B là tâm của nhóm thứ 2 (tạo độ
tâm nhóm thứ hai c2 (2,1)).
◼ Bước 2. Tính khoảng cách từ các đối tượng đến tâm
của các nhóm (Khoảng cách Euclidean)
7/6/2023 40
CLUSTERING
Thuật toán K-Means – Ví dụ
◼ Bước 3. Nhóm các đối tượng vào nhóm gần nhất
◼ Bước 4. Tính lại tọa độ các tâm cho các nhóm mới
dựa vào tọa độ của các đối tượng trong nhóm.
Tâm nhóm 1 vẫn không đổi, c1(1,1) và tâm nhóm 2
được tính như sau:
7/6/2023 41
CLUSTERING
Thuật toán K-Means – Ví dụ
◼ Bước 5. Tính lại khoảng cách từ các đối tượng đến
tâm mới
7/6/2023 42
CLUSTERING
Thuật toán K-Means – Ví dụ
◼ Bước 6. Nhóm các đối tượng vào nhóm
7/6/2023 43
CLUSTERING
Thuật toán K-Means – Ví dụ
◼ Bước 8. Tính lại khoảng cách từ các đối tượng đến
tâm mới
7/6/2023 44
CLUSTERING
Thuật toán K-Means – Ví dụ
◼ Bước 9. Nhóm các đối tượng vào nhóm
7/6/2023 45
CLUSTERING
Thuật toán K-Means – nhận xét
◼ Chúng ta cần biết số lượng cluster cần clustering
◼ Nghiệm cuối cùng phụ thuộc vào các centers được khởi tạo
ban đầu:
• Có thể có tốc độ hội tụ rất chậm.
• Khi một cluster nằm phía trong 1 cluster khác.
7/6/2023 46
CLUSTERING
Mean Shift Clustering
1. Chọn kích thước cửa sổ tìm kiếm
2. Chọn vị trí khởi tạo của của sổ tìm
kiếm
3. Tính vị trí trung bình (centroid của dữ
liệu) trong của sổ tìm kiếm
4. Dịch chuyển tâm của sổ tìm kiếm
đến giá trị trung bình đã được tính tại
Bước 3
5. Lặp lại Bước 3 và 4 cho đến khi hội
tụ
7/6/2023 47
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
Mean Shift
vector
Mục tiêu: Tìm khu vực dày đặc nhất
7/6/2023 48
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
Mean Shift
vector
Mục tiêu: Tìm khu vực dày đặc nhất
7/6/2023 49
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
Mean Shift
vector
Mục tiêu: Tìm khu vực dày đặc nhất
7/6/2023 50
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
Mean Shift
vector
Mục tiêu: Tìm khu vực dày đặc nhất
7/6/2023 51
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
Mean Shift
vector
Mục tiêu: Tìm khu vực dày đặc nhất
7/6/2023 52
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
Mean Shift
vector
Mục tiêu: Tìm khu vực dày đặc nhất
7/6/2023 53
CLUSTERING
Mean Shift Clustering Region of
interest
Centroid
7/6/2023 55
CLUSTERING
Mean Shift Clustering – Ví dụ
Ví dụ: Giả sử ta có 6 loại thuốc A,B,C,D,E,F mỗi loại
thuộc được biểu diễn bởi 2 đặc trưng X và Y như sau.
7/6/2023 56
HỌC CÓ GIÁM SÁT
7/6/2023 57
HỌC CÓ GIÁM SÁT
◼ Ví dụ
❑ Dự đoán giới tính (M, F) từ cân nặng và chiều cao
❑ Dự báo lứa tuổi trưởng thành (A), vị thành niên (J)
từ cân nặng và chiều cao
◼ Một nhãn y là một dự báo mong muốn cho
một thể hiện x
7/6/2023 58
HỌC CÓ GIÁM SÁT
CÁC PHƯƠNG PHÁP HỌC CÓ GIÁM SÁT
◼ K-nearest-neighbors (k-NN)
◼ Decision trees
◼…
7/6/2023 62
k-Nearest-Neighbors (k-NN)
Input: dữ liệu huấn luyện (x1, y1),…,(xn,yn); hàm khoảng
cách d(); số lượng láng giềng k; mẫu kiểm thử x*
1. Tìm k mẫu huấn luyện xi1,…xik gần nhất với x* theo d()
2. Cho đầu ra y* là lớp ưu thế của yi1, …, yik
◼ 1-NN: Decision boundary
7/6/2023 63
k-NN Classification
60
Survived
Did not survive
40
Age
20
0 10 20
Number of Malignant Nodes
7/6/2023 64
k-NN Classification
60
40
Age
Predict
20
0 10 20
Number of Malignant Nodes
7/6/2023 65
k-NN Classification
40
Age
Predict
20
0 10 20
Number of Malignant Nodes
7/6/2023 66
k-NN Classification
40
Age
Predict
20
0 10 20
Number of Malignant Nodes
7/6/2023 67
k-NN Classification
40
Age
Predict
20
0 10 20
Number of Malignant Nodes
7/6/2023 68
k-NN Classification
40
Age
Predict
20
0 10 20
Number of Malignant Nodes
7/6/2023 69
k-NN Classification
40
Age
Predict
20
0 10 20
Number of Malignant Nodes
7/6/2023 70
k-NN Classification
7/6/2023 71
k-NN Classification
7/6/2023 72
k-NN Classification
7/6/2023 73
k-NN Classification
Ý tưởng: Giải thuật phân loại 1 đối tượng dựa vào tập các
ví dụ mẫu. Tìm ra k đối tượng gần nó nhất, và phân lớp nó
vào lớp các đối tượng có nhiều phần tử nhất trong k phần tử
này.
Bước 1. Chọn K = số láng giềng gần nhất (K=1,3, 5, 9,…)
Bước 2. Tính khoảng cách ngắn nhất giữa vector của văn
bản đang xét với tất cả các vector trong tập training theo
công thức đo độ Euclid.
Bước 3.
- Sắp xếp khoảng cách và chọn các K láng giềng gần
nhất, dựa trên khoảng cách Euclid.
- Đưa ra nhãn lớp của phần tử mới, bằng cách chọn
nhãn đa số trong k nhãn của k láng giềng gần nhất.
7/6/2023 74
k-NN Classification
Nhận xét:
- Giải thuật kNN thích hợp cho việc phân loại dữ liệu.
- Giải thuật này không có khả năng phân tích dữ liệu để
tìm ra các thông tin có giá trị.
- Trong quá trình kNN hoạt động, phải tính toán "khoảng
cách" từ dữ liệu cần xác định loại đến tất cả các dữ liệu
trong tập huấn luyện (training set). Vì vậy, tập huấn luyện
quá lớn sẽ làm cho thời gian chạy của chương trình sẽ rất
lâu.
7/6/2023 75
GIỚI THIỆU CÂY QUYẾT ĐỊNH
7/6/2023 76
DỮ LIỆU
7/6/2023 77
XÂY DỰNG CÂY QUYẾT ĐỊNH
7/6/2023 78
XÂY DỰNG CÂY QUYẾT ĐỊNH
7/6/2023 79
XÂY DỰNG CÂY QUYẾT ĐỊNH
7/6/2023 80
XÂY DỰNG CÂY QUYẾT ĐỊNH
7/6/2023 81
CÂY ĐỊNH DANH
7/6/2023 82
CÂY ĐỊNH DANH
7/6/2023 83
CÂY ĐỊNH DANH
Chọn ngẫu nhiên thuộc tính “Màu tóc” để phân hoạch:
Đỏ
Vàng
Nâu
Tập luật:
IF (Màu tóc = Đỏ) THEN Kết quả = Cháy nắng
IF (Màu tóc = Nâu) THEN Kết quả = Không Cháy nắng
IF (Màu tóc = Vàng) THEN Kết quả = ? (chưa biết)
7/6/2023 84
CÂY ĐỊNH DANH
Tiếp tục chọn ngẫu nhiên thuộc tính “Chiều cao” để phân hoạch:
Đỏ
Vàng
Nâu
Tập luật:
IF (Màu tóc = Đỏ) THEN Kết quả = Cháy nắng
IF (Màu tóc = Nâu) THEN Kết quả = Không Cháy nắng
IF (Màu tóc = Vàng) AND (Chiều cao = Cao) THEN Kết quả = Không Cháy nắng
IF (Màu tóc = Vàng) AND (Chiều cao = T.Bình) THEN Kết quả = Cháy nắng
IF (Màu tóc = Vàng) AND (Chiều cao = Thấp) THEN Kết quả = ?
7/6/2023 85
THUẬT TOÁN QUINLAN
r1, r2, … , rn là các giá trị của thuộc tính mục tiêu
7/6/2023 86
THUẬT TOÁN QUINLAN
7/6/2023 87
THUẬT TOÁN QUINLAN
Áp dụng thuật toán Quinlan cho bảng dữ liệu sau:
7/6/2023 88
THUẬT TOÁN QUINLAN
7/6/2023 89
THUẬT TOÁN QUINLAN
VTóc (vàng) = (T(vàng,cháy nắng),T(vàng, không cháy nắng))
Số người tóc vàng là : 4
Số người tóc vàng và cháy nắng là : 2
Số người tóc vàng và không cháy nắng là : 2
Do đó
VTóc(vàng) = (2/4 , 2/4) = (0.5, 0.5)
Tương tự
VTóc(nâu) = (0/3, 3/3) = (0,1) (vector đơn vị)
VTóc(đỏ) = (1/1, 0/1) = (1,0) (vector đơn vị)
7/6/2023 90
THUẬT TOÁN QUINLAN
Các thuộc tính khác được tính tương tự, kết quả như sau :
VC.Cao(Cao) = (0/2,2/2) = (0,1)
VC.Cao(T.B) = (2/3,1/3)
VC.Cao(Thấp) = (1/3,2/3)
Sau khi phân hoạch theo màu tóc xong, chỉ có phân hoạch theo
tóc vàng (Pvàng) là còn chứa những người cháy nắng và không
cháy nắng nên ta sẽ tiếp tục phân hoạch tập này. Ta sẽ thực
hiện thao tác tính vector đặc trưng tương tự đối với các thuộc
tính còn lại (chiều cao, cân nặng, dùng kem). Trong phân hoạch
Pvàng, tập dữ liệu của chúng ta còn lại là :
7/6/2023 92
THUẬT TOÁN QUINLAN
VC.Cao(Cao) = (0/1,1/1) = (0,1)
VC.Cao(T.B) = (1/1,0/1) = (1,0)
VC.Cao(Thấp) = (1/2,1/2)
2 thuộc tính dùng kem và chiều cao đều có 2 vector đơn vị.
Ta chọn phân hoạch theo thuộc tính dùng kem.
7/6/2023 93
THUẬT TOÁN QUINLAN
Bài tập:
- Ghi tập luật cho cây định danh như trên
- So sánh tập luật với trường hợp chọn ngẫu nhiên
7/6/2023 94
BÀI TẬP
7/6/2023 95
BÀI TẬP
Hãy cho biết các quyết định chưa biết (có dấu ?)
7/6/2023 96
BÀI TẬP
Hãy cho biết các quyết định chưa biết (có dấu ?)
7/6/2023 97
ENTROPY
The Training Set
7/6/2023 98
ENTROPY
Color
red blue
green
Size
small big
7/6/2023 99
ENTROPY
k
H (Y | X = v) = − Pr(Y = yi | X = v) log2 Pr(Y = yi | X = v)
i =1
H (Y | X ) = Pr( X = v) H (Y | X = v)
v:values of X
◼ Y: là nhãn lớp
◼ X: là thuộc tính
◼ v: giá trị của thuộc tính X
◼ Pr(Y|X=v): xác suất có điều kiện
◼ H(Y|X): là độ hỗn loạn trung bình của X
7/6/2023 100
PHƯƠNG PHÁP ENTROPY
Với mỗi thuộc tính dẫn xuất ta chỉ cần tính ra độ đo
hỗn loạn và lựa chọn thuộc tính nào có độ đo hỗn
loạn là thấp nhất. Công thức tính như sau :
bj br bri
j b i − b log2 b
i
t j j
trong đó :
• bt là tổng số phần tử có trong phân hoạch
• bj là tổng số phần tử có thuộc tính dẫn xuất A có giá trị j.
• bri : tổng số phần tử có thuộc tính dẫn xuất A có giá trị j và
thuộc tính mục tiêu có giá trị i.
7/6/2023 101
PHƯƠNG PHÁP ENTROPY
7/6/2023 102
PHƯƠNG PHÁP ENTROPY
Hình dáng
Kích cỡ Màu
Lớn Đỏ sắc Cầu Nón
Nhỏ Xanh Hộp Trụ
Trung bình Vàng
√1 √2 3 5
√4 √2 √1 3 √4 6
√1 √7 √2 √4 √7
6
3 5
5 6
√7
7/6/2023 103
PHƯƠNG PHÁP ENTROPY
7/6/2023 104
PHƯƠNG PHÁP ENTROPY
Hình dáng
Cầu Nón
Hộp
Trụ
Mua Mua ? Không mua
7/6/2023 105
PHƯƠNG PHÁP ENTROPY
Sau khi test lần 1 xong, ta đã loại ra 5 mẫu ổn định
=> có 1 bảng nhỏ hơn:
Kích cỡ
Màu sắc
Trung Xanh Đỏ
bình
3 3 √7
√7
7/6/2023 106
PHƯƠNG PHÁP ENTROPY
Chọn thuộc tính màu sắc vì có độ hỗn loạn TB nhỏ nhất:
Màu sắc
Đỏ Xanh
Cầu Nón
Hộp Trụ
Mua Mua Không mua
Màu sắc
Đỏ Xanh
Mua Không mua
7/6/2023 107
BÀI TẬP
Sử dụng phương pháp đo độ hỗn loạn để rút ra quy luật: những
người có đặc điểm nào bị rám nắng hoặc không từ các sự kiện
trong cơ sở dữ liệu được cho ở bảng sau:
7/6/2023 108
BÀI TẬP
Hãy cho biết các quyết định chưa biết (có dấu ?)
7/6/2023 109
BÀI TẬP
Hãy cho biết các quyết định chưa biết (có dấu ?)
7/6/2023 110
BÀI TẬP
Hãy cho biết các quyết định chưa biết (có dấu ?)
7/6/2023 111
BÀI TẬP
7/6/2023 112
BÀI TẬP
7/6/2023 113
BÀI TẬP
7/6/2023 114
BÀI TẬP
7/6/2023 115
BÀI TẬP
7/6/2023 116
BÀI TẬP
7/6/2023 117
BÀI TẬP
7/6/2023 118
BÀI TẬP
7/6/2023 119
BÀI TẬP
7/6/2023 120
BÀI TẬP
7/6/2023 121
XIN TRÂN TRỌNG
CÁM ƠN!
7/6/2023 122