Hiện tượng đa cộng tuyến xảy ra khi có hơn hai biến độc lập có tương quan chặt chẽ với nhau trong mô hình hồi quy. Lúc này, phương sai của ước lượng các hệ số hồi quy Sbj rất lớn.
Tín hiệu dễ gây nghi ngờ nhất là R2 của mô hình cao mà kiểm định t lại bảo một vài biến độc lập nào đó không có ý nghĩa cho việc giải thích Y, từ nghi ngờ này, người ta dùng phương pháp đơn giản nhất là xem xét hệ số tương quan giữa các biến độc lập trong phương trình hồi quy.
Phương pháp thứ hai là tính giá trị phóng đại phương sai VIF (Variance Inflation Factor)[2] để xác định hiện tượng này có xảy ra hay không. Thông thường,
giá trị này nhỏ hơn 10 thì coi như hiện tượng đa cộng tuyến không xảy ra. Công thức tính VIF:
Với Rj là giá trị đánh giá sự phù hợp mô hình hồi quy của biến độc lập thứ j với các biến độc lập khác. Nếu giá trị VIF nhỏ hơn 10 thì biến độc lập thứ j không tạo ra hiện tượng đa công tuyến trong mô hình hồi quy
Để phát hiện có hiện tượng đa cộng tuyến
Sử dụng nhân tử phóng đại phương sai VIF.
Phân tích hồi quy trong SPSS, chọn mục Collinearity diagnostics để kiểm tra hiện tượng đa cộng tuyến (Multicollinearity). Độ chấp nhận của biến (Tolerances) và hệ số phóng đại phương sai (VIF) được dùng để phát hiện hiện tượng đa cộng tuyến. Quy tắc là khi VIF vượt quá 10 là có dấu hiệu của đa cộng tuyến xảy ra.
2.7. Kết luận chương 2
+ Trong chương này đã trình bày phương pháp tổng quát xây dựng cây quyết định, thuật toán C4.5, phương pháp Naive Bayes.
+ Trình bày tóm tắt các bước thực hiện bài toán hồi quy đa biến nhằm làm rõ quá trình phân tích trong Chương 3.
+ Trình bày các ví dụ cụ thể để minh họa từng bước trên mỗi thuật toán và đồng thời kiểm chứng từng thuật toán trên các bảng dữ liệu.
CHƯƠNG 3
GOM CỤM DỮ LIỆU VÀ THUẬT TOÁN WEKA
3.1. Gom cụm dữ liệu Khái niệm:
- Gom cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các phương pháp Unsupervised Learning (Phương pháp học không giám sát) trong Machine Learning. Có rất nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể hiểu :
- Gom cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm
(clusters), sao cho các đối tượng trong cùng một cụm tương tự (similar) nhau và các đối tượng khác cụm thì không tương tự (Dissimilar) nhau.
Mục tiêu của gom cụm dữ liệu :
- Mục đích của gom cụm là tìm ra bản chất bên trong các nhóm của dữ liệu. Các thuật toán gom cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). Tuy nhiên, không có tiêu chí nào được xem là tốt nhất để đánh giá hiệu suất của phân tích gom cụm, điều này phụ thuộc vào mục đích của gom cụm như: data reduction, natural clusters, useful clusters, outlier detection …
Xác định được bản chất của việc nhóm các đối tượng trong 1 tập dữ liệu không có nhãn.
Gom cụm không dựa trên 1 tiêu chuẩn chung nào, mà dựa vào tiêu chí mà người dùng cung cấp trong từng trường hợp.
Ứ
ng dụng của kỹ thuật gom cụm dữ liệu :
Kỹ thuật gom cụm có thể được áp dụng trong nhiều lĩnh vực như :
Tiếp thị : 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;
Sinh học : Gom nhóm động vật và thực vật dựa vào các thuộc tính của chúng; Thư viện : Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
Bảo hiểm - Tài Chính : Gom 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 của khách hàng, phát hiện gian lận tài chính (identifying frauds);
Web - Internet : Phân loại tài liệu (document classification); phân loại người dùng web (clustering weblog);…
Một số phương pháp gom cụm điển hình:
Exclusive Clustering (k-means)
Hierarchical Clustering (Hierarchical clustering) Probabilistic Clustering (EM - Mixture of Gaussians)
Trong giới hạn của đề tài, xin trình bày về Exclusive Clustering, là loại gom cụm mà k-means thuộc vào.
Phân loại các thuật toán Gom cụm :
SƠ ĐỒ PHÂN LOẠI CÁC THUẬT TOÁN GOM CỤM 3.2. Thuật toán k -means
- Exclusive Clustering là loại gom cụm mà mỗi phần tử sẽ thuộc vào một cụm duy nhất. Nội dung chính của các thuật toán loại Exclusive Clustering, trong đó có k-means có thể tổng quát hóa cho cả Clustering
- Thuật giải gồm 4 bước:
- Dữ liệu đầu vào: là một tập hợp các phần tử không có nhãn và số lượng cụm mong muốn (gọi là k)
- Dữ liệu đầu ra: là các cụm phần tử
Bước 1: Lấy ngẫu nhiên k phần tử làm trọng tâm của k cụm.
Bước 2: Tính toán khoảng cách từ mỗi điểm đến tất cả các trọng tâm. Với khoảng
cách ngắn nhất, gán điểm vào cụm có trọng tâm tương ứng.
Bước 3: Tính toán lại trọng tâm các cụm.
Bước 4: Tính lại khoảng cách các điểm đến các trọng tâm, thực hiện việc gán điểm
vào các cụm, sau đó tính lại trọng tâm, …Quá trình này lặp đi lặp lại cho đến khi không xảy ra phép gán nào, nghĩa là đã có một kết quả gom cụm.
- Có các loại khoảng cách (distance) sử dụng cho thuật toán: Clustering Hierarchical Partitional Single Link Complete Link Square Error Graph Theoretic Mixture Resolving Mode Seeking K-Means Expectation Maximinzation
• Euclidean distance
• Manhattan distance
• Mahalanobis distance
Trong đó, a và b là 2 vector cần tìm khoảng cách; ai và bi là các giá trị các chiều của vector. S là ma trận hiệp phương sai.
Đánh giá thuật toán :
Ưu Điểm :
Độ phức tạp: O( K.N.l ) với l: số lần lặp
Có khả năng mở rộng, có thể dễ dàng sửa đổi với những dữ liệu mới. Bảo đảm hội tụ sau 1 số bước lặp hữu hạn.
Luôn có K cụm dữ liệu
Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau.
Mọi thành viên của 1 cụm là gần với chính cụm đó hơn bất cứ 1 cụm nào khác. Nhược Điểm :
Không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình dạng phức tạp. Khó khăn trong việc xác định các trọng tâm cụm ban đầu
o Chọn ngẫu nhiên các trung tâm cụm lúc khởi tạo .
o Độ hội tụ của thuật toán phụ thuộc vào việc khởi tạo các vector trung tâm cụm . Khó để chọn ra được số lượng cụm tối ưu ngay từ đầu, mà phải qua nhiều lần thử
để tìm ra được số lượng cụm tối ưu.
Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu.
Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1 cụm, chỉ phù hợp với đường biên giữa các cụm rõ.
3.3. Công cụ khai phá dữ liệu Weka
3.3.1. Giới thiệu công cụ Weka
Weka là môi trường thử nghiệm khai phá dữ liệu do các nhà khoa học thuộc trường Đại học Waitako, NZ, khởi xướng và được sự đóng góp của rất nhiều nhà nghiên cứu trên thế giới. Weka là phần mềm mã nguồn mở, cung cấp công cụ trực quan và sinh động cho mọi người tìm hiểu về khai phá dữ liệu. Weka còn cho phép các
∑ − = − i i i 1 |a b | b a ∑ − = − i 2 i i 2 (a b ) b a ) b a ( S ) b a ( − T −1 −
giải thuật học mới phát triển có thể tích hợp vào môi trường của nó. Hệ thống được viết bằng java. Nó chạy được hầu hết trên tất cả hệ điều hành.
Weka cung cấp nhiều giải thuật khác nhau với nhiều phương thức cho quá trình xử lý để ước lượng kết quả bằng sơ đồ cho bất kì một dữ liệu nào.
Weka cung cấp những tính năng chính sau:
Bao gồm nhiều công cụ đa dạng để thay đổi tập dữ liệu, xử lý dữ liệu, giải thuật học và phương pháp đánh giá.
Giao diện đồ họa người dùng (trực quan hóa dữ liệu). Môi trường để so sánh các giải thuật học.
Bạn có thể xử lý trước tập dữ liệu, cho vào trong một sơ đồ, và phân chia các lớp kết quả và thực hiện nó mà không cần viết bất cứ một chương trình nào.
Weka lấy dữ liệu từ các file có định dạng *.csv, *.arff và nó được phát sinh từ một file hoặc một bảng cơ sở dữ liệu. Cách sử dụng Weka là thông qua giao diện đồ họa của nó.
3.3.2. Các phiên bản Weka
WEKA 3.0: “book version”:
Là các phiên bản thể hiện những chức năng được mô tả trong quyển sách Data Mining : “Practical Machine Learning Tools and Techniques (2nd Edition của Ian.Hwitten và Eibe Frank.
WEKA 3.2: “GUI version” :
Graphical User Interfaces (Phiên bản giao diện đồ họa) : Ngoài việc viết các câu lệch có thể sử dụng giao diện đồ họa.
WEKA 3.3: “Development version”
Là phiên bản phát triển với nhiều cải tiến hơn so với các phiên bản trước đó.
Hình 3-1: Màn hình chính phần mềm Weka Explorer:
Sử dụng menu lựa chọn. Explorer chỉ sử dụng những bộ dữ liệu vừa và nhỏ. Experimeter:
Cho phép người dùng thực hiện những bài tập cơ bản khi ứng dụng phân lớp và kĩ thuật hồi quy, với những công việc có giá trị, phương pháp và tham số tốt nhất cho vấn đề đã cho.
Cho phép bạn tự động hóa xử lý, làm cho nó phân lớp và lọc dễ dàng với những cách thiết lập tham số khác nhau trên toàn thể bảng dữ liệu
KnowledgeFlow:
Cho phép người dùng kéo thả những chiếc hộp tượng trưng cho các giải thuật và dữ liệu để kết nối chúng lại với nhau và đưa ra cấu trúc.
Simple CLI:
Sử dụng câu lệnh.
3.2.4. Màn hình Explorer Preprocess
• Nút mở các file có sẵn trên máy. • Nút mở file từ máy khác.
• Nút đọc dữ liệu từ một cơ sở dữ liệu.
Sử dụng nút bạn có thể đọc các tập tin mẫu ở nhiều định dạng như: định dạng ARFF, định dạng CSV, định dạng C4.5, ….
Hình 3-2: Màn hình Preprocess của chức năng Explorer
3.2.5. Màn hình Explorer Classify
Test Options là bảng chọn lựa chế độ kiểm thử để đánh giá hiệu quả của bộ phân lớp đã được xây dựng:
Use training set: Sử dụng tập huấn luyện làm tập kiểm thử. Supplied test set: Chỉ định tập dữ liệu mới làm tập kiểm thử. Cross-validation: Kiểm thử bằng phương pháp Cross-validation.
Percentage split: Chia tập dữ liệu ban đầu thành tập huấn luyện và tập kiểm thử theo tỉ lệ %.
Classifier output là nơi xem kết quả huấn luyện:
Correctly classified instances Số mẫu phân lớp đúng theo tỉ lệ %. Incorrectly classified instances Số mẫu phân lớp sai theo tỉ lệ %.
Hình 3-3: Màn hình Classify của chức năng Explorer
3.3.6. Cấu trúc tập dữ liệu mẫu
Hiện nay có rất nhiều cấu trúc lưu trữ các tập dữ liệu mẫu được đề xuất bởi các chuyên gia và tổ chức nghiên cứu về máy học chẳng hạn như định dạng *.CSV, *.Arff. Trong bài thu hoạch này chọn cấu trúc lưu trữ dữ liệu dễ sử dụng và khai thác đó là định dạng *.CSV.
3.3.6.1. Cấu trúc tập CSV
Là một tập tin văn bản có tối thiểu 2 dòng, dòng đầu là dòng chứa các tiêu đề và dòng thứ 2 trở đi là các dòng dữ liệu :
Bảng 3-3 : Cấu trúc lưu trữ tập dữ liệu mẫu dạng CSV Header_1,Header_2,…,Header_n
Data_1,Data_2,…,Data_n
Ví dụ : Tập dữ liệu tín dụng được cho trong Bảng 3-1 sẽ được tổ chức như sau :
Tuoi,GioiTinh,NgheNghiep,ThuNhap,KetHon,Con,Xe,TKTK,ChoO,TheChap,ChoVay
TrungNien,Nu,LD_TriOc,Thap,Khong,1_Con,Khong,Khong,Nha_Thue,Khong,Khong TrungNien,Nam,LD_CoTayNghe,TB,Co,n_Con,Co,Khong,Nha_Rieng,Co,Co
TrungNien,Nu,LD_TriOc,Thap,Co,0_Con,Co,Co,Nha_Rieng,Khong,Khong ………
3.3.6.2. cấu trúc tập Arff
% chú thích
@Relation <Tên tập dữ liệu>
@Attribute <Tên thuộc tính 1> <Kiểu thuộc tính 1> …
@Attribute <Tên thuộc tính n> <Kiểu thuộc tính n>
@Attribute <Tên thuộc tính phân lớp> {Giá trị 1, Giá trị 2,…} @Data
<dữ liệu>
Kiểu thuộc tính sẽ là một trong hai kiểu sau: Real (kiểu dữ liệu liên tục) hoặc là Discrete (kiểu dữ liệu rời rạc). Nếu thuộc tính kiểu Discrete thì trong khai báo thuộc tính sẽ liệt kê đầy đủ các giá trị mà thuộc tính có thể nhận như:
@Attribute ket-hon {co, khong}
Ví dụ : Tập dữ liệu tín dụng được cho trong Bảng 3-1 sẽ được tổ chức như sau :
% Tập dữ liệu tín dụng ngân hàng
@relation Bank
@attribute Tuoi Real @attribute ThuNhap Real
@attribute GioiTinh {Nam, Nu} ………
@attribute Chovay {Co, Khong} @data
30,3000000,Nam,Co 23,1000000,Nu,Khong 40,3500000,Nam,Co ………
3.3.7. Thực nghiệm với chức năng Explorer
Như đã giới thiệu ở trên, Weka cho phép người dùng chọn lựa 1 trong 4 phương pháp kiểm thử để đánh giá mức độ chính xác của thuật toán. Trong bài thu hoạch này chọn phương pháp kiểm thử Cross-Validation là tập mẫu được chia thành nhiều tập mẫu con, một phần được dùng để kiểm tra kết quả của quá trình huấn luyện hệ thống trên tập dữ liệu gồm các phần còn lại. Số lượng tập mẫu con do người khai thác hệ thống quyết định.
Mục đích thực nghiệm là mong muốn tìm ra một thuật toán có độ chính xác cao nhất có thể ứng với tập dữ liệu mẫu đã thu thập được để áp dụng vào việc dự đoán các thể hiện mới trong tương lai.
CHƯƠNG 4
THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ DỮ LIỆU 4.1. Cài đặt hệ thống
4.1.1. Thuật toán áp dụng
Trong ứng dụng được xây dựng của bài thu hoạch này sử dụng thuật toán phân lớp Naïve Bayes; và thuật toán Kmeans để gom cụm dữ liệu.
Giao diện chính của chương trình
Chức năng của giao diện:
Cho phép người dùng chọn ứng dụng để thử nghiệm và thoát khỏi chương trình.
Giao diện About chương trình
Giao diện thử nghiệm thuật toán Kmeans
+ Open File: Mở tập dữ liệu mẫu. + Save File: Xuất file kết quả.
+ X, Y: Nhập tạo độ X, Y vào textbox +Add: Thêm điểm vào đồ thị.
+ Create Random Numpoints: Tạo bảng điểm ngẫu nhiên và add vào đồ thị. +Run: Chạy thuật toán Kmean để gom cụm.
+Clear: Xoá màn hình và vẽ lại đồ thị.
Giao diện gom cụm theo Kmeans
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1. Kết luận
Bài thu hoạch đã trình bày được các vấn đề cơ bản về khám phá tri thức, khai phá dữ liệu, máy học và gom cụm dữ liệu; các thuật toán và phương pháp gom cụm; nghiên cứu một số kỹ thuật phân lớp cơ bản trong khai phá dữ liệu, đó là phương pháp phân lớp cây quyết định với thuật toán: C4.5, phương pháp xác xuất Naïve Bayes và cài đặt thử nghiệm được thuật toán gom cụm Kmeans.
Trong quá trình hoàn thành bài thu hoạch này, dù đã đạt được những kiến thức nhất định, nhưng em nhận thấy vẫn còn rất nhiều tìm ẩn trong lĩnh vực Khai phá dữ liệu.
2. Hướng phát triển : Do những hạn chế về kiến thức và thời gian nên tôi mới chỉ đáp ứng phương pháp gom cụm k-means trên tập các điểm, chưa thể thực hiện bằng các phương pháp gom cụm khác và trên các lĩnh vực khác. Trong thời gian tới em sẽ cố
gắng phát triển hệ thống trên để có thể áp dụng cho các mô hình kinh doanh doanh nghiệp hiện nay.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1]. PGS-TS. Đỗ Phúc, “Bài giảng Data Mining – Data Warehouse”.
[2]. Hoàng Thị Lan Giao (2010), chuyên đề khai phá dữ liệu trường Đại Học Khoa Học Huế.
Tiếng Anh
[3]. Heikki Mannila, Association Rules, 1996.
[4]. Ho Tu Bao, Introduction to Knowledge Discovery and Data Mining. (1996), Institude of Information Technology National center for Natural Science and Technology.
[5]. John Ross Quilan (1990), “Decision trees and decision making”, IEEE transactions on Man and Cybernetics, (20), pp. 339-346.
[6]. Xindong Wu, Vipin Kumar, “The Top Ten Algorithms in Data Mining”, Chapman & Hall/CRC.
[7]. Jiawei Han, University of Illinois at Urbana-Champaign, Micheline Kamber, “Data Mining: Concepts and Techniques”, Morgan Kaufmann Publisher.
[8]. Website http://www.cs.waikato.ac.nz/ml/weka