Giáo sư Tom Mitchell [7] đã đưa ra định nghĩa của KPDL như sau: “KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.” Với một cá
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
PHAN TRỌNG HẢI
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
ĐỂ XÂY DỰNG HỆ THỐNG TRỢ GIÚP ĐÁNH GIÁ
RỦI RO TRONG BẢO HIỂM XE CƠ GIỚI
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Đà Nẵng - Năm 2016
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG
PHAN TRỌNG HẢI
ỨNG DỤNG KHAI PHÁ DỮ LIỆU
ĐỂ XÂY DỰNG HỆ THỐNG TRỢ GIÚP ĐÁNH GIÁ
RỦI RO TRONG BẢO HIỂM XE CƠ GIỚI
Chuyên ngành: Hệ thống thông tin
Mã số: 60.48.01.04
LUẬN VĂN THẠC SĨ HỆ THỐNG THÔNG TIN
Người hướng dẫn khoa học: TS Nguyễn Trần Quốc Vinh
Đà Nẵng - Năm 2016
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan:
-Những nội dung trong luận văn này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của TS Nguyễn Trần Quốc Vinh
-Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và
trung thực về tên tác giả, tên công trình, thời gian và địa điểm công bố
-Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi
xin chịu hoàn toàn trách nhiệm
Tác giả luận văn
Phan Trọng Hải
Trang 4MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 3
5 Dự kiến kết quả 3
6 Ý nghĩa khoa học và thực tiễn của luận văn 4
7 Bố cục luận văn 4
CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN 6
1.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 6
1.1.1 Sơ lược về khai phá dữ liệu 6
1.1.2 Các kỹ thuật áp dụng trong khai phá dữ liệu 8
1.1.3 Các bước xây dựng hệ thống khai phá dữ liệu 8
1.1.4 Ứng dụng của khai phá dữ liệu 10
1.1.5 Khó khăn trong khai phá dữ liệu 10
1.2 PHÂN LỚP TRONG KHAI PHÁ DỮ LIỆU 11
1.2.1 Phân lớp dữ liệu 11
1.2.2 Quá trình phân lớp dữ liệu 11
1.2.3 Các vấn đề liên quan đến phân lớp dữ liệu 13
1.3 GIỚI THIỆU CÂY QUYẾT ĐỊNH 16
1.3.1 Giới thiệu chung 16
1.3.2 Ưu điểm của cây quyết định 17
1.3.3 Các luật được rút ra từ cây quyết định 17
1.4 THUẬT TOÁN C4.5 18
1.4.1 Giới thiệu 18
Trang 51.4.2 Giải thuật C4.5 xây dựng cây quyết định từ trên xuống 19
1.4.3 Chọn thuộc tính phân loại tốt nhất 21
1.4.4 Entropy đo tính thuần nhất của tập ví dụ 22
1.4.5 Tỷ suất lợi ích Gain Ratio 25
1.4.6 Chuyển cây về dạng luật 26
1.5 RANDOM FOREST 27
1.5.1 Cơ sở và định nghĩa 27
1.5.2 Tóm tắt giải thuật 28
1.5.3 Mô hình phân lớp với Random Forest 29
1.5.4 Xây dựng cây ng u nhiên 30
1.5.5 Tạo cây ng u nhiên 30
1.5.6 Đặc điểm của Random Forest 31
KẾT LUẬN CHƯƠNG 1 31
CHƯƠNG 2 ỨNG DỤNG CÂY QUYẾT ĐỊNH TRONG CÔNG TÁC ĐÁNH GIÁ RỦI RO VÀ BỒI THƯỜNG BẢO HIỂM XE CƠ GIỚI 32 2.1 KHÁI QUÁT VỀ THỊ TRƯỜNG BẢO HIỂM XE CƠ GIỚI 32
2.2 ĐÁNH GIÁ RỦI RO XE CƠ GIỚI 33
2.2.1 Khái niệm rủi ro 33
2.2.2 Khái niệm về đánh giá rủi ro 34
2.2.3 Phạm vi bảo hiểm 34
2.2.4 Quy trình đánh giá rủi ro trong bảo hiểm xe cơ giới 35
2.2.5 Các yếu tố ảnh hưởng đến rủi ro trong bảo hiểm xe cơ giới 35
2.3 PHÂN TÍCH HIỆN TRẠNG 36
2.3.1 Chỉ số trong lĩnh vực kinh doanh bảo hiểm xe cơ giới 36
2.3.2 Giải pháp xây dựng hệ thống trợ giúp đánh giá rủi ro trong bảo hiểm xe cơ giới 37
Trang 62.4 SO SÁNH KẾT QUẢ PHÂN LỚP GIỮA 2 THUẬT TOÁN C4.5 VÀ
RANDOM FOREST 38
2.5 ỨNG DỤNG CÂY QUYẾT ĐỊNH 40
2.5.1 Phân tích dữ liệu 40
2.5.2 Xây dựng mô hình phân lớp với Random Forest 42
2.5.3 Mô hình tổng quát 45
2.5.4 Ước tính độ chính xác của mô hình 50
KẾT LUẬN CHƯƠNG 2 52
CHƯƠNG 3 XÂY DỰNG VÀ THỬ NGHIỆM ỨNG DỤNG 53
3.1 CHỨC NĂNG HỆ THỐNG 53
3.1.1 Các chức năng chính 53
3.1.2 Phân tích yêu cầu 54
3.2 THỬ NGHIỆM ỨNG DỤNG 59
3.3 ĐÁNH GIÁ ĐỘ CHÍNH XÁC 63
3.3.1 Mô hình cây quyết định b ng thuật toán C4.5 63
3.3.2 Mô hình Random Forest 65
3.3.3 So sánh độ chính xác giữa mô hình C4.5 và Random Forest 68
KẾT LUẬN CHƯƠNG 3 69
KẾT LUẬN 69
DANH MỤC TÀI LIỆU THAM KHẢO 70 QUYẾT ĐỊNH GIAO ĐỀ TÀI (bản sao)
Trang 82.3 Sử dụng phần mềm Weka so sánh độ chính xác giữa thuật
2.8 Entropy(S) phân theo thời gian sử dụng (TGSD) = 6,5 năm 47
Trang 92.1 Thông số của thuật toán xây dựng cây quyết định b ng
C4.5
38
Trang 10Số
hiệu
3.17 Độ chính xác của mô hình cây quyết định b ng C4.5- fold 1 64
Trang 11MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây, việc ứng dụng cộng nghệ thông tin ngày càng rộng khắp Vấn đề khai phá dữ liệu đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực khác nhau như: Bảo hiểm, tài chính, y học, giáo dục và viễn thông v.v
Mặt khác, cùng với sự phát triển mạnh mẽ của nền kinh tế và đời sống xã hội, nhu cầu vận chuyển và tham gia giao thông b ng xe cơ giới ở nước ta không ngừng tăng cao, mà còn đa dạng và phong phú về chủng loại
Theo thống kê, dân số tại Quảng Ngãi hiện có 1.200.000 người, tập trung
ở 12 huyện và thành phố Trong đó có khoản 593.243 phương tiện cơ giới tham gia giao thông và có 20.114 ô tô, 573.129 môtô, xe máy Theo số liệu của Ủy ban An toàn giao thông tỉnh Quảng Ngãi, trong năm 2015 có khoản
792 vụ tại nạng giao thông, làm hỏng 1.467 phương tiện ô tô xe máy các loại,
đa số tập trung ở các vùng đồng b ng
Trong khi đó, hệ thống hạ tầng giao thông chưa thể đáp ứng tốt nhu cầu lưu thông của một lượng xe cơ giới lớn như hiện nay Những người tham gia giao thông đều hiểu r ng, tai nạn có thể xảy ra bất kỳ lúc nào, cho bất kỳ ai với những hậu quả khôn lường Vì vậy, bảo hiểm xe cơ giới đã ra đời và trở thành một nhu cầu thiết yếu với những người tham gia điều khiển phương tiện giao thông Điều này đã mở ra những cơ hội lớn cho các công ty bảo hiểm xe
cơ giới Những công ty nào có dịch vụ tốt, sẽ chiếm lĩnh được tỉ lệ khách hàng nhiều hơn
Trong lĩnh vực kinh doanh này, công tác đánh giá rủi ro xe cơ giới rất quan trọng và hết sức phức tạp Quy trình tác nghiệp đòi hỏi người thẩm định vừa phải có trình độ chuyên môn nghiệp vụ cao, vừa phải có nhiều kinh
Trang 12nghiệm thực tiễn Hầu hết các công ty đều chỉ chú trọng đến vấn đề doanh thu
mà ít quan tâm đến công tác đánh giá rủi ro, đa phần đều thủ công sơ sài và cảm tính Vì vậy, hiệu quả kinh doanh thường không như mong muốn
Mặt khác, vấn đề giải quyết bồi thường khi có tổn thất xảy ra cần
“Nhanh, Đúng, Đủ” sẽ mang lại cho khách hàng niềm tin, cũng như sự sẻ chia những rủi ro mà họ gặp phải Vấn đề bồi thường sau tai nạn mang tính nhạy cảm rất cao và tác động không nhỏ đến tính hiệu quả của hoạt động kinh doanh bảo hiểm
Nắm bắt được vấn đề trên cũng như tính cấp thiết của hoạt động đánh giá rủi ro và bồi thường tổn thất trong bảo hiểm xe cơ giới, tôi thấy cần phải xây dựng và triển khai hệ thống ứng dụng công nghệ thông tin nh m đáp ứng nhu cầu phân tích, xử lý và hỗ trợ đến mức tối đa cho công tác đánh giá và bồi thường rủi ro trong bảo hiểm xe cơ giới
Xuất phát từ những lý do trên được sự đồng ý của TS Nguyễn Trần
Quốc Vinh, tôi chọn đề tài: “Ứng Dụng Khai Phá Dữ Liệu Để Xây Dựng Hệ
Thống Trợ Giúp Đánh Giá Rủi Ro Trong Bảo Hiểm Xe Cơ Giới” để làm luận
văn thạc sĩ
2 Mục tiêu nghiên cứu
Nghiên cứu các thuật toán liên quan đến cây quyết định Phân tích, so sánh, đánh giá và triển khai áp dụng thuật toán C4.5 và Random Forest
Trên cơ sở phân tích thực trạng và đề ra giải pháp ứng dụng công nghệ thông tin Hướng đến là xây dựng hệ thống trợ giúp đánh giá rủi ro xe cơ giới, đảm bảo đầy đủ các yêu cầu về mặt chuyên môn trong lĩnh vực bảo hiểm xe
cơ giới
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Quy trình đánh giá rủi ro xe cơ giới
Trang 13- Các vấn đề liên quan đến độ rủi ro trong bảo hiểm xe cơ giới
- Hồ sơ khách hàng tham gia mua bảo hiểm xe cơ giới tại Công ty Cổ phần bảo hiểm AAA tại Quảng Ngãi
- Nghiên cứu về phân lớp dữ liệu trong khai phá dữ liệu
3.2 Phạm vi nghiên cứu
- Kỹ thuật khai phá dữ liệu cây quyết định C4.5 và Random Forest
- Số liệu kinh doanh của Công ty Cổ phần Bảo hiểm AAA tại Quảng Ngãi trong khoảng thời gian 2012, 2013, 2014
4 Phương pháp nghiên cứu
4.1 Nghiên cứu lý thuyết
- Nghiên cứu tài liệu, ngôn ngữ và các công nghệ có liên quan
- Khai phá dữ liệu và phân lớp dữ liệu
- Giải thuật xây dựng cây quyết định
- Nghiên cứu về Thuật toán C4.5 và Random Forest trong việc dự đoán
và phân loại thông tin
4.2 Nghiên cứu thực nghiệm
- Tiến hành thu thập và tổng hợp các tài liệu liên quan đến quy trình thẩm định và đánh giá hồ sơ đối với lĩnh vực bảo hiểm xe cơ giới
- Vận dụng các cơ sở lý thuyết để xây dựng ứng dụng, tiến hành kiểm thử so sánh đánh giá hiệu suất của ứng dụng
5 Dự kiến kết quả
5.1 Kết quả về lý thuyết
Hiểu thêm được phương pháp khai phá dữ liệu
- Ứng dụng phương pháp khai phá dữ liệu vào dự đoán tính rủi ro trong khai thác bảo hiểm hiện tại nh m nâng cao hiệu quả kinh doanh trong đơn vị
Trang 146 Ý nghĩa khoa học và thực tiễn của luận văn
Áp dụng lý thuyết về khai phá dữ liệu vào bài toán đánh giá rủi ro trong khai thác bảo hiểm cho xe cơ giới
Về mặt thực tiễn, ứng dụng có khả năng phân tích dữ liệu kinh doanh của công ty trong những năm gần đây và qua đó có khả năng phát hiện ra các trường hợp bảo hiểm xe cơ giới có mức độ rủi ro cao
Giúp cho việc dự đoán nh m hỗ trợ ra quyết định một cách khoa học, tránh được các tình huống bồi thường theo cảm tính, hạn chế các trường hợp rủi ro và tăng hiệu quả kinh doanh của công ty
7 Bố cục luận văn
Chương 1: Nghiên cứu tổng quan
Chương này, tôi trình bày các cơ sở lý thuyết làm nền tảng để xây dựng ứng dụng, bao gồm: Tổng quan về khai phá dữ liệu, các kỹ thuật khai phá dữ liệu Giới thiệu về cây quyết định trong phân lớp dữ liệu Giải thuật C4.5 và Random Forest
Chương 2: Ứng dụng cây quyết định trong công tác đánh giá rủi ro và bồi thường bảo hiểm xe cơ giới
Trong chương này, tôi sẽ tìm hiểu và phân tích hiện trạng tại đơn vị, nêu lên những vấn đề hạn chế và đề xuất giải pháp khắc phục So sánh và đánh giá phân lớp giữa 2 thuật toán C4.5 và Random Forest Ứng dụng để xây dựng
mô hình phân lớp dữ liệu để giải quyết bài toán đặt ra
Chương 3: Xây dựng và thử nghiệm ứng dụng
Trang 15Chương cuối, tôi tập trung trình bày chi tiết về mô hình kiến trúc tổng thể của hệ thống và xây dựng ứng dụng Tiến hành thử nghiệm trên số liệu thực tế, sau đó đánh giá kết quả đạt được và khả năng triển khai ứng dụng trên toàn hệ thống
Cuối cùng là những đánh giá, kết luận và hướng phát triển của đề tài
Trang 16CHƯƠNG 1 NGHIÊN CỨU TỔNG QUAN
1.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1.1 Sơ lược về khai phá dữ liệu
Khai phá dữ liệu là một lĩnh vực khoa học mới, ra đời vào những năm
cuối thập kỷ 80 của thế kỷ XX, nh m khai thác những thông tin, tri thức hữu
ích, tiềm ẩn trong các cơ sở dữ liệu (CSDL) của các tổ chức, doanh nghiệp
từ đó thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh của tổ chức, doanh
nghiệp
Trong thời đại ngày nay, cùng với sự phát triển vượt bật của công nghệ
thông tin, các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về
hoạt động hàng ngày của chúng Từ khối dữ liệu này, các kỹ thuật trong khai
phá dữ liệu (KPDL) và máy học (MH) có thể dùng để trích xuất những thông
tin hữu ích mà chúng ta chưa biết Các tri thức vừa học được có thể vận dụng
để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu
Giáo sư Tom Mitchell [7] đã đưa ra định nghĩa của KPDL như sau:
“KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện
những quyết định trong tương lai.” Với một cách tiếp cận ứng dụng hơn, Tiến
sĩ Fayyad đã phát biểu: “KPDL, thường được xem là việc khám phá tri thức
trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước
đây chưa biết và có khả năng hữu ích, dưới dạng các qui luật, ràng buộc, qui
tắc trong cơ sở dữ liệu.” Nói tóm lại, KPDL là một quá trình học tri thức mới
từ những dữ liệu đã thu thập được
Như vậy ta có thể khái quát hóa khái niệm KPDL là “quá trình khảo sát
và phân tích một lượng lớn các dữ liệu được lưu trữ trong các CSDL, kho dữ liệu…
để từ đó trích xuất ra các thông tin quan trọng, có giá trị tiềm ẩn bên trong”
Trang 17Khám phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databaes –KDD) là mục tiêu chính của KPDL, do vậy hai khái niệm khai phá
dữ liệu và KDD được các nhà khoa học xem là tương đương nhau Thế nhưng, nếu phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình KDD
Quá trình khá phá tri thức có thể chia thành các bước như sau:
Hình 1.1 Quá trình khám phá tri thức
Quá trình KPDL có thể phân thành các giai đoạn sau:
Tích hợp dữ liệu: Là bước tuyển chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định
Tiền xử lý dữ liệu: Là bước làm sạch dữ liệu (xử lý dữ liệu không đầy
đủ, không nhất quán ), tổng hợp dữ liệu (nén, nhóm dữ liệu, tính tổng, xây dựng các histograms, lấy m u ), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, entropy ) Sau bước tiền sử lý này, dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và rời rạc hóa
Trang 18 Biến đổi dữ liệu: Là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nh m phục vụ việc áp dụng các kỹ thuật khai phá
ở bước sau
Khai phá dữ liệu: Là bước áp dụng những kỹ thuật phân tích (phần nhiều là các kỹ thuật học máy) nh m khai thác dữ liệu, trích lọc những m u tin, những mối quan hệ đặc biệt trong dữ liệu Đây được xem là bước quan trọng và tiêu tốn thời gian nhất của toàn bộ quá trìnhKDD
Đánh giá và biểu diễn tri thức: Những m u thông tin và mối quan hệ trong dữ liệu đã được phát hiện ở bước khai phá dữ liệu được chuyển sang và biểu diễn ở dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu và luật Đồng thời bước này cũng đánh giá những tri thức khai phá được theo những tiêu chí nhất định
1.1.2 Các kỹ thuật áp dụng trong khai phá dữ liệu
Học có giám sát: Là quá trình gán nhãn lớp cho các phần tử trong CSDL
dựa trên một tập các ví dụ huấn luyện và các thông tin về nhãn lớp đã biết
Học không có giám sát: Là quá trình phân chia một tập dữ liệu thành các
lớp hay cụm dữ liệu tương tự nhau mà chưa biết trước các thông tin về lớp
hay tập các ví dụ huấn luyện
Học nửa giám sát: Là quá trình phân chia một tập dữ liệu thành các lớp
dựa trên một tập nhỏ các ví dụ huấn luyện và các thông tin về một số nhãn lớp
đã biết trước
1.1.3 Các bước xây dựng hệ thống khai phá dữ liệu
Bước 1: Xác định mục tiêu bài toán
Bước đầu tiên trong quá trình khai phá dữ liệu đó là phải xác định rõ mục tiêu, nhiệm vụ của bài toán
Bước 2: Thu thập dữ liệu
Sau khi xác định được mục tiêu, nhiệm vụ của bài toán, ta tiến hành thu
Trang 19thập các dữ liệu liên quan tiếp đến ta có thể tiến hành chọn lọc các m u tiêu biểu để giảm độ lớn của tập luyện
Bước 3: Làm sạch dữ liệu và chuyển đổi dữ liệu
Đây là một bước rất quan trọng trong dự án khai phá dữ liệu Mục đích của làm sạch dữ liệu là loại bỏ những dữ liệu thừa, không nhất quán, có chứa nhiễu Quá trình làm sạch dữ liệu sẽ cố gắng thêm giá trị vào những giá trị bị thiếu, làm mịn các điểm nhiễu và sửa lại các dữ liệu không nhất quán
Bước 4: Xây dựng mô hình
Đối với mỗi bài toán trong khai phá dữ liệu đều có nhiều mô hình để giải quyết Để lựa chọn chính xác mô hình nào tốt hơn là khó khăn, chúng ta nên thử giải quyết bài toán b ng nhiều mô hình khác nhau rồi tiến hành so sánh lựa chọn, để tìm ra mô hình tối ưu nhất, thích hợp nhất với bài toán của ta Bước 5: Đánh giá mô hình, đánh giá m u
Sau khi áp dụng một số các mô hình chúng ta sẽ đánh giá lựa chọn xem
mô hình nào tốt hơn
Tích hợp khai phá dữ liệu và ứng dụng là bước cuối cùng trong khai phá
dữ liệu Mục tiêu là đưa tri thức tìm kiếm được vào ứng dụng
Bước 9: Quản lý mô hình
Mỗi một mô hình khai phá dữ liệu đều có một vòng đời phát triển Tuy vậy trong một số trường hợp các m u là thay đổi thường xuyên, trong những
Trang 20trường hợp đó thì mô hình phải được tạo mới liên tục và việc tạo ra mô hình mới là phải tự động
1.1.4 Ứng dụng của khai phá dữ liệu
KPDL được vận dụng trong nhiều lĩnh vực khác nhau nh m khai thác nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin như:
- Kinh doanh thương mại:
+ Xác định thói quen mua hàng của khách hàng
+ Dự đoán chu kỳ kinh doanh sản phẩm
- Ngân hàng:
+ Dự đoán các dấu hiệu của một giao dịch trái luật
+ Dự đoán rủi ro của các khoản cho vay
- Y tế:
+ Chuẩn đoán bệnh qua các triệu chứng
+ Liên hệ giữa các loại bệnh
- Bảo hiểm:
+ Loại khách hàng có rủi ro cao? Gian lận?
+ Liệu khách hàng có thực hiện hết hợp đồng bảo hiểm?
+ Đối tượng, vùng nào có khả năng tham gia bảo hiểm?
1.1.5 Khó khăn trong khai phá dữ liệu
- Kích thước của cơ sở dữ liệu lớn: Nếu cơ sở dữ liệu nhỏ, kết quả truy
xuất sẽ không đáng tin cậy Tuy nhiên, lượng dữ liệu lớn (hàng terabyte) đồng nghĩa với không gian tìm kiếm rộng, do dó đòi hỏi phải có các chiến lược tìm kiếm hiệu quả với độ phức tạp thấp để giảm thời gian thực hiện thuật toán
- Dữ liệu thiếu và nhiễu: đây là một thách thức lớn trong khai phá dữ
liệu Lượng dữ liệu thiếu và nhiễu có thể d n đến các kết quả dự báo không chính xác
Trang 211.2 PHÂN LỚP TRONG KHAI PHÁ DỮ LIỆU
1.2.2 Quá trình phân lớp dữ liệu
Quá trình phân lớp dữ liệu gồm hai bước [1]:
Bước thứ nhất: Quá trình học nh m xây dựng một mô hình mô tả một
tập các lớp dữ liệu hay các khái niệm định trước Đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả b ng các thuộc tính và được tạo ra từ tập các bộ giá trị của các thuộc tính đó Đầu ra của bước này thường là các phân lớp dưới dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron Quá trình này được mô tả như trong hình vẽ:
Hình 1.2 Xây dựng mô hình phân lớp
Trang 22Bước thứ hai: Dùng mô hình đã xây dựng ở bước trước để phân lớp dữ
liệu mới Trước tiên độ chính xác mang tính chất dự đoán của mô hình phân lớp vừa tạo ra được ước lượng Nếu độ chính xác của mô hình được ước lượng dựa trên tập dữ liệu đào tạo thì kết quả thu được là rất khả quan vì mô hình luôn có xu hướng “quá vừa” dữ liệu Quá vừa dữ liệu là hiện tượng kết quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình phân lớp từ tập dữ liệu đào tạo có thể đã kết hợp những đặc điểm riêng biệt của tập dữ liệu đó Do vậy, cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân lớp những dữ liệu tương lai, hoặc những dữ liệu
mà giá trị của thuộc tính phân lớp là chưa biết
Hình 1.3 Ước lượng độ chính xác
Hình 1.4 Phân lớp dữ liệu mới
Bộ phân lớp (Mô hình)
Dữ liệu mới
Jeff Professor 2 Alex Assistant Prof 4 Alice Assistant Prof 8
TENURED
yes no yes
Bộ phân lớp (Mô hình)
Dữ liệu kiểm tra
Trang 23Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới sự thành công của mô hình phân lớp Do vậy chìa khóa của vấn đề phân lớp dữ liệu là tìm ra được một thuật toán phân lớp nhanh, hiệu quả, có
độ chính xác cao và có khả năng mở rộng được Trong đó khả năng mở rộng được của thuật toán được đặc biệt chú trọng và phát triển
1.2.3 Các vấn đề liên quan đến phân lớp dữ liệu
- Làm sạch dữ liệu: Làm sạch dữ liệu liên quan đến việc xử lý với lỗi và
giá trị thiếu trong tập dữ liệu ban đầu Với lỗi là các lỗi ng u nhiên hay các
giá trị không hợp lệ của các biến trong tập dữ liệu Để xử lý với loại lỗi này
có thể dùng kỹ thuật làm trơn Những ô không có giá trị của các thuộc tính Giá trị thiếu có thể do lỗi chủ quan trong quá trình nhập liệu, hoặc trong trường hợp cụ thể giá trị của thuộc tính đó không có, hay không quan trọng
Kỹ thuật xử lý ở đây có thể b ng cách thay giá trị thiếu b ng giá trị phổ biến nhất của thuộc tính đó hoặc b ng giá trị có thể xảy ra nhất dựa trên thống kê Mặc dù phần lớn thuật toán phân lớp đều có cơ chế xử lý với những giá trị thiếu và lỗi trong tập dữ liệu, nhưng bước tiền xử lý này có thể làm giảm sự hỗn độn trong quá trình học (xây dựng mô hình phân lớp)
- Chuyển đổi dữ liệu: Việc khái quát hóa dữ liệu lên mức khái niệm cao
hơn đôi khi là cần thiết trong quá trình tiền xử lý Việc này đặc biệt hữu ích với
những thuộc tính liên tục Ví dụ các giá trị số của thuộc tính thu nhập của khách hàng có thể được khái quát hóa thành các dãy giá trị rời rạc: thấp, trung bình,
cao Tương tự với những thuộc tính rời rạc như địa chỉ phố có thể được khái
quát hóa lên thành thành phố Việc khái quát hóa làm cô đọng dữ liệu học
nguyên thủy, vì vậy các thao tác vào ra liên quan đến quá trình học sẽ giảm
- Phương pháp Holdout: Dữ liệu dưa ra được phân chia ng u nhiên thành
Trang 242 phần Tập dữ liệu đào tạo và tập dữ liệu kiểm tra Thông thường 2/3 dữ liệu cấp cho tập dữ liệu đào tạo, phần còn lại cho tập dữ liệu kiểm tra
Hình 1.5 Ước lượng độ chính xác của mô hình
- Phương pháp K-Fold Cross Validation: Tập dữ liệu ban đầu được chia
ng u nhiên thành k tập con (fold) có kích thước xấp xỉ nhau S1, S2, …, Sk Quá trình học và test được thực hiện k lần Tại lần lặp thứ i, Si là tập dữ liệu
kiểm tra, các tập còn lại hợp thành tập dữ liệu đào tạo Có nghĩa là, đâu tiên
việc dạy được thực hiện trên các tập S2, S3 …, Sk, sau đó test trên tập S1; tiếp tục quá trình dạy được thực hiện trên tập S1, S3, S4,…, Sk, sau đó test trên tập
S2; và cứ thế tiếp tục Độ chính xác là toàn bộ số phân lớp đúng từ k lần lặp
chia cho tổng số m u của tập dữ liệu ban đầu
Mô hình phân lớp
Ước tính chính xác
Dữ liệu
Dữ liệu huấn luyện
Dữ liệu kiểm tra
Trang 25Ví dụ: k-fold croos validation với k=3:
Dữ liệu đào tạo 1
Dữ liệu kiểm tra 1
Dữ liệu đào tạo 2
Dữ liệu kiểm tra 2
Mô hình phân lớp
Ƣớc tính chính xác 2
Trang 26Fold 3:
Hình 1.8 Ví dụ K-fold croos validation-fold 3
Ước tính độ chính xác = (Ước tính chính xác 1+ Ước tính chính xác 2+ Ước tính chính xác 3) / 3
1.3 GIỚI THIỆU CÂY QUYẾT ĐỊNH
1.3.1 Giới thiệu chung
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo
(predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật, hiện
tượng tới các kết luận về giá trị mục tiêu của sự vật, hiện tượng Mỗi nút
trong (internal node) tương ứng với một biến; đường nối giữa nó với nút con
của nó thể hiện giá trị cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị dự đoán của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹ thuật học máy dùng trong cây quyết định được gọi là học b ng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định [1]
Dữ liệu
Phần 1
Phần 2
Phần 3
Dữ liệu đào tạo 3
Dữ liệu kiểm tra 3
chính xác 3
Trang 27Ví dụ: Cây quyết định phân lớp mức lương
Hình 1.9 Cây quyết định phân lớp mức lương
Ta thấy:
- Gốc (Age): Nút trên cùng của cây
- Nút trong (Salary): Biểu diễn một kiểm tra trên một thuộc tính đơn
- Nhánh (mũi tên): Biểu diễn các kết quả của kiểm tra trên nút trong
- Nút lá (Bad, Good): Biểu diễn lớp hay sự phân phối lớp
Để phân lớp m u dữ liệu chưa biết giá trị, các thuộc tính của m u được đưa vào kiểm tra trên cây quyết định Mỗi m u tương ứng có một đường đi từ gốc đến lá và lá biểu diễn dự đoán giá trị phân lớp m u đó
1.3.2 Ưu điểm của cây quyết định
- Cây quyết định tương đối dễ hiểu
- Đòi hỏi mức tiền xử lý dữ liệu đơn giản
- Có thể xử lý với cả các dữ liệu rời rạc và liên tục
- Kết quả dự đoán b ng cây quyết định có thể thẩm định lại b ng cách kiểm tra thống kê
1.3.3 Các luật được rút ra từ cây quyết định
Luật được rút ra từ cây quyết định là các tri thức được phát biểu dưới dạng IF-THEN Mỗi luật có thể được xác định thông qua mỗi nhánh của cây quyết định Mệnh đề IF bao gồm giá trị của các thuộc tính tương ứng với các
Trang 28nút trong, mệnh đề THEN là giá trị của thuộc tính phân lớp, tương ứng với các nút lá trong cây quyết định
Các bước biến đổi cây quyết định thành luật:
- Biểu diễn tri thức dưới dạng luật IF-THEN
- Mỗi luật tạo ra từ mỗi đường d n từ gốc đến lá
- Mỗi cặp giá trị thuộc tính dọc theo đường d n tạo nên phép kết (phép AND – và)
- Các nút lá mang tên của lớp
Từ cây quyết định như hình 1.10, ta có thể rút ra được các luật sau:
IF (Age <= 35) AND (Salary<=40) THEN class = Bad
IF (Age<=35) AND (Salary>40) THEN class = Good
IF (Age>35) AND (Salary <=50) THEN class = Bad
IF (Age > 35) AND(Salary>50) THEN class = Good
1.4 THUẬT TOÁN C4.5
1.4.1 Giới thiệu
Vào đầu những năm 1980, J Ross Quinlan, một nhà nghiên cứu trong lĩnh vực học máy tính, phát triển thuật toán cây quyết định được biết đến như ID3 Giải thuật C4.5 là một giải thuật học đơn giản nhưng tỏ ra thành công trong nhiều lĩnh vực Vì cách biểu diễn tri thức học được của nó, tiếp cận của nó trong việc quản lý tính phức tạp, kinh nghiệm của nó dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu
Giải thuật C4.5 biểu diễn các khái niệm ở dạng các cây quyết định Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng b ng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó [9][7]
Như vậy, nhiệm vụ của giải thuật C4.5 là học cây quyết định từ một tập các ví dụ huấn luyện hay còn gọi là dữ liệu huấn luyện Hay nói khác hơn, giải thuật có:
Trang 29-Đầu vào: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô
tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của nó -Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu huấn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai
Chúng ta hãy xét bài toán phân loại “chơi tennis” ứng với thời tiết nào đó không Giải thuật C4.5 sẽ học cây quyết định từ tập dữ liệu huấn luyện sau:
Mỗi thuộc tính đều có một tập các giá trị hữu hạn Thuộc tính Quang cảnh có ba giá trị (Âm u, Mưa, Nắng), Nhiệt độ có ba giá trị (Nóng, Mát, Ấm áp), Độ ẩm có hai giá trị (Cao, TB) và Gió có hai giá trị (Mạnh, Nhẹ) và có
một thuộc tính phân loại “Chơi tennis” (Có, Không) và thuộc tính „Chơi
tennis‟ còn được gọi là thuộc tính đích
1.4.2 Giải thuật C4.5 xây dựng cây quyết định từ trên xuống
Giải thuật C4.5 xây dựng cây quyết định theo cách từ trên xuống và chọn một thuộc tính để kiểm tra tại nút hiện tại của cây và dùng trắc nghiệm này để phân vùng tập hợp các ví dụ, thuật toán khi đó xây dựng theo cách đệ quy một cây con cho từng phân vùng Việc này tiếp tục cho đến khi mọi thành viên
Trang 30của phân vùng đều n m trong cùng một lớp, lớp đó trở thành nút lá của cây
Ví dụ, hãy xem xét cách xây dựng cây quyết định của C4.5 trong hình sau từ tập ví dụ huấn luyện trong bảng 1.1
Hình 1.10 Một phần cây quyết định được xây dựng
Thuật toán C4.5 đƣợc thực hiện nhƣ sau:
Function C45_builder (tập ví dụ, tập thuộc tính) begin
if mọi ví dụ trong tập ví dụ đều n m trong cùng một lớp then
return một nút lá đƣợc gán nhãn bởi lớp đó else if tập thuộc tính là rỗng then
return nút lá đƣợc gán nhãn bởi tuyển của tất cả
các lớp trong tập ví dụ
else begin
Chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;
Xóa P ra khỏi tập thuộc tính;
Với mỗi giá trị V của P
begin
Tạo một nhánh của cây gán nhãn V;
Đặt vào phân vùng V các ví dụ trong tập ví dụ có giá trị V tại thuộc tính P;
Gọi C45_builder (phân vùng V, tập thuộc tính),
gắn kết quả vào nhánh V
end end end
Trang 31Lưu ý r ng, để phân loại một ví dụ, có khi cây quyết định không cần sử dụng tất cả các thuộc tính đã cho, mặc dù nó v n phân loại đúng tất cả các ví dụ Các khả năng có thể có của các phân vùng:
Trong quá trình xây dựng cây quyết định, phân vùng của một nhánh mới
có thể có các dạng sau:
Có các ví dụ thuộc các lớp khác nhau, chẳng hạn như có cả ví dụ âm và dương như phân vùng “Quang cảnh = Nắng” của ví dụ trên thì giải thuật phải tiếp tục tách một lần nữa
Tất cả các ví dụ đều thuộc cùng một lớp, chẳng hạn như toàn âm hoặc toàn dương như phân vùng “Quang cảnh = Âm u” của ví dụ trên thì giải thuật trả về nút lá với nhãn là lớp đó
Không còn ví dụ nào, giải thuật trả về mặc nhiên
Không còn thuộc tính nào có nghĩa là dữ liệu bị nhiễu, khi đó giải thuật phải sử dụng một luật nào đó để xử lý, chẳng hạn như luật đa số (lớp nào có nhiều ví dụ hơn sẽ được dùng để gán nhãn cho nút lá trả về)
1.4.3 Chọn thuộc tính phân loại tốt nhất
Quinlan (1983) là người đầu tiên đề xuất việc sử dụng lý thuyết thông tin
để tạo ra các cây quyết định và công trình của ông là cơ sở cho phần trình bày
ở đây Lý thuyết thông tin của Claude Shannon (1948) cung cấp khái niệm entropy để đo tính thuần nhất (hay ngược lại là độ pha trộn) của một tập hợp [8] Một tập hợp là thuần nhất nếu như tất cả các phần tử của tập hợp đều thuộc cùng một loại, và khi đó ta nói tập hợp này có độ pha trộn là thấp nhất Khi tập ví dụ là thuần nhất thì có thể nói: ta biết chắc chắn về giá trị phân loại của một ví dụ thuộc tập này, hay ta có lượng thông tin về tập đó là cao nhất Khi tập ví dụ có độ pha trộn cao nhất, nghĩa là số lượng các ví dụ có cùng giá trị phân loại cho mỗi loại là tương đương nhau, thì khi đó ta không thể đoán chính xác được một ví dụ có thể có giá trị phân loại gì, hay nói khác
Trang 32hơn, lượng thông tin ta có được về tập này là ít nhất Vậy, điều ta mong muốn
ở đây là làm sao chọn thuộc tính để hỏi sao cho có thể chia tập ví dụ ban đầu thành các tập ví dụ thuần nhất càng nhanh càng tốt Vậy trước hết, ta cần có một phép đo để đo độ thuần nhất của một tập hợp, từ đó mới có thể so sánh tập ví dụ nào thì tốt hơn
1.4.4 Entropy đo tính thuần nhất của tập ví dụ
Khái niệm entropy của một tập S được định nghĩa trong lý thuyết thông tin là số lượng mong đợi các bit cần thiết để mã hóa thông tin về lớp của một thành viên rút ra một cách ng u nhiên từ tập S Trong trường hợp tối ưu, mã
có độ dài ngắn nhất Theo lý thuyết thông tin, mã có độ dài tối ưu là mã gán –
log2p bit cho thông điệp có xác suất là p
Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví
dụ thuộc một lớp hay có một giá trị phân loại
Entropy có giá trị n m trong khoảng [0 1]
Entropy(S) = 0: tập ví dụ S chỉ toàn thuộc cùng một loại, hay S là thuần nhất
Entropy(S) = 1: tập ví dụ S có các ví dụ thuộc các loại là b ng nhau
0 < Entropy(S) < 1: tập ví dụ S có số lượng ví dụ thuộc các loại khác nhau là không b ng nhau
Để đơn giản ta xét trường hợp các ví dụ của S chỉ thuộc loại âm (-) hoặc dương (+)
Hình 1.11 Entropy(S)
Trang 33Tập S là tập dữ liệu huấn luyện, trong đó thuộc tính phân loại có hai giá trị, giả sử là âm (-) và dương (+) Trong đó:
p+ là phần các ví dụ dương trong tập S
p_ là phần các ví dụ âm trong tập S
Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:
Entropy(S) = -p+ log2 p+ - p- log2 p
-Một cách tổng quát hơn, nếu các ví dụ của tập S thuộc nhiều hơn hai
loại, giả sử là có c giá trị phân loại thì công thức entropy tổng quát là:
Ví dụ: Từ 14 m u của bảng dữ liệu “Chơi tennis”, ta nhận thấy trong tập
thuộc tính đích S có 9 m u thuộc lớp dương và 5 m u thuộc lớp âm (ký hiệu
là [9+, 5-]) Do đó:
Entropy(S) = - (9/14)log2(9/14) - (5/14)log2(5/14) = 0,940
Entropy là số đo độ pha trộn của một tập ví dụ, bây giờ chúng ta sẽ định nghĩa một phép đo hiệu suất phân loại các ví dụ của một thuộc tính Phép đo này gọi là lượng thông tin thu được (hay độ lợi thông tin), nó đơn giản là lượng giảm entropy mong đợi gây ra bởi việc phân chia các ví dụ theo thuộc tính này
Một cách chính xác hơn, Gain(S, A) của thuộc tính A, trên tập S, được định nghĩa như sau:
Giá trị Value (A) là tập các giá trị có thể cho thuộc tính A, và Sv là tập con của S mà A nhận giá trị v
i 2 c
1 i
ilog p p
S
Entropy(S)A)
Value(A) V
Trang 34Ví dụ: Trở lại với bảng dữ liệu “Chơi tennis”, áp dụng công thức trên ta
có:
Gain(S, Quang cảnh) = Entropy(S) - (5/14)Entropy(Snắng)
– (4/14)Entropy(S âmu) – (5/4)Entropy(Smưa) = 0,246
Như vậy thuộc tính độ ẩm có hiệu suất phân loại cao nhất trong nhánh
Nắng nên ta chọn thuộc tính Độ ẩm làm nút kế tiếp …
Tương tự như vậy đối với nhánh còn lại của cây quyết định ta được cây quyết định hoàn chỉnh:
Trang 35Hình 1.12 Cây quyết định đã được xây dựng hoàn chỉnh
1.4.5 Tỷ suất lợi ích Gain Ratio
Khái niệm độ lợi thông tin Gain có xu hướng ưu tiên các thuộc tính có số lượng lớn các giá trị Nếu thuộc tính D có giá trị riêng biệt cho mỗi bảng ghi
(thuộc tính Ngày ở bảng dữ liệu trên), thì Entropy(S, D) = 0, như vậy
Gain(S,D) sẽ đạt giá trị cực đại Rõ ràng, một phân vùng như vậy thì việc phân loại là vô ích
Thuật toán C4.5, một cải tiến của ID3, mở rộng cách tính Information Gain thành Gain Ratio để cố gắng khắc phục sự thiên lệch
Gain Ratio được xác định bởi công thức sau:
Trong đó, SplitInformation(S, A) chính là thông tin do phân tách của A trên cơ sở giá trị của thuộc tính phân loại S Công thức tính như sau:
Ví dụ: Tính Gain Ratio cho các thuộc tính ở bảng dữ liệu 1.1
SplitInformation(S, Quang cảnh) = - (5/14)log2(5/14)
A)mation(S,SplitInfor
A)Gain(S,A)
S,GainRatio(
|S
|
Slog
|S
|
SA)
mation(S,
c
1 i i
Trang 36-(4/14)log2(4/14) - (5/14)log2(5/14) = 1,57 Gain(S, Quang cảnh) = 0,246
Ta nhận thấy, GainRatio(S, Quang cảnh) có giá trị lớn nhất nên thuộc
tính Quang cảnh được chọn làm nút phân tách cây
1.4.6 Chuyển cây về dạng luật
Thông thường, cây quyết định sẽ được chuyển về dạng các luật để thuận tiện cho việc cài đặt và sử dụng Ví dụ cây quyết định cho tập dữ liệu huấn luyện trong bảng 1.1 có thể được chuyển thành một số luật như sau:
Hình 1.13 Chuyển cây quyết định về dạng luật
-Luật 1: If (QuangCảnh =Nắng) ^ (Độ ẩm = Cao) Then ChơiTennis = Không
-Luật 2: If (QuangCảnh =Nắng) ^ (Độ ẩm = TB) Then ChơiTennis = Có -Luật 3: If (QuangCảnh =Âm u) Then Chơi-Tennis = Có
-Luật 4: If (QuangCảnh =Mưa) ^ (Gió = Mạnh) Then ChơiTennis = Không
- Luật 5: If (QuangCảnh =Mưa) ^ (Gió= Nhẹ) Then Chơ-Tennis = Có
Trang 371.5 RANDOM FOREST
1.5.1 Cơ sở và định nghĩa
Từ những năm 1990, cộng đồng máy học đã nghiên cứu cách để kết hợp nhiều mô hình phân loại thành tập hợp các mô hình phân loại để cho tính chính xác cao hơn so với chỉ một mô hình phân loại Mục đích của các mô hình tập hợp là làm giảm variance và hoặc bias của các giải thuật học Bias là khái niệm về lỗi của mô hình học (không liên quan đến dữ liệu học) và variance là lỗi do tính biến thiên của mô hình so với tính ng u nhiên của các
m u dữ liệu học Tiếp cận Random Forest (Breiman, 2001) là một trong những phương pháp tập hợp mô hình thành công nhất Giải thuật Random Forest xây dựng cây không cắt nhánh nh m giữ cho bias thấp và dùng tính
ng u nhiên để điều khiển tính tương quan thấp giữa các cây trong rừng
Sự phát triển sớm của Random Forest đã bị ảnh hưởng bởi công việc của Amit và Geman, đã giới thiệu ý tưởng về tìm kiếm trên một tập hợp con ng u nhiên trong những quyết định có sẵn khi tách một nút, trong bối cảnh phát triển cây duy nhất Ý tưởng lựa chọn ng u nhiên từ không gian con của ho cũng đã có ảnh hưởng trong việc thiết kế các khu rừng ng u nhiên Trong phương pháp này một rừng cây được trồng, và sự thay đổi giữa các cây được giới thiệu b ng cách chiếu các dữ liệu đào tạo thành một không gian con được lựa chọn ng u nhiên trước khi lắp mỗi cây Cuối cùng, ý tưởng ng u nhiên tối
ưu hóa nút, nơi các quyết định tại mỗi nút được chọn theo một quy trình ng u nhiên, chứ không phải là tối ưu hóa xác định lần đầu tiên được giới thiệu bởi Dietterich[12]
Random Forest được xây dựng dựa trên 3 thành phần chính là: (1) CART, (2) học toàn bộ, hội đồng các chuyên gia, kết hợp các mô hình, và (3) tổng hợp bootstrap
Trang 38Random Forest là một phương pháp học quần thể để phân loại, hồi quy
và các nhiệm vụ khác, hoạt động bằng cách xây dựng vô số các cây quyết định trong thời gian đào tạo và đầu ra của lớp là mô hình phân lớp hoặc hồi quy của những cây riêng biệt Nó như là một nhóm phân loại và hồi quy cây không cắt tỉa được làm từ các lựa chọn ngẫu nhiên của các mẫu dữ liệu huấn luyện Tính năng ngẫu nhiên được chọn trong quá trình cảm ứng Dự đoán được thực hiện bằng cách kết hợp (đa số phiếu để phân loại hoặc trung bình cho hồi quy) dự đoán của quần thể
1.5.2 Tóm tắt giải thuật
Đầu vào: là tập dữ liệu đào tạo
Đầu ra: là mô hình Random Forest, Random Forest là tập hợp nhiều cây quyết định n tree
Với mỗi Cây n tree được xây dựng b ng các sử dụng thuật toán sau: Với N là số lượng các trường hợp của dữ liệu đào tạo, M là số lượng các biến trong việc phân loại
Lấy m là số các biến đầu vào được sử dụng để xác định việc phân chia tại 1 Nút của cây, m < M
Chọn 1 tập huấn luyện cho cây b ng cách chọn n ng u nhiên với sự thay thế từ tất cả các trường hợp đào tạo có sẵn N Sử dụng các phần còn lại để ước lượng các lỗi của cây, b ng cách dự đoán các lớp của chúng
Với mỗi nút của cây, chọn ng u nhiên m là cơ sở phân chia tại nút đó (độc lập với mỗi nút) Tính chia tốt nhất dựa trên các biến m trong tập huấn luyện n
Mỗi cây được trồng hoàn toàn và không tỉa (có thể được sử dụng trong
vệ xây dựng một bộ phân loại như các cây bình thường)
Đối với mỗi dự đoán mới được đưa vào Nó được gán nhãn của m u đạo tạo trong các nút cuối để kết thúc Thủ tục sẽ được lập lại qua tất cả các cây
Trang 39N tree, và số phiếu bình chọn (với phân lớp) hay trung bình (với hồi quy) của
các cây Ntree là dự đoán của rừng ng u nhiên
1.5.3 Mô hình phân lớp với Random Forest
Hình 1.14 Mô hình phân lớp với Random Forest
Tạo ra n tập dữ liệu huấn luyện bằng cách sử dụng Bootstrap
Từ một quần thể ban đầu lấy ra một m u L = (x1, x2, xn) gồm n thành phần, tính toán các tham số mong muốn Trong các bước tiếp theo lặp lại b lần việc tạo ra m u Lb cũng gồm n phần từ L b ng cách lấy lại m u với sự thay thế các thành phần trong m u ban đầu sau đó tính toán các tham số mong muốn
Ví dụ:
Dữ liệu đào tạo {1 2 3 4 5 6 7 8 9}
bootstrap -> dữ liệu huấn luyện 1 {1 2 4 5 1 7 2 9 5} - oob {3 6 8}
bootstrap -> dư liệu huấn luyện 2 {3 2 3 2 5 6 7 9 6} - oob {1 4 8}
Khi tập m u được rút ra từ một tập huấn luyện của một cây với sự thay
Trang 40thế (bootstrap), thì theo ƣớc tính có khoảng 1/3 các phần từ không có n m trong m u này Điều này có nghĩa là chỉ có khoảng 2/3 các phần tử trong tập huấn luyện tham gia vào trong các tính toán của chúng ta, và 1/3 các phần tử này đƣợc gọi là dữ liệu Out of Bag (OOB) Dữ liệu out-of-bag đƣợc sử dụng
để ƣớc lƣợng lỗi tạo ra từ việc kết hợp các kết quả từ các cây tổng hợp trong
Random Forest cũng nhƣ dùng để ƣớc tính độ quan trọng thuộc tính
1.5.4 X y dựng cây ngẫu nhiên
Năm Sản Xuất
7 > 7
Khu vực đổ xe Gara Không
Rủi ro Thấp
Rủi ro Trung Bình
Rủi ro Cao
Hình 1.15 Ví dụ cây ngẫu nhiên
Cây ng u nhiên là một cây đƣợc tạo ra với việc xem xét các thuộc tính đƣợc lựa chọn ng u nhiên tại một nút, cây không cắt tỉa
1.5.5 Tạo cây ngẫu nhiên
Cây ng u nhiên cũng tạo ra theo quy tắt tạo cây top-down
Với mỗi nút của cây (không phải là nút lá) chọn ng u nhiên m là cơ sở
phân chia tại nút đó (độc lập với mỗi nút) Tính chia tốt nhất dựa trên các biến
m trong tập huấn luyện n
Với biến là giá trị không liên tục thì mỗi nhánh sẽ là một giá trị của thuộc tính, ngƣợc lai với biến là giá trị tiên lục thì sẽ chia thành 2 nhánh với ngƣỡng chia tốt nhất
Ví dụ: Tạo ra cây ng u nhiên với CSDL có 10 thuộc tính, M=10
Lấy random m < M, lấy m= 4