Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
2,26 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN ĐỨC NGỌC NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM NỬA GIÁM SÁT ỨNG DỤNG CHO BÀI TOÁN PHÂN CỤM DỮ LIỆU WEB SERVER LOGS LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN, 2018 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN ĐỨC NGỌC NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM NỬA GIÁM SÁT ỨNG DỤNG CHO BÀI TOÁN PHÂN CỤM DỮ LIỆU WEB SERVER LOGS Chuyên ngành: Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS Vũ Việt Vũ THÁI NGUYÊN, 2018 i LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn sâu sắc tới TS Vũ Việt Vũ, người trực tiếp hướng dẫn thực luận văn Thầy tận tình hướng dẫn, cung cấp tài liệu định hướng cho suốt trình nghiên cứu thực luận văn Tơi xin chân thành cảm ơn thầy cô giảng dạy quản lý đào tạo tạo điều kiện cho tơi có mơi trường học tập, nghiên cứu tốt suốt năm theo học Cuối xin gửi lời cảm ơn tới gia đình, bạn bè đồng nghiệp giúp đỡ động viên suốt q trình học tập hồn thiện luận văn Xin chân thành cảm ơn! ii MỤC LỤC MỞ ĐẦU Chương TỔNG QUAN 1.1 Khái niệm học máy toán phân cụm liệu 1.2 Nội dung nghiên cứu luận văn 1.3 Một số phương pháp phân cụm liệu 1.3.1 Phương pháp phân cụm K-Means 11 1.3.2 Phương pháp phân cụm DBSCAN 12 1.3.3 Phương pháp phân cụm dựa đồ thị (GC) 15 1.3.4 Ứng dụng phân cụm liệu 17 1.4 Kết luận 19 Chương MỘT SỐ THUẬT TOÁN PHÂN CỤM NỬA GIÁM SÁT CƠ BẢN 20 2.1 Tổng quan phân cụm nửa giám sát 20 2.2 Thuật toán phân cụm nửa giám sát dựa K-Means 22 2.2.1 Thuật toán COP-KMeans 22 2.2.2 Thuật toán Seed K-Means 24 2.3 Thuật toán phân cụm nửa giám sát dựa mật độ: SSDBSCAN 27 2.4 Thuật toán phân cụm nửa giám sát dựa đồ thị (SSGC) 33 2.5 Kết luận 37 Chương KẾT QUẢ THỰC NGHIỆM 38 3.1 Giới thiệu liệu web server logs 38 3.1.1 Tiền xử lý liệu 38 3.1.2 Phương pháp đánh giá chất lượng phân cụm 42 3.1.3 Thuật toán phân cụm 43 3.2 Kết phân cụm tập web server logs 43 3.3 Kết luận 47 iii KẾT LUẬN 48 Những kết đạt 48 Hướng phát triển đề tài 48 TÀI LIỆU THAM KHẢO 49 iv DANH MỤC CÁC BẢNG BIỂU Bảng 1.1 Ví dụ liệu sau chuyển đổi thành vector Bảng 3.1 Ví dụ liệu sau chuyển đổi dạng vector 411 v DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Các hướng nghiên cứu Trí tuệ nhân tạo Hình 1.2 Các lĩnh vực liên quan với học máy Hình 1.3 Các tốn khai phá liệu web (web mining) Hình 1.4 Ví dụ liệu log server webs Hình 1.5 Ví dụ phân cụm liệu 10 Hình 1.6 Minh họa thuật toán K-Means 10 Hình 1.7 Thuật tốn K-Means 11 Hình 1.8 Thuật tốn DBSCAN 13 Hình 1.9 Thuật tốn DBSCAN: thủ tục Expandcluster 14 Hình 1.10 Ví dụ phân cụm sử dụng thuật toán DBSCAN 15 Hình 1.11 Ví dụ phân cụm sử dụng đồ thị 16 Hình 2.1.Dữ liệu đầu vào cho loại thuật toán học 20 Hình 2.2 Minh họa thuật toán COP-Kmeans 23 Hình 2.3 Kết so sánh thuật tốn COP-KMeans cho tập liệu tic-tac-toe 23 Hình 2.4 Kết so sánh thuật toán COP-KMeans cho tập liệu Soybean 24 Hình 2.5 Thuật toán Seed K-Means 25 Hình 2.6 Kết phân cụm cho tập liệu Newgroups 26 Hình 2.7 Kết phân cụm cho tập Yahoo 27 Hình 2.8 Dữ liệu với cluster A, B, C Tuy nhiên giá trị phù hợp MinPts để DBSCAN phát ba cluster 28 Hình 2.9 Kết phân cụm thuật tốn SSDBSCAN tập liệu từ UCI 32 Hình 2.10 So sánh tốc độ thực thuật toán SSGC thuật toán SSDBSCAN 36 Hình 2.11 Kết thuật toán SSGC so sánh với thuật toán loại 37 Hình 3.1 Ví dụ số dịng liệu log server web 38 Hình 3.2 Địa IP truy cập người dùng 39 Hình 3.3 Ký hiệu mục website 40 Hình 3.4 Danh sách seed sử dụng phân cụm 43 MỞ ĐẦU Trong vài thập niên gần đây, với thay đổi phát triển không ngừng ngành cơng nghệ thơng tin nói chung ngành công nghệ phần cứng, phần mềm, truyền thông hệ thống liệu phục vụ lĩnh vực kinh tế - xã hội nói riêng Việc thu thập thông tin nhu cầu lưu trữ thông tin ngày lớn Bên cạnh việc tin học hố cách ạt nhanh chóng hoạt động sản xuất, kinh doanh nhiều lĩnh vực hoạt động khác tạo cho lượng liệu lưu trữ khổng lồ Hàng triệu Cơ sở liệu sử dụng hoạt động sản xuất, kinh doanh, quản lý , có nhiều Cơ sở liệu cực lớn cỡ Gigabyte, chí Terabyte Sự bùng nổ dẫn tới yêu cầu cấp thiết cần có kĩ thuật công cụ để tự động chuyển đổi lượng liệu khổng lồ thành tri thức có ích Từ đó, kĩ thuật Khai phá liệu trở thành lĩnh vực thời Công nghệ thông tin giới Một vấn đề đặt phải trích chọn thơng tin có ý nghĩa từ tập liệu lớn để từ giải yêu cầu thực tế trợ giúp định, dự đoán,… Khai phá liệu (Data mining) đời nhằm giải yêu cầu Khai phá liệu định nghĩa là: Q trình trích xuất thơng tin có giá trị tiềm ẩn bên lượng lớn liệu lưu trữ Cơ sở liệu, kho liệu… Hiện nay, thuật ngữ khai phá liệu, người ta dùng số thuật ngữ khác có ý nghĩa tương tự như: Khai phá tri thức từ Cơ sở liệu (knowlegde mining from databases), trích lọc liệu (knowlegde extraction), phân tích liệu/mẫu (data/pattern analysis), khảo cổ liệu (data archaeology), nạo vét liệu (data dredging) Nhiều người coi khai phá liệu thuật ngữ thông dụng khác khám phá tri thức Cơ sở liệu(Knowlegde Discovery in Databases – KDD) Tuy nhiên thực tế, khai phá liệu bước thiết yếu trình Khám phá tri thức Cơ sở liệu Ngay từ ngày đầu xuất hiện, Data mining trở thành xu hướng nghiên cứu phổ biến lĩnh vực học máy tính cơng nghệ tri thức Nhiều thành tựu nghiên cứu Data mining áp dụng thực tế Data mining có nhiều hướng quan trọng hướng phân cụm liệu (Data Clustering ) Phân cụm liệu trình tìm kiếm để phân cụm liệu, mẫu liệu từ tập Cơ sở liệu lớn Phân cụm liệu phương pháp học không giám sát Trong năm trở lại đây, phương pháp phân cụm liệu khơng giám sát cịn số hạn chế dựa học khơng giám sát học có giám sát đời phương pháp phân cụm liệu phương pháp phân cụm liệu nửa giám sát Phương pháp phân cụm nửa giám sát phương pháp phân cụm hồn thiện phần khắc phục hạn chế phát huy ưu điểm phương pháp phân cụm không giám sát Chương TỔNG QUAN 1.1 Khái niệm học máy toán phân cụm liệu Học máy (Machine Learning) nhánh nghiên cứu Trí tuệ nhân tạo nhằm xây dựng thuật toán thực hệ thống máy tính học qua liệu mẫu thống kê có sẵn Trí tuệ nhân tạo (artificial intelligence) gồm nhiều lĩnh vực nghiên cứu [1] Hình 1.1 minh họa hướng nghiên cứu lĩnh vực trí tuệ nhân tạo Chúng ta kể đến học máy, học sâu, nhận dạng đối tượng, hệ thống tự động, xử lý ngôn ngữ tự nhiên, trợ lý ảo,… Trí tuệ nhân tạo ba trụ cột cách mạng công nghiệp 4.0 với liệu lớn (Big Data) Internet vận vật (IoT) Hình 1.1 Các hướng nghiên cứu Trí tuệ nhân tạo [1] Trên thực tế có dạng học bao gồm: - Học có giám sát: Máy tính học số mẫu gồm đầu vào (Input) đầu (Output) tương ứng trước Sau học xong mẫu này, máy tính 36 Để đánh giá hiệu thuật toán SSGC, người ta sử dụng kết thu từ thuật toán phân cụm K-Means làm tham chiếu sở Sau so sánh thời gian tính tốn thuật tốn SSGC thuật tốn SSDBSCAN hai thuật tốn hoạt động mục đích phân cụm (phân cụm với kích thước hình dạng khác nhau) Các kết thực nghiệm chứng minh thuật toán SSGC nhanh thuật tốn SSDBSCAN khoảng 20 lần Hình 2.10 So sánh tốc độ thực thuật toán SSGC thuật toán SSDBSCAN[8] Bằng sử dụng k láng giềng gần để xác định khoảng cách tương đối đối tượng, thuật tốn giải q trình phân cụm với hình dạng tùy ý mật độ khác Hơn nữa, thời gian tính tốn thấp đáng kể so với thuật tốn SSDBSCAN 37 Hình 2.11 Kết thuật toán SSGC so sánh với thuật toán loại[8] 2.5 Kết luận Nội dung chương nhằm mục đích nghiên cứu thuật tốn phân cụm nửa giám sát bao gồm thuật toán phân cụm nửa giám sát KMeans, thuật toán SSDBSCAN thuật toán SSGC Đây nghiên cứu tiền đề cho chương để tiến hành thực nghiệm cài đặt phân cụm cho toán phân loại liệu log web 38 Chương KẾT QUẢ THỰC NGHIỆM 3.1 Giới thiệu liệu web server logs 3.1.1 Tiền xử lý liệu Dữ liệu server logs lưu trữ máy chủ, liệu lưu vết truy xuất người dùng truy cập vào website Hình 3.1 minh họa vài dịng liệu log server lấy từ tập liệu sử dụng cho website cụ thể (https://www.vnu.edu.vn) 4-03 04:02:34 W3SVC1 112.137.142.4 GET /home/Default.asp C1886/N971/Cac-luan-an-Nganh-Tieng-Anh.htm 443 - 14.239.244.221 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+( KHTML,+like+Gecko)+Chrome/65.0.3325.181+Safari/537.36 200 0 2018-04-03 04:02:57 W3SVC1 112.137.142.4 GET /ttsk/Default.asp C1654/N19949/Thu-tuong-Nguyen-Xuan-Phuc-tuyen-duong-hoc-sinhgioi.htm 80 - 40.77.167.2 Mozilla/5.0+(compatible;+bingbot/2.0;++http://www.bing.com/bingbot.ht m) 200 0 2018-04-03 04:04:28 W3SVC1 112.137.142.4 GET /ttsk/Default.asp C1654/N19586/VNU-%E2%80%93-IS:-dao-tao-nguon-nhan-luc-dambao-chat-luong-quoc-te.htm 80 - 180.76.15.157 Mozilla/5.0+(compatible;+Baiduspider/2.0;++http://www.baidu.com/search/s pider.html) 200 0 2018-04-03 04:03:27 W3SVC1 112.137.142.4 GET /ttsk/Default.asp C2095/N10239/Huong-dan-dich-quoc-hieu,-chuc-danh,-don-vi,-to-chuc sang-tieng-Anh.htm 443 - 171.253.181.118 Mozilla/5.0+(iPhone;+CPU+iPhone+OS+11_2_6+like+Mac+OS+X)+App leWebKit/604.5.6+(KHTML,+like+Gecko)+Version/11.0+Mobile/15D10 0+Safari/604.1 200 0 Hình 3.1 Ví dụ số dịng liệu log server web 39 Để thực toán phân cụm phải có q trình tiền xử lý liệu, chuyển đổi liệu dạng vector Trên thực tế có số phương pháp để thực Trong luận văn tơi chọn phương pháp thống kê trang web theo lĩnh vực xem xét địa IP truy cập vào trang đó, có giá trị đặt khơng giá trị vector Sau trích dẫn thơng tin cần thiết như: Địa IP người dùng, ký hiệu mục từ logs file truy cập vào website https://www.vnu.edu.vn ngày 03 tháng năm 2018, thu 4745 địa IP người dùng 255 ký hiệu mục website, kết cụ thể sau: 207.46.13.102 207.46.13.102 207.46.13.102 207.46.13.102 171.255.28.192 171.255.28.192 171.255.28.192 171.255.28.192 207.46.13.170 207.46.13.170 207.46.13.170 207.46.13.170 138.201.68.80 138.201.68.80 138.201.68.80 138.201.68.80 66.249.71.64 66.249.71.64 66.249.71.64 66.249.71.64 216.244.66.201 216.244.66.201 216.244.66.201 216.244.66.201 5.45.207.79 5.45.207.79 5.45.207.79 5.45.207.79 125.209.235.167 125.209.235.167 125.209.235.167 125.209.235.167 40.77.167.2 40.77.167.2 40.77.167.2 40.77.167.2 54.36.148.190 54.36.148.190 54.36.148.190 54.36.148.190 66.249.71.92 66.249.71.92 66.249.71.92 66.249.71.92 54.36.148.129 54.36.148.129 54.36.148.129 54.36.148.129 66.249.71.139 66.249.71.139 66.249.71.139 66.249.71.139 144.76.71.83 144.76.71.83 144.76.71.83 144.76.71.83 14.226.232.251 14.226.232.251 14.226.232.251 14.226.232.251 Hình 3.2 Địa IP truy cập người dùng 40 C1654 C1654 C1654 C1654 C2107 C2107 C2107 C2107 C1645 C1645 C1645 C1645 C1990 C1990 C1990 C1990 C2091 C2091 C2091 C2091 C2249 C2249 C2249 C2249 C2099 C2099 C2099 C2099 C2096 C2096 C2096 C2096 C1635 C1635 C1635 C1635 C1657 C1657 C1657 C1657 C2090 C2090 C2090 C2090 C1667 C1667 C1667 C1667 C2095 C2095 C2095 C2095 C2160 C2160 C2160 C2160 C2097 C2097 C2097 C2097 Hình 3.3 Ký hiệu mục website Thực tế cho thấy, với website cụ thể trường Đại học chúng tơi có chun mục sau: - Tin tức kiện - Đào tạo - Giới thiệu - Khoa học công nghệ - Hợp tác phát triển - Tiêu điểm 41 - Sinh viên - Con người thành tựu - Chính trị xã hội - Bản tin Đại học - Đảm bảo chất lượng - Liên hệ - Cán - Tuyển sinh - Nghiên cứu -… Tất nhiên nhiều chuyên mục khác với chuyên mục lại cịn có nhiều chun mục khác Bằng thực nghiệm, tơi dễ dàng nhận chuyên mục có nhiều ký hiệu mục khác Sử dụng phương pháp thống kê, thu gọn 255 ký hiệu mục thành 24 chuyên mục để trình phân cụm dễ dàng Sau đó, liệu chuyển đổi dạng vector bảng 3.2 Nói cách khác, liệu dùng thực nghiệm luận văn có 4745 dịng 24 chiều tương ứng với chuyên mục website Bảng 3.1 Ví dụ liệu sau chuyển đổi dạng vector 111111011010100110000000 111101010110000010000100 111111010100100110100010 111111011000100110000000 42 111111011100100000000000 100000000000000000000000 000000000100000000000000 100000000000000100000000 100100000000000000000000 100000000000000000000000 100000000000000000000000 Mỗi người dùng vào xem số trang chủ đề cụ thể Sau sử dụng liệu dạng để phân cụm, nhóm người dùng có chủ đề số lượng người nhóm Điều giúp cho việc bố trí trang web tốt 3.1.2 Phương pháp đánh giá chất lượng phân cụm Đối với việc đánh giá kết q trình phân cụm chúng tơi sử dụng số Rand Index Chỉ số Rand Index dùng để so sánh kết hai phân cụm P1 P2 có n điểm liệu Giả sử a tổng số cặp xi xj thuộc cụm P1 P2, b tổng số cặp xi xj thuộc hai cụm khác P1 P2, số RI tính cơng thức sau: RI ab n(n 1) RI có giá trị từ đến 1, RI lớn độ xác q trình phân cụm lớn Chúng lưu ý để thực việc tính tốn số RI phải biết nhãn thực tập liệu 43 3.1.3 Thuật tốn phân cụm Như trình bày chương 2, sử dụng thuật tốn phân cụm Seed K-Means, SSDBSCAN SSGC Trong thực nghiệm chúng tơi sử dụng thuật tốn Seed K-Means cho tập liệu web server logs Chúng chia ma trận vector thành cụm có kích thước khác chọn seed thỏa mãn điều kiện cụm có seed 2111 1260 2174 1402 1001 3032 Hình 3.4 Danh sách seed sử dụng phân cụm 3.2 Kết phân cụm tập web server logs Để thực phân cụm với thuật toán Seed K-Means cần chọn số lượng cụm cần phân tách số điểm lấy làm trọng tâm bước khởi động cho thuật toán K-Means Chẳng hạn với liệu phân tách thành cụm, kết sau: Cum 111111011011010111000000 111111111111110110100000 111111100100110010000000 111111111110101010000000 111111111110111111011000 … 44 Cum 111100000010000000000000 101100000110000000000000 101100000010000000000000 101101000010000000000000 … Cum 001000010000000100000000 001000000000000100000000 001000010000000101000000 001000000000000001000000 001000010000000100000000 … Cum 000100000000000001000010 000100000000000001000010 000100000000000001000110 000100000000000001000010 000100000000000001000010 … Cum 010000000000000000000000 45 010000000000000000000000 010000000000000000000000 010000000000000000000000 … Cum 111010000000000010000000 100010000000000010000000 100010001100110010000100 100011000000110010000100 … Với kết thu kết từ chương trình sau: Đối với cụm 1: - Ty le xuat hien thuoc tinh cum la: 89.85 % - Ty le xuat hien thuoc tinh cum la: 1.21 % - Ty le xuat hien thuoc tinh cum la: 8.89 % - Ty le xuat hien thuoc tinh cum la: % - Ty le xuat hien thuoc tinh cum la: 1.28 % - Ty le xuat hien thuoc tinh cum la: 0.5 % - Ty le xuat hien thuoc tinh cum la: 0.26 % - Ty le xuat hien thuoc tinh cum la: 0.76 % - Ty le xuat hien thuoc tinh cum la: 0.68 % 46 - Ty le xuat hien thuoc tinh 10 cum la: 0.55 % - Ty le xuat hien thuoc tinh 11 cum la: 0.6 % - Ty le xuat hien thuoc tinh 12 cum la: 0.13 % - Ty le xuat hien thuoc tinh 13 cum la: 0.34 % - Ty le xuat hien thuoc tinh 14 cum la: 0.05 % … Đối với cụm 2: - Ty le xuat hien thuoc tinh cum la: 100 % - Ty le xuat hien thuoc tinh cum la: 7.43 % - Ty le xuat hien thuoc tinh cum la: 12.84 % - Ty le xuat hien thuoc tinh cum la: 100 % - Ty le xuat hien thuoc tinh cum la: 7.09 % - Ty le xuat hien thuoc tinh cum la: 2.7 % - Ty le xuat hien thuoc tinh cum la: 0.68 % - Ty le xuat hien thuoc tinh cum la: 2.03 % - Ty le xuat hien thuoc tinh cum la: 2.03 % - Ty le xuat hien thuoc tinh 10 cum la: 3.04 % - Ty le xuat hien thuoc tinh 11 cum la: 3.38 % -… - Tỷ lệ chủ đề so với tổng sổ lượng phần tử cụm - Phân bố thuộc tính nhiều người truy cập, người truy cập - Số lượng truy cập vào nhiều trang khác 47 - Mối liên hệ chủ nhóm người truy cập chẳng hạn cụm phần lớn chủ để truy cập chủ đề thứ 4, 18, 23; cụm chủ đề số 1, số số 17 3.3 Kết luận Trong chương thực việc phân cụm cho toán khai phá liệu web Thuật toán thử nghiệm Seed KMeans, tương tự cho thuật toán SSDBSCAN hay SSGC Các kết thực cho thấy nhiều điểm khai thác thơng tin từ q trình phân cụm chẳng hạn số lượng chủ đề cho cụm, số lượng truy nhập cho cụm, mối quan hệ chủ đề cụm Một hướng nghiên cứu hiển thị sơ đồ biểu thị mối quan hệ chủ đề mối quan hệ nhịm người có sở thích truy cập website câu hỏi thú vị ... cụm liệu phương pháp phân cụm liệu nửa giám sát Phương pháp phân cụm nửa giám sát phương pháp phân cụm hồn thiện phần khắc phục hạn chế phát huy ưu điểm phương pháp phân cụm không giám sát 3 Chương... Nghiên cứu tìm hiểu thuật tốn phân cụm liệu - Nghiên cứu nắm bắt số thuật toán phân cụm nửa giám sát bao gồm thuật toán phân cụm nửa giám sát K-Means, thuật toán SSDBSCAN, thuật toán phân cụm nửa giám. .. TRUYỀN THÔNG NGUYỄN ĐỨC NGỌC NGHIÊN CỨU MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM NỬA GIÁM SÁT ỨNG DỤNG CHO BÀI TOÁN PHÂN CỤM DỮ LIỆU WEB SERVER LOGS Chuyên ngành: Khoa học máy tính Mã số: 8480101 LUẬN VĂN THẠC