Download as pdf or txt
Download as pdf or txt
You are on page 1of 118

GIỚI THIỆU

◼ Học là tiếp thu tri thức để biết cách vận dụng.


◼ Quá trì học diễn ra dưới nhiều hình thức khác
nhau như học thuộc lòng (học vẹt), học theo kinh
nghiệm (học dựa theo trường hợp), học theo kiểu
nghe nhìn,...
◼ Máy học sẽ học theo kinh nghiệm nghĩa là hệ
thống sẽ được cung cấp một số các trường hợp
"mẫu", dựa trên tập mẫu này, hệ thống sẽ tiến
hành phân tích và rút ra các quy luật. Sau
đó, hệ thống sẽ dựa trên các luật này để "đánh
giá" các trường hợp khác.
7/6/2023 1
GIỚI THIỆU

Tại sao phải Học máy?


◼ Giải bài toán phân lớp

◼ Xây dựng mô hình dữ liệu

◼ Giúp nâng cao hiệu quả việc học của con


người
◼ Khám phá những điều chưa biết cho con
người
7/6/2023 2
HỌC BẰNG HỒI QUY

◼ Tạo ra từ một tập mẫu (training set) sao cho


dự báo chính xác được các mẫu dữ liệu
tương lai.
◼ Học một hàm chưa biết f(x) = y

❑ x là một mẫu dữ liệu đầu vào


❑ y là giá trị đầu ra mong muốn

❑ Hàm giả thuyết h (hypothesis) được học/huấn


luyện (training) để xấp xỉ hàm f

7/6/2023 3
VECTOR ĐẶC TÍNH

◼ Một mẫu x mô tả một đối tượng xác định


◼ Mẫu x thường được mô tả bằng một vector
đặc tính D-chiều x = (x1, . . . , xD) ∈ RD
◼ Mỗi chiều được gọi là đặc tính/thuộc tính

◼ x là một điểm trong không gian đặc tính D-chiều


◼ Bỏ qua một số khía cạnh khác (vd: nếu hai
người có cùng trọng lượng và chiều cao thì
được coi là giống hệt nhau)
7/6/2023 4
TẬP HUẤN LUYỆN

◼ Tập huấn luyện (training set) là một tập các


mẫu x1,…, xn làm dữ liệu đầu vào cho quá
trình học, trong đó xi = (xi1, . . . , xiD)
◼ Tập huấn luyện là “kinh nghiệm” cho thuật
toán học.
◼ Có hai mô hình học cơ bản:

❑ Học không giám sát: unsupervised learning


❑ Học có giám sát: supervised learning

7/6/2023 6
TẬP HUẤN LUYỆN

◼ Tập huấn luyện (training set) là một tập các


mẫu x1,…, xn làm dữ liệu đầu vào cho quá
trình học, trong đó xi = (xi1, . . . , xiD)
◼ Tập huấn luyện là “kinh nghiệm” cho thuật
toán học.
◼ Có hai mô hình học cơ bản:

❑ Học không giám sát: unsupervised learning


❑ Học có giám sát: supervised learning

7/6/2023 7
HỌC KHÔNG GIÁM SÁT

◼ Cho tập mẫu huấn luyện x1, . . . , xn


◼ Chỉ có dữ liệu vào X mà không biết nhãn Y
tương ứng.
◼ Các bài toán thông dụng:
❑ Clustering: phân loại n mẫu vào các nhóm
❑ Discovery: tìm các mẫu dữ liệu chưa biết
❑ Novelty detection: tìm mẫu dữ liệu khác biệt với

phần còn lại.

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

Khởi tạo mọi phần tử thuộc về cụm chính nó

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.

Object Feature 1 (X) Feature 2 (Y)


Medicine A 1 1
Medicine B 2 1
Medicine C 4 3
Medicine D 5 4

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

◼ Bước 7. Tính lại tâm cho nhóm mới

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

◼ Ta thấy G2 = G1 (Không có sự thay đổi nhóm nào của


các đối tượng) nên thuật toán dừng.
Medicine A, medicine B vào nhóm 1
Medicine C, medicine D vào nhóm 2

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

Mục tiêu: Tìm khu vực dày đặc nhất


7/6/2023 54
CLUSTERING
Mean Shift Clustering – nhận xét

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.

Object Feature 1 (X) Feature 2 (Y)


Medicine A 1 1
Medicine B 2 1
Medicine C 4 3
Medicine D 5 4
Medicine E 3 3
Medicine F 4 4

7/6/2023 56
HỌC CÓ GIÁM SÁT

◼ Mẫu huấn luyện là một bộ sưu tập dữ liệu:


(x1, y1), . . . , (xn, yn)

◼ Giả sử (xi, yi) ∼ P(x, y) và P(x, y) là chưa biết

◼ Supervised learning: học một hàm h: x → y


