Hình 2.2 – Cây quyết định tạo ra từ thuật toán học cây quyết định trong R
Tải bản đầy đủ - 0trang
37
Cuối cùng ta thu được cây quyết định như hình 2.4:
38
Hình 2.3 – Cây quyết định sử dụng thuật tốn C4.5 trong R
2.2.4. Kết luận
Trong các thuật toán học cây quyết định có một vấn đề thường gặp đó là vấn đề
“quá vừa” dữ liệu, nó có ảnh hưởng nhiều đến độ chính xác của các kỹ thuật học máy.
Vì vậy, ta có 2 giải pháp chính để hạn chế “quá vừa” dữ liệu như sau:
-
Giải pháp dừng việc cây quyết định sớm, trước khi cây đủ phức tạp để phân loại
-
đúng mẫu huấn luyện
Giải pháp xây dựng cây đầy đủ sau đó thực hiện tỉa cây để có cây đơn giản hơn
Trên thực tế thì giải pháp thứ hai được sử dụng thành công hơn. Thủ tục tỉa cây
được thực hiện như sau:
Trước tiên sử dụng tập huấn luyện để xây dựng cây đầy đủ sau đó xem xét để tỉa
dần các nút. Khi tỉa nút, toàn bộ các nhánh bên dưới nút bị bỏ, nút trở thành nút lá với
nhãn phân loại lấy theo đa số nhãn của các ví dụ tại nút đó. Nút sẽ được tỉa nếu độ
chính xác sau khi tỉa khơng giảm so với trước khi tỉa, độ chính xác được tính trên tập
kiểm tra. Quá trình tỉa được lặp lại, tại mỗi bước chọn nút để tỉa là nút cho phép tăng
độ chính xác phân loại nhiều nhất. Thủ tục tỉa nút dừng lại khi việc bỏ đi bất cứ nút
nào cũng làm giảm độ chính xác.
39
Nói tóm lại, thuật tốn học cây quyết định là phương pháp khá phổ biến, được
bình chọn là phương pháp sử dụng nhiều nhất và thành công nhất trong nhiều năm
qua. Phương pháp này có một số ưu điểm sau:
-
Kết quả sinh ra dễ dịch
Khá đơn giản, nhanh và hiệu quả
Nó giải quyết các vấn đề của phân loại, hồi quy
Làm việc cho dữ liệu số và loại
Có thể xử lí cho cả dữ liệu rời rạc và liên tục
Được ứng dụng thành công trong hầu hết các lĩnh vực về phân tích dữ liệu,
phân loại văn bản, thư rác, phân loại gen…
Tuy nhiên phương pháp này vẫn cần cải tiến để tăng độ chính xác, việc xử lí dữ
liệu khơng cân bằng và dữ liệu phức tạp có số chiều lớn.
CHƯƠNG 3
GIẢI THUẬT GOM CỤM VÀ LUẬT KẾT HỢP
40
3.1. Giải thuật gom cụm kMean
3.1.1. Bài toán gom nhóm dữ liệu
Phân cụm là kỹ thuật thuộc lớp các phương pháp học khơng giám sát. Mục đích
của phân cụm dữ liệu là tìm ra bản chất bên trong các nhóm của dữ liệu. Trong thực tế,
dữ liệu thường khơng có nhiều thơng tin sẵn có (được gán nhãn) mà chúng ta cần phải
xây dựng mơ hình gom cụm dữ liệu.
Giả sử cho tập dữ liệu X={x1, x2,…, xm} gồm m phần tử. Mục đích của bài tốn
gom nhóm dữ liệu là gom các phần tử lại với nhau để tạo thành các nhóm sao cho các
phần tử tương tự nhau sẽ nằm chung một nhóm, các phần tử khác nhau sẽ nằm ở các
nhóm khác nhau.
Kỹ thuật phân cụm dữ liệu có thể ứng dụng trong nhiều lĩnh vực thực tế như:
-
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ự đố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); …
3.1.2. Giải thuật gom cụm kMeans
a. Mục đích của thuật tốn
Với tập dữ liệu X và số nhóm k cho trước, giải thuật kMeans tìm cách phân m
phần tử dữ liệu vào k nhóm (mỗi phần tử chỉ thuộc một nhóm) sao cho tổng khoảng
cách của các phần tử đến tâm của nhóm mà nó thuộc về là nhỏ nhất.
b. Trình bày thuật tốn
Các bước chính của giải thuật được thực hiện như sau:
B1. Khởi động ngẫu nhiên k tâm của k nhóm
B2. Mỗi phần tử được gán cho tâm gần nhất với nó dựa vào khoảng cách
B3. Cập nhật lại các tâm của k nhóm, mỗi tâm là giá trị trung bình của các phần tử
trong nhóm của nó
B4. Lặp lại bước B2, B3 cho đến khi khơng còn sự thay đổi nhóm nào của các phần tử
c. Bài toán và lời giải
Giả sử ta có bảng dữ liệu gồm 2 thuộc tính như bảng 3.1
41
Bảng 3.1 – Bảng dữ liệu minh họa thuật toán kMeans
STT
1
2
3
4
5
6
7
8
9
10
A1
5.40
7.90
5.80
6.20
4.40
5.80
6.10
4.30
6.70
6.20
A2
3.40
3.80
2.70
2.90
2.90
4.00
2.80
3.00
3.00
3.40
So sánh K-NN và K-Means?
Áp dụng giải thuật k-Means lên tập dữ liệu này với k=3
Tâm khởi động ngẫu nhiên là:
C1 (6.20, 3.40); C2 (5.80, 2.70)
Lần lặp 1: Gán nhóm cho các phần tử bằng cách tính khoảng cách từ phần tử đến các
tâm và chọn nhóm có tâm gần nhất
i
1
A1
5.4
A2
3.4
Nhóm
gần
nhất
0.64
0.65
1
42
2
3
4
5
6
7
8
9
10
C
1
C
2
0
0
7.9 3.80
0
5.80 2.70
6.20 2.9
0
4.4 2.9
0
0
5.80 4.0
0
6.10 2.80
4.3 3.0
0
0
6.70 3.0
0
6.20 3.4
0
6.4 3.5
0
2
5.3 2.8
6
6
3.05
5.62
1
0.65
0.25
0
0.2
2
2
3.49
2
2
0.52
1.69
1
0.37
3.77
0.1
2.34
2
2
0.41
0.9
1
0
0.65
1
Tính lại tâm cho các nhóm:
Lần lặp 2:
C1 (6.4, 3.52); C2 (5.36, 2.86)
i
A1
1
2
3
4
5
6
7
8
9
10
5.40
7.90
5.80
6.20
4.40
5.80
6.10
4.30
6.70
6.20
A2
Tính lại tâm cho các nhóm:
3.40
3.80
2.70
2.90
2.90
4.00
2.80
3.00
3.00
3.40
Nhóm gần nhất
1.0144
2.3284
1.0324
0.4244
4.3844
0.5904
0.6084
4.6804
0.3604
0.0544
0.2932
7.3916
0.2192
0.7072
0.9232
1.4932
0.5512
1.1432
1.8152
0.9972
2
1
2
1
2
1
2
2
1
1