trong một họ các hàm H, như h(x) dự báo nhãn
true của y trên dữ liệu tương lai x, sao cho
(x, y) ∼ P(x, y)

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

◼ Neural networks (NN)

◼ Support vector machines (SVM)

◼…

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

Neighbor Count (K = 1): 0 1


60

40
Age

Predict
20

0 10 20
Number of Malignant Nodes

7/6/2023 66
k-NN Classification

Neighbor Count (K = 2): 1 1


60

40
Age

Predict
20

0 10 20
Number of Malignant Nodes

7/6/2023 67
k-NN Classification

Neighbor Count (K = 3): 2 1


60

40
Age

Predict
20

0 10 20
Number of Malignant Nodes

7/6/2023 68
k-NN Classification

Neighbor Count (K = 4): 3 1


60

40
Age

Predict
20

0 10 20
Number of Malignant Nodes

7/6/2023 69
k-NN Classification

Neighbor Count (K = 4): 3 1


60

40
Age

Predict
20

0 10 20
Number of Malignant Nodes

7/6/2023 70
k-NN Classification

Ví dụ: Giả sử một nhóm triển khai dịch vụ Quản Lý Ca ở


thị trường Việt Nam hiện tại có hai vị trí là Sale và Tech.
Hai vị trí này được đánh số điểm "Kỹ thuật" và "Kỹ năng
mềm" khác nhau, từ những số điểm tôi sẽ gắn nhãn cho
từng thành viên

7/6/2023 71
k-NN Classification

Ví dụ: Chúng ta sẽ phân loại xem một bộ phim thuộc


thể loại phim hành động hay phim tình cảm. Việc
phân loại phim sẽ được xác định bằng cách đếm số
lượng cú đá hoặc số lượng nụ hôn trong phim. Ở đây,
chúng ta đã một tập huấn luyện(training set):

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

◼ Cây quyết định để phân lớp các mẫu dữ liệu


◼ Là một dạng học có giám sát
◼ Xử lý trên một khối dữ liệu huấn luyện

7/6/2023 76
DỮ LIỆU

Tên Tóc Ch.Cao Cân Nặng Dùng kem Kết quả


Sarah Vàng T.Bình Nhẹ Không Cháy
Dana Vàng Cao T.Bình Có Không
Alex Nâu Thấp T.Bình Có Không
Annie Vàng Thấp T.Bình Không Cháy
Emilie Đỏ T.Bình Nặng Không Cháy
Peter Nâu Cao Nặng Không Không
John Nâu T.Bình Nặng Không Không
Kartie Vàng Thấp Nhẹ Có Không

7/6/2023 77
XÂY DỰNG CÂY QUYẾT ĐỊNH

• Chọn một thuộc tính và


phân chia dữ liệu qua các
nút con trên cây

7/6/2023 78
XÂY DỰNG CÂY QUYẾT ĐỊNH

• Chọn một thuộc tính và


phân chia dữ liệu qua các
nút con trên cây

• Phân chia các thuộc tính


tiếp theo

7/6/2023 79
XÂY DỰNG CÂY QUYẾT ĐỊNH

• Chọn một thuộc tính và


phân chia dữ liệu qua các
nút con trên cây

• Phân chia các thuộc tính


tiếp theo

7/6/2023 80
XÂY DỰNG CÂY QUYẾT ĐỊNH

Cho đến khi:

•Các nút lá tương ứng một


phân lớp

•Đạt được độ sâu cực đại

•Đạt được một hiệu suất

7/6/2023 81
CÂY ĐỊNH DANH

Tên Tóc Ch.Cao Cân Nặng Dùng kem Kết quả


Sarah Vàng T.Bình Nhẹ Không Cháy
Dana Vàng Cao T.Bình Có Không
Alex Nâu Thấp T.Bình Có Không
Annie Vàng Thấp T.Bình Không Cháy
Emilie Đỏ T.Bình Nặng Không Cháy
Peter Nâu Cao Nặng Không Không
John Nâu T.Bình Nặng Không Không
Kartie Vàng Thấp Nhẹ Có Không

7/6/2023 82
CÂY ĐỊNH DANH

•Thuộc tính mục tiêu: là thuộc tính quan tâm


(tính chất cháy nắng hay không cháy nắng) .
R = {"cháy nắng", "bình thường"}.
•Thuộc tính dẫn xuất: chiều cao (cao, trung
bình, thấp), màu tóc (vàng, nâu, đỏ), cân
nặng (nhẹ, TB, nặng), dùng kem (có, không)

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

•Quinlan quyết định thuộc tính phân hoạch bằng cách


xây dựng các vector đặc trưng cho mỗi giá trị của
từng thuộc tính dẫn xuất và thuộc tính mục tiêu.
•Cách tính vectơ đặc trưng:
Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để
phân hoạch, tính :
VA(j) = ( T(j , r1), T(j , r2) , …, T(j , rn) )
Trong đó:
T(j, ri) = (số phần tử trong phân hoạch có giá trị là j trong thuộc tính dẫn xuất
và có giá trị thuộc tính mục tiêu là ri ) / ( tổng số phần tử trong phân hoạch có
giá trị thuộc tính dẫn xuất A là j )

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

◼ Vector đơn vị là vector có duy nhất một thành


phần có giá trị 1 và những thành phần khác có
giá trị 0.
◼ Thuộc tính được chọn để phân hoạch là thuộc
tính có nhiều vector đơn vị nhất.

7/6/2023 87
THUẬT TOÁN QUINLAN
Áp dụng thuật toán Quinlan cho bảng dữ liệu sau:

Tên Tóc Ch.Cao Cân Nặng Dùng kem? Kết quả


Sarah Vàng T.Bình Nhẹ Không Cháy
Dana Vàng Cao T.Bình Có Không
Alex Nâu Thấp T.Bình Có Không
Annie Vàng Thấp T.Bình Không Cháy
Emilie Đỏ T.Bình Nặng Không Cháy
Peter Nâu Cao Nặng Không Không
John Nâu T.Bình Nặng Không Không
Kartie Vàng Thấp Nhẹ Có Không

7/6/2023 88
THUẬT TOÁN QUINLAN

Tổng số quan sát cháy nắng có tóc vàng


Cháy nắng =
Tổng số quan sát có tóc vàng

Tổng số quan sát không cháy nắng có tóc vàng


Không cháy nắng =
Tổng số quan sát có tóc vàng

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ị)

Tổng số vector đơn vị của thuộc tính tóc là 2

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)

VC.Nặng (Nhẹ) = (1/2,1/2)


VC.Nặng (T.B) = (1/3,2/3)
VC.Nặng (Nặng) = (1/3,2/3)

VKem (Có) = (3/3,0/3) = (1,0)


VKem (Không) = (3/5,2/5)
Như vậy thuộc tính màu tóc có số vector đơn vị nhiều nhất
nên sẽ được chọn để phân hoạch.
7/6/2023 91
THUẬT TOÁN QUINLAN

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à :

Tên Ch.Cao Cân Nặng Dùng kem? Kết quả

Sarah T.Bình Nhẹ Không Cháy


Dana Cao T.Bình Có Không
Annie Thấp T.Bình Không Cháy
Kartie Thấp Nhẹ Có Không

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)

VC.Nặng (Nhẹ) = (1/2,1/2)


VC.Nặng (T.B) = (1/2,1/2)
VC.Nặng (Nặng) = (0,0)

VKem (Có) = (0/2,2/2) = (0,1)


VKem (Không) = (2/2,0/2) = (1,0)

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

Sử dụng thuật toán Quinlan để 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 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

Example Color Shape Size Class

1 Red Square Big +


2 Blue Square Big +
3 Red Circle Big +
4 Red Circle Small −
5 Green Square Small −
6 Green Square Big −

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

STT Kích cỡ Màu sắc Hình dáng Quyết định

1 Trung bình Đỏ Cầu Mua


2 Lớn Vàng Hộp Mua
3 Trung bình Xanh Trụ Không mua
4 Nhỏ Xanh Cầu Mua
5 Trung bình Xanh Nón Không mua
6 Nhỏ Xanh Nón Không mua
7 Trung bình Đỏ Trụ Mua

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

Độ hỗn loạn TB kích cỡ:


2 1 1 1 1 4 2 2 2 2 1 1 1  2 4 6
=  −  log 2 −  log 2  +  −  log 2 −  log 2  +  −  log 2 − 0 = + =
7 2 2 2 2 7 4 4 4 4 7 1 1  7 7 7

Độ hỗn loạn TB màu sắc:


4 1 1 3 3
= 0 + 0 +  −  log 2 −  log 2   0.46
7 4 4 4 4
Độ hỗn loạn TB hình dáng:
2 1 1 1 1 2
= 0 + 0 +  −  log 2 −  log 2  + 0 =
7 2 2 2 2 7

7/6/2023 104
PHƯƠNG PHÁP ENTROPY

Chọn thuộc tính hình dáng vì có độ hỗn loạn trung


bình nhỏ nhất:

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:

STT Kích cỡ Màu sắc Quyết định


3 Trung bình Xanh Không mua
7 Trung bình Đỏ Mua

Kích cỡ
Màu sắc
Trung Xanh Đỏ
bình
3 3 √7
√7

Độ hỗn loạn trung bình kích cỡ:=1


Độ hỗn loạn trung bình màu sắc:=0

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

Mua Không mua

Cây quyết định: Hình dáng

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:

So sánh kết quả với phương pháp Quinlan?

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

You might also like