Khái quát về phân lớp dữ liệu Trong công việc con người ngày một tạo ra nhiều dữ liệu có kích thước lớn và có rất nhiều thông tin ẩn số có thể sử dụng để tạo nên những quyết định, chiế
Trang 1Mẫu 3 Trang phụ bìa luận văn (title page)
ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
PHẠM MẠNH HÙNG
PHÂN LỚP DỮ LIỆU SỬ DỤNG LOGIC MỜ
LuËn v¨n th¹c SÜ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2012
Trang 2ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
PHẠM MẠNH HÙNG
PHÂN LỚP DỮ LIỆU SỬ DỤNG LOGIC MỜ
Chuyªn ngµnh: Khoa học máy tính M· sè: 60 48 01
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Ũ MẠNH XUÂN
THÁI NGUYÊN - 2012
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan toàn bộ nội dung trong luận văn hoàn toàn theo đúng nội dung của đề cương đã đăng ký và nội dung các phần trích lục tài liệu hoàn toàn chính xác Nếu có sai sót gì tôi xin hoàn toàn chịu trách nhiệm
Người viết
Phạm Mạnh Hùng
Trang 5
MỤC LỤC
LỜI CAM ĐOAN i
DANH MỤC CÁC HÌNH v
DANH MỤC CÁC BẢNG vi
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU 3
1.1 Khái quát về phân lớp dữ liệu 3
1.1.1 Các bước tiến hành phân lớp dữ liệu 4
1.1.2 Chuẩn bị dữ liệu 6
1.1.3 Làm sạch dữ liệu 7
1.1.4 Phân tích dữ liệu 7
1.1.5 Chuyển đổi dữ liệu 7
1.1.6 So sánh các mô hình phân lớp 8
1.2 Phân lớp dữ liệu với kỹ thuật cây quyết định 8
1.2.1 Khái niệm về cây quyết định 8
1.2.2 Giải thuật 9
1.2.3 Rút luật phân lớp từ cây quyết định 10
1.2.4 Ưu điểm và hạn chế của cây quyết định 11
1.3 Phân lớp dữ liệu với kỹ thuật mạng Bayes 12
1.3.1 Định lý Bayes 12
1.3.2 Phân loại Bayes ngây thơ (Bayes đơn giản) 12
1.4 Phân lớp dữ liệu với kỹ thuật mạng nơ-ron 13
1.4.1 Cơ sở về mạng nơ-ron 13
1.4.2 Cấu trúc và mô hình mạng nơ-ron 14
1.4.3 Dạng toán học của tổng liên kết 15
1.4.4 Dạng của hàm a(f) - Hàm hoạt tính phi tuyến 15
1.5 Phân lớp dữ liệu bằng Fuzzy C- MEANS (FCM) 17
1.6 Phân lớp dữ liệu bằng WEKA 19
1.6.1 Giới thiệu chung 19
1.6.2 Ứng dụng của phần mềm Weka 3.7.5 vào bài toán phân lớp dữ liệu điểm của học sinh 21
Trang 61.7 Kết luận chương 1 23
CHƯƠNG 2: PHÂN LỚP DỮ LIỆU SỬ DỤNG LOGIC MỜ 24
2.1 Tập mờ: 24
2.1.1 Lý thuyết tập mờ 24
2.1.2 Khái niệm tập mờ 25
2.1.3 Một số định nghĩa cơ bản 27
2.1.4 Các phép toán trên tập mờ 29
2.2 Quan hệ mờ 31
2.2.1 Khái niệm chung 31
2.2.3 Các phép hợp thành mờ 38
2.3 Suy diễn mờ 39
2.3.1 Phép suy diễn: “if P then Q” 39
2.3.2 Phép suy diễn “if P then Q else Q1” 40
2.4 Logic mờ 40
2.4.1 Mở đầu 40
2.4.2 Biến ngôn ngữ và mệnh đề mờ 41
2.4.3 Các phép kết nối 43
2.5 Phân lớp dữ liệu dựa trên quan hệ mờ 45
2.5.1 Cơ sở lí thuyết 45
2.5.2 Phân hoạch các đối tượng mờ trong bài toán thực tế 45
2.5.3 Quan hệ mờ trong phân lớp dữ liệu 46
CHƯƠNG 3: CÀI ĐẶT THỬ NGHIỆM 50
3.1 Khái niệm chung bài toán phân lớp 50
3.2 Bài toán minh họa sự phân lớp các đối tượng mờ 51
3.2.1 Phát biểu bài toán 51
3.2.2 Thuật toán 51
3.3 Thử nghiệm bài toán ứng dụng phân lớp bằng logic mờ 52
3.4 Kết quả thử nghiệm 55
KẾT LUẬN VÀ KIẾN NGHỊ 61
TÀI LIỆU THAM KHẢO 63
Trang 7DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Trang 8DANH MỤC CÁC HÌNH
Hình 1.1: Quá trình phân lớp dữ liệu và bước xây dựng mô hình phân lớp 4
Hình 1.2: Quá trình phân lớp dữ liệu - ước lượng độ chính xác của mô hình 6
Hình 1.3: Quá trình phân lớp dữ liệu - phân lớp dữ liệu mới 6
Hình 1.4: Cây quyết định mua máy tính của sinh viên 10
Hình1.5: Minh hoạ về một nơ- ron 14
Hình1.6: Sự liên kết của hai nơ-ron 15
Hình1.7: Giao diện ban đầu của phần mềm WEKA 19
Hình 2.1: Khái niệm tập mờ 28
Hình2.2: Các tập mờ biểu diễn các giá trị ngôn ngữ: “Chậm”, “Trung bình" và “Nhanh” 42 Hình 2.3: Tập mờ “tuổi trẻ” 43
Trang 9DANH MỤC CÁC BẢNG
Bảng 1.1: Bảng mua máy tính của sinh viên 9
Hình 1.3: Hình minh họa đổi đuôi XLS sang CSV (comma delimited) 21
Bảng 1.4: Bảng dữ liệu đầu vào để phân lớp bằng WEKA 22
Bảng1.3: Bảng phân lớp các trường dữ liệu WEKA 22
Bảng 3.1: Bảng điểm học sinh 53
Bảng 3.2: Ma trận khoảng cách Hamming 55
Bảng 3.3: Ma trận phân lớp Hamming 57
Trang 10MỞ ĐẦU
Phân lớp dữ liệu là một bài toán thường gặp trong đời sống hàng ngày Chẳng hạn người ta phân loại học lực sinh viên dựa vào điểm trung bình từng học kỳ hoặc phân chia theo từng vùng lãnh thổ, phân loại các bệnh tật thường gặp, các cách phân loại như vậy đều xuất phát từ việc xác định một quan hệ tương đương trên tập các đối tượng đang xét Tuy nhiên phân lớp thông qua quan hệ tương đương thông thường mặc dù thuận tiện, dễ lập trình, song thiếu mềm dẻo và đôi khi không phản ánh đúng thực chất đối tượng Chẳng hạn một sinh viên có điểm trung bình 6,9 thì được xếp loại trung bình, đồng hạng với người có điểm 5,0; song người có điểm trung bình 7,0 lại xếp hạng khá! Tương tự như vậy, trong đời sống người ta vẫn phân loại một cách “tương đối” chẳng hạn như “những người cao” Logic mờ được
ra đời và phát triển dựa trên lý thuyết tập mờ đã giúp cho tin học có cái nhìn gần với thực tiễn hơn, các công cụ của logic mờ cho phép xử lý những thông tin không đầy đủ, không chính xác, chẳng hạn việc tìm hai đối tượng “giống nhau” chứ không phải “bằng nhau” như với cách tìm kiếm thông thường
Nhằm tìm hiểu kỹ hơn về logic mờ và ứng dụng trong bài toán phân lớp dữ liệu, giúp cho việc phân lớp mềm dẻo hơn, gần với đời thường hơn, tôi đã lựa chọn đề tài “Phân lớp dữ liệu sử dụng logic mờ” làm đề tài luận văn của mình
Mục đích của đề tài:
Mục đích của đ ề tài này nh ằm nghiên cứu lý thuyết tập mờ , quan hệ mờ, logic
mờ, trên cơ sở đó nghiên cứu phương pháp phân lớp dữ liệu dựa trên logic mờ đồng thời minh hoạ trên một số bài toán cụ thể Nội dung chính của luận văn gồm
ba chương
Chương 1: Tổng quan về phân tích dữ liệu
Chương này trình bày khái quát về một số kỹ thuật phân lớp, cách phân lớp thông thường đã sử dụng Chương này cũng đưa ra một số ví dụ minh họa cụ thể
Chương 2: Phân lớp dữ liệu sử dụng logic mờ
Chương này trình bày khái niệm tập mờ, các phép toán trên tập mờ và quan hệ
mờ cùng với những tính chất cơ bản của quan hệ mờ mệnh đề mờ, các phép toán logíc mờ, đặc biệt là các luật logic mờ làm cơ sở cho chương sau
Trang 11Chương 3: Cài đặt thử nghiệm
Chương này trình bày bài toán thử nghiệm và kết quả cụ thể
Trên cơ sở kiến thức đã học và việc tổng hợp tài liệu , sách báo, tạp chí tôi đã cố gắng trình bày những nội dung cô đọng và cơ bản nhất liên quan đến đề tài Trong quá trình thực hiện đề tài này mặ c dù đã có sự nỗ lực cao của bản thân song do trình độ , thời gian và kinh nghi ệm còn hạn chế nên lu ận văn không tránh khỏi những sai sót Vì vậy, tôi rất mong sự đóng góp của thầy cô giáo và cùng b ạn bè đồng nghiệp
Em xin trân trọng cảm ơn!
Thái Nguyên, ngày 25 tháng 6 năm 2012
Học viên
Phạm Mạnh Hùng
Trang 12CHƯƠNG 1 TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU
Hiện nay kĩ thuật phân lớp dữ liệu trong Khai Phá Dữ Liệu là một trong những vấn đề nghiên cứu với nhiều mở rộng tập trung chủ yếu vào thống kê, máy học và mạng nơ-ron
Kĩ thuật phân lớp được đánh giá là một kĩ thuật khai phá dữ liệu được sử dụng rộng rãi nhất Sự kết hợp của kỹ thuật phân lớp và cơ sở dữ liệu là một lĩnh vực quan trọng vì có tính uyển chuyển cao, với những ý nghĩa và vai trò hết sức quan trọng của kĩ thuật phân lớp nói trên, nên trong chương 1 này trước tiên em nêu một số những kĩ thuật phân lớp, những cách tiếp cận khác nhau đối với kỹ thuật phân lớp cùng với những tìm hiểu và đánh giá những cải tiến của kĩ thuật phân lớp trong thời gian gần đây
1.1 Khái quát về phân lớp dữ liệu
Trong công việc con người ngày một tạo ra nhiều dữ liệu có kích thước lớn và
có rất nhiều thông tin ẩn số có thể sử dụng để tạo nên những quyết định, chiến lược thông minh, đúng đắn, phù hợp với yêu cầu thực tế Phân lớp dữ liệu (classification) là một dạng của phân tích dữ liệu, thao tác với những đối tượng dữ liệu mà có bộ giá trị biết trước dùng để trích ra những lớp dữ liệu quan trọng, hay
dự đoán những khuynh hướng phát triển trong tương lai
Phân lớp dữ liệu là xếp đối tượng dữ liệu vào một trong các lớp đã được xác định trước Tức là có 1 tập các đối tượng và theo một tiêu chí nào đó chia các đối tượng này thành các lớp, sao cho các phần tử trong cùng một lớp thì được hiểu là tương đương nhau theo một nghĩa nào đó
Nhiều phương pháp phân lớp dữ liệu được đề xuất bởi các nhà nghiên cứu trong các lĩnh vực như máy học (machine learning), hệ chuyên gia (expert system), thống kê (statistics),… hầu hết giải thuật sử dụng để phân lớp dữ liệu với kích thước nhỏ Các nghiên cứu về khai phá dữ liệu đã phát triển nhanh chóng, phù hợp phân lớp cho các gói cơ sở dữ liệu lớn
Trang 13Một số kỹ thuật cơ bản để phân lớp dữ liệu: sử dụng phân lớp cây quyết định (decision tree classification), bộ phân lớp Bayesian (Bayesian classifier), mạng nơ ron (neural network), mô hình phân lớp K_hàng xóm gần nhất (knearest neighbor classifier), phân tích thống kê, các thuật toán di truyền, phương pháp tập thô (rough set approach)
1.1.1 Các bước tiến hành phân lớp dữ liệu
Kĩ thuật phân lớp được tiến hành bao gồm 2 bước: Xây dựng mô hình và sử dụng mô hình
Bước 1: Xây dựng mô hình (learning)
Xây dựng mô hình mô tả một tập các dữ liệu hay các khái niệm định trước Đầu vào là một tập dữ liệu có cấu trúc mô tả bằng các thuộc tính và được tạo ra từ các
bộ giá trị của các thuộc tính đó Mỗi bộ giá trị được gọi chung là một phần tử dữ liệu (data tuple) hay các mẫu (samples), đối tượng (object) bản ghi (record) hay truờng hợp case Trong tập dữ liệu này, mỗi phần tử dữ liệu được giả sử thuộc về một lớp định trước, lớp ở đây là giá trị của một thuộc tính được chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp (class lable attribute) Đầu ra thường là các quy tắc phân lớp dưới dạng luật if - then, cây quyết định, công thức logic hay mạng nơ-ron Mô hình mô tả như sau:
Hình 1.1: Quá trình phân lớp dữ liệu và bước xây dựng mô hình phân lớp
Trang 14Mô tả một tập những lớp được định nghĩa trước trong đó: mỗi bộ hoặc mẫu
được gán thuộc về một lớp được định nghĩa trước như là được xác định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sử dụng trong việc sử dụng mô hình được gọi là tập huấn luyện Mô hình được biểu diễn là những luật phân lớp, cây quyết định và những công thức toán học
Bước 2: Sử dụng mô hình (classification)
Sử dụng mô hình phục vụ cho mục đích phân lớp dữ liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến tức là dùng mô hình xây dựng ở bước trước để phân lớp dữ liệu mới Trước khi sử dụng mô hình người ta thường phải đánh giá tính chính xác của mô hình trong đó, nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớp của mô hình, độ chính xác là phần trăm của tập hợp mẫu kiểm tra mà phân loại đúng bởi mô hình, tập kiểm tra là độc lập với tập huấn luyện
Phân lớp dữ liệu là một hình thức học có giám sát: tập dữ liệu huấn luyện (quan sát, thẩm định…) đi đôi với những nhãn lớp chỉ định quan sát, những dữ liệu mới được phân lớp dựa lên tập huấn luyện Ngược lại hình thức học không giám sát Dùng mô hình ở bước trước để phân lớp dữ liệu mới với độ 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 Holdout là một kĩ thuật đơn giản để ước lượng độ chính xác đó Kỹ thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu đã được gán nhãn lớp Các mẫu này được chọn ngẫu nhiên và độc lập với các mẫu trong tập dữ liệu đào tạo Độ chính xác của mô hình trên tập dữ liệu kiểm tra là tỉ lệ phần trăm các mẫu trong tập dữ liệu kiểm tra được mô hình phân lớp đú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 khả quan vì mô hình luôn có xu hướng quá vừa dữ liệu tức là 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 đó cần sử dụng một tập dữ liệu đào tạo Nếu như độ chính xác của
mô hình là chấp nhận được thì mô hình sẽ được sử dụng để phân lớp những dữ liệu tương lai hay những dữ liệu chưa biết giá trị của thuộc tính phân lớp
Trang 15Hình 1.2: Quá trình phân lớp dữ liệu - ước lượng độ chính xác của mô hình
Trong mô hình phân lớp, thuật toán phân lớp dữ liệu dữ vai trò trung tâm, quyết định sự thành công của mô hình phân lớp nên quan trọng 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ó thể mở rộng
Hình 1.3: Quá trình phân lớp dữ liệu - phân lớp dữ liệu mới
1.1.2 Chuẩn bị dữ liệu
Tiền xử lý dữ liệu cho quá trình phân lớp là việc cần thiết đầu tiên quyết định việc áp dụng đƣợc hay không của mô hình phân lớp Quá trình trên giúp cải thiện chính xác, tính hiệu quả và cả khả năng mở rộng của mô hình phân lớp
Trang 16Quá trình này gồm một số công việc sau:
1.1.3 Làm sạch dữ liệu
Đây là quá trình tiền xử lý dữ liệu để gỡ bỏ, lọc và loại bỏ nhiễu, cách xử lý các giá trị bị khuyết Nghĩa là do dữ liệu liên quan đến việc xử lý lỗi (noise) và giá trị thiếu (missing value) ở trong dữ liệu đầu Noise 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, có thể dùng kỹ thuật làm trơn
xử lý Missing value là những ô không có giá trị của các thuộc tính lỗi này có thể
có trong quá trình nhập liệu hoặc giá trị thuộc tính đó không có, có thể xử lý 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ị mà có thể sảy ra nhất dựa trên thống kê Tuy thuật toán phân lớp đều có cơ chế xử lý với những giá trị lỗi và thiếu trong tập dữ liệu, có thể nói bước tiền xử lý này làm giảm sự hỗn độn trong quá trình xây dựng mô hình phân lớp, giúp cải thiện độ chính xác, hiệu suất và khả năng mở rộng của phân lớp dữ liệu
1.1.5 Chuyển đổi dữ liệu
Biến đổi dữ liệu: dữ liệu có thể tổng quát hóa tới các mức khái niệm cao hơn và rất hữu ích khi các thuộc tính có giá trị liên tục Dữ liệu cũng có thể được tiêu chuẩn hóa (khi sử dụng mạng nơ-ron hay các phương pháp dùng phép đo khoảng cách trong bước học)
Trong quá trình tiền xử lý việc khái quát hóa dữ liệu lên mức khái niệm cao hơn
là cần thiết, đặc biệt hữu ích với những thuộc tính liên tục (continuous attribute
Trang 17hay numeric attribute) Ví dụ các giá trị của thuộc tính Học lực khái quát hóa
thành các dãy giá trị rời rạc: trung bình, khá, giỏi Việc khái quát hóa làm cô đọng ngắn gọn mà vẫn phản ánh đầy đủ dữ liệu ban đầu Do đó mà các thao tác vào/ra liên quan đến quá trình xây dựng mô hình phân lớp sẽ giảm
1.1.6 So sánh các mô hình phân lớp
Tùy từng ứng dụng cụ thể cần chọn mô hình phân lớp phù hợp trên cơ sở căn
cứ vào sự so sánh các tiêu chuẩn sau của mỗi mô hình phân lớp:
Các phương pháp phân lớp có thể so sánh và đánh giá theo tiêu chí sau đây:
+ Độ chính xác dự đoán (Predictive accuracy): Là khả năng của mô hình để dự đoán chính xác nhãn lớp của dữ liệu mới hay dữ liệu chưa biết
+ Tốc độ (speed): Là những chi phí tính toán liên quan đến quá trình tạo ra và
sử dụng mô hình
+ Bền vững hay sức mạnh: Là khả năng mô hình tạo ra những dự đoán đúng
từ những dữ liệu noise hay dữ liệu với những giá trị thiếu
+ Co dãn hay khả năng mở rộng (scalability): Là khả năng thực thi hiệu quả trên lượng dữ liệu lớn của mô hình dữ liệu đã xây dựng
+ Tính hiểu được (interpretability): Là mức độ hiểu và hiểu rõ những kết quả sinh ra bởi mô hình dữ liệu đã xây dựng
1.2 Phân lớp dữ liệu với kỹ thuật cây quyết định
1.2.1 Khái niệm về cây quyết định
Cây quyết định là cấu trúc cây trong đó có:
+ Nút trong bằng phép kiểm tra trên một thuộc tính hay tên thuộc tính được chọn để phân lớp
+ Nhánh của cây bằng đầu ra của một phép kiểm tra hay các giá trị tương ứng của thuộc tính được chọn ở bước đó
+ Nút lá là một nhãn phân lớp hoặc sự phân chia của lớp hay là một trong các giá trị của thuộc tính kết quả
Mỗi lá gắn với một nhãn lớp, mỗi nút quyết định mô tả một phép thử X nào đó, mỗi nhánh của nút này tương ứng với một khả năng của X Nút cao nhất được gọi
là nút gốc Cách tạo cây quyết định bao gồm hai giai đoạn
Trang 18Giai đoạn 1: Xây dựng cây
+ Bắt đầu tất cả các mẫu huấn luyện đều ở gốc
+ Phân chia các mẫu dựa trên giá trị của các thuộc tính đƣợc chọn
+ Kiểm tra các thuộc tính đƣợc chọn lựa trên một độ đo thống kê
Giai đoạn 2: Thu gọn cây, tiến hành xác định và loại bỏ những nhánh nhiễu hoặc tách khỏi nhóm
Đầu ra: Cây quyết định (Decision tree)
Xét ví dụ về mua máy tính sau:
Bảng 1.1: Bảng mua máy tính của sinh viên
máy tính
1 <30 Cao Không Khá tốt Không
2 <30 Cao Không Tốt Không
Trang 19Từ đó tập huấn luyện trên ta có thể phân lớp: tuổi, sinh viên, độ tín nhiệm thành cây quyết định như sau:
Hình 1.4: Cây quyết định mua máy tính của sinh viên
1.2.3 Rút luật phân lớp từ cây quyết định
Rút luật từ cây quyết định:
+ Mỗi một đường dẫn từ gốc đến nút lá trong cây tạo thành một luật, luật này
có vế trái là một bộ giá trị của các thuộc tính được chọn để phân lớp, vế phải là một trong các giá trị của thuộc tính kết quả
+ Tri thức từ cây quyết định có thể được trích và trình bày dưới dạng luật dưới dạng các luật phân loại If – Then
+ Một luật tương ứng với một đường đi từ gốc tới các nút lá
+ Mỗi cặp thuộc tính - giá trị dọc theo đường đi tạo thành một luật liên kết trong tiền đề luật (phần If) Nút lá là lớp dự đoán, thiết lập nên mệnh đề kết quả luật (phần Then) Các luật If - Then giúp hiểu hơn, đặc biệt nếu cây cho trước là rất lớn
Luật được trích rút:
If tuổi=”< 30” And Sinh viên= “không” Then mua máy tính = “không”
If tuổi =”<30” And Sinh viên=”Có” Then mua máy tính = “có”
If tuổi = “30-40” Then mua máy tính = “có”
If tuổi =”>40” And độ tín nhiệm = “tốt” then mua máy tính = “Có”
Trang 20If tuổi =”>40” And độ tín nhiệm = “khá tốt” then mua máy tính = “không”
Tương tự, ta có thể phân lớp dựa vào: Sinh viên, thu nhập và độ tín nhiệm để trích
rút luật từ cây quyết định
1.2.4 Ưu điểm và hạn chế của cây quyết định
Ưu điểm:
+ Dễ chọn các thuộc tính để phân lớp dữ liệu
+ Dễ dàng trong việc trích rút luật từ cây quyết định
+ Dễ thực hiện với những tập cơ sở dữ liệu nhỏ và vừa
Hạn chế:
+ Khó thao tác được trên tập cơ sở dữ liệu, các mẫu huấn luyện lớn do trên thực tế việc xử lý các mẫu huấn luyện lớn (có hàng triệu mẫu huấn luyện trở lên) + Các mẫu huấn luyện tập trung ở bộ nhớ chính
1.2.5 Độ lợi thông tin (Information gain)
Độ lợi thông tin (Information gain): được dùng để lựa chọn thuộc tính kiểm
định tại mỗi nút trên cây Phép đo như vậy được gọi là Độ lợi thông tin
(Information gain) hay phép đo chất lượng thông tin Chọn thuộc tính có chỉ số độ
lợi thông tin lớn nhất
Cho P và N là hai lớp và S là một tập dữ liệu có p phần tử của lớp P và n phần tử của lớp N
Khối lượng thông tin cần thiết để quyết định một mẫu bất kỳ có thuộc về lớp P hay
N hay không là:
Cho các tập { S1, S2,…,Sk) là một phân hoạch trên tập S, khi sử dụng thuộc tính A Cho mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N
Trang 21Entropy hay thơng tin mong muốn cần thiết phân lớp các đối tượng trong tất cả các
cây con Si là ( ) ( , )
1
i i k
i
i
n p
n p A
Thơng tin cĩ được việc phân nhánh trên thuộc tính A là Gain (A)= I (p,n) – E (A)
1.3 Phân lớp dữ liệu với kỹ thuật mạng Bayes
Phân loại Bayes dựa trên định lý Bayes Một Classifier đơn giản của Bayes đĩ là Nạve Bayesian So với việc thực thi trên mạng Nơ-ron, cây quyết định, classifier Bayesian đưa ra cĩ độ chính xác cao và nhanh khi áp dụng vào cơ sở dữ liệu lớn hay các tập huấn luyện lớn
1.3.1 Định lý Bayes
Định lý Bayes cho phép tính xác suất ngẫu nhiên C khi biết sự kiện liên quan tới X đã xảy ra được ký hiệu là P(C/X) được đọc là xác suất của C nếu cĩ X và được gọi là xác suất cĩ điều kiện
Định lý Bayes như sau:
Trong đĩ: P(X) là hằng số cho tất cả các lớp
P(C) bằng tần số liên quan thuộc lớp C
1.3.2 Phân loại Bayes ngây thơ (Bayes đơn giản)
Bayes ngây thơ làm việc như sau:
Mỗi mẫu dữ liệu được đại diện bởi một vector đặc trưng n-chiều, X=(x1, x2…xn)
mơ tả n phép đo cĩ được trên mẫu n thuộc tính tương ứng A 1 , A 2 ,…,A n
Giả sử rằng cĩ m lớp C1, C2,…,Cn cho trước một mẫu dữ liệu chưa biết cĩ nhãn là
X, classifier sẽ dự đốn X thuộc về lớp cĩ xác suất hậu nghiệm cao nhất, đối với điều kiện X Classifier Bayesian ngây thơ ấn định một mẫu khơng biết X vào một lớp Ci khi và chỉ khi:
P(C i \X )> P(C j \X) với 1≤ j ≤ m, j ≠ i
Do vậy cần tìm P(C i \X) lớn nhất Theo định lý Bayes:
) (
) , ( )
| (
) (
) , ( )
| (
C P
X C P C X P
X P
X C P X C P
)(
)(
*),()
|(
X P
C P C X P X C
Trang 22) (
) ( )
\ ( )
\ (
X P
Ci P Ci X P X C
+ P(X) không đổi với mọi lớp, P(C i ) = s i /s( s i là số lượng các mẫu huấn luyện của lớp Ci và s là tổng số các mẫu huấn luyện), P(X|C i )P(C i ) cần được cực đại
+ Cho trước các tập dữ liệu với nhiều thuộc tính, việc tính P(X|Ci) sẽ rất tốn
kém Để giảm tính toán khi đánh giá P(X\Ci), giả định ngây thơ của độc lập có
điều kiện lớp được thiết lập Điều này làm cho giá trị của các thuộc tính là độc lập
có điều kiện với nhau, cho trước nhãn lớp của mẫu, tức là không có mối quan hệ độc lập giữa các thuộc tính Vì thế,
X P
1
)
\ ( )
\ (
P(x1\Ci), P(x 2 \C i ), , P(x n \C i ) được đánh giá từ các mẫu huấn luyện với :
(a) Nếu A k là xác thực thì P(x k \Ci)= s ik /s i với s ik là số lượng các mẫu huấn
luyện của lớp C i có giá trị x k tại A k và S i là số lượng các mẫu huấn luyện
thuộc về C i
(b) Nếu A k là giá trị liên tục thì thuộc tính được giả định có phân phối Gaussian Bởi vậy,
2 2
2 ) (
2
1 )
, , ( )
\
i
c x
i i
i k i
C C
C x g C x
Với g(x k , μC i ,σc i ) là hàm mật độ ( thông thường) Gaussian của thuộc tính A k, với
μC i ,σc i đại diện cho các giá trị trung bình và độ lệch chuẩn của thuộc tính A k đối
với các mẫu huấn luyện của lớp C i
+ Để phân loại một mẫu chưa biết X, với P(X\Ci)P(Ci) được đánh giá cho lớp C i
Mẫu X được ấn định vào lớp C i khi và chỉ khi :
P(X\C i )P(C i ) > P(X\C j )P(C j ) với 1≤ j ≤ m, j ≠ i
Hay nói cách khác nó được ấn định tới lớp C i mà tại đó P(X\C i )P(C i ) cực đại
1.4 Phân lớp dữ liệu với kỹ thuật mạng nơ-ron
1.4.1 Cơ sở về mạng nơ-ron
Sự ra đời cuốn sách “ Điều khiển học, hay điều chỉnh và truyền thông trong cơ thể sống, trong máy móc” của tác giả Nobert Wieners xuất bản năm 1948 Điều
Trang 23khiển học đã đặt ra mục đích nghiên cứu áp dụng nguyên lý làm việc của hệ thống thần kinh động vật vào điều khiển bằng công cụ là trí tuệ nhân tạo và mạng nơ-ron
Sự kết hợp giữa logic mờ và mạng nơ-ron trong thiết kế hệ thống điều khiển tự động là một khuynh hướng mới, phương hướng thiết kế hệ điều khiển thông minh đó
là một hệ thống mà bộ điều khiển có khả năng tư duy như bộ não của con người
1.4.2 Cấu trúc và mô hình mạng nơ-ron
Mạng nơ-ron nhân tạo xuất phát từ việc mô phỏng hoạt động của bộ não con
người Mạng nơ-ron (Neutral network) là các mô hình tính toán chứa các đơn vị xử
lý có khả năng truyền thông với nhau bằng cách gửi các tín hiệu đến lẫn nhau thông qua các liên kết có trọng số
Mạng nơ-ron có khả năng thích nghi tức là có thể học từ các mẫu thay vì được lập trình
Cấu trúc một ron: phần xử lý cơ bản của một mạng ron sinh học là một ron có thể được chia làm 4 thành phần cơ bản sau đây: dendrites, soma, axon, và
nơ-synapses Trong đó:
Dendrites: phần nhận tín hiệu vào
Soma: hạt nhân của nơ-ron
Axon: phần dẫn ra tín hiệu xử lý
Synapses: đường tín hiệu nối tiếp giữa các nơ-ron
Hình1.5: Minh hoạ về một nơ- ron
Trang 24Để có thể xử lý thông tin hoàn hảo như bộ não của con người, các nơ-ron phải kết hợp và trao đổi thông tin với nhau
Hình1.6: Sự liên kết của hai nơ-ron
1.4.3 Dạng toán học của tổng liên kết
f
1
Dạng bình phương của hàm f:
2 1
)
(t
x w
m
j ij
j
ij
j t w x
2 1
) ) ( (
Dạng đa thức:
i
k k
j j k m
j
m
k
j ijkx x x x w
Trang 26Dạng a(f) là hàm signmoid đơn cực
e f
x = (x1,… , xp) Rp
Việc phân vùng dữ liệu dựa trên 2 khái niệm căn bản : sự không đồng dạng và tâm vùng Việc so sánh sự không đồng dạng giữa 2 đối tƣợng X và X’ đƣợc biểu thị bởi quan hệ D(X,X’) trong đó đảm bảo tính đối xứng:
D(X,X’)= D(X’,X)
Trong tính toán D(X,X’) sẽ cho chúng ta giá trị thực thể hiện mức độ “gần
nhau” giữa 2 đối tƣợng Một cách hiển nhiên :
Trang 27,(
' D x x x
x D
),(x y 22 x y
Việc xây dựng các suy luận trong Fuzzy C-means đƣợc tiến hành
Tiến hành phân chia
i
v x D V
G
J
D (x,v i ) = || x - v i ||22
Trang 281.6 Phân lớp dữ liệu bằng WEKA
1.6.1 Giới thiệu chung
WEKA là một phần mềm viết bằng Java JDK thể hiện các giải thuật Data Mining (khai thác dữ liệu) thuộc lĩnh vực Machine Learning (máy học)
Hình1.7: Giao diện ban đầu của phần mềm WEKA
Các môi trường chính:
Simple CLI Giao diện đơn giản kiểu dòng lệnh (như MS - DOS)
Explorer Môi trường Cho phép sử dụng tất cả các khả năng cuae WEKA để
khám phá dữ liệu
Experimenter Môi trường cho phép tiến hành các thí nghiệm và thực hiện các
kiểm tra thống kê (statistical test) giữa các mô hình học máy
KnowledgeFlow Môi tường cho phép tương tác đồ học kiểu kéo/thả để thiết kế
các bước (các thành phần) của một thí nghiệm
Các chức năng chính của Weka Explorer thể hiện trong các thẻ (tab) của màn hình chính, bao gồm:
Preprocess: Cho phép mở, điều chỉnh, lưu một tập tin dữ liệu, thẻ này
chứa các thuật toán áp dụng trong tiền xử lý dữ liệu
Trang 29Classify: Cung cấp các mô hình phân loại dữ liệu hoặc hồi quy
Cluster: Cung cấp các mô hình gom cụm
Associate: Khai thác tập phổ biến và luật kết hợp
SelectAttributes: Lựa chọn các thuộc tính thích hợp nhất trong tập dữ liệu Visualize: Thể hiện dữ liệu dưới dạng biểu đồ (hay để xem (hiển thị) biểu đồ
tương tác 2 chiều đối với dữ liệu)
Hình 1.8: Giao diện chính của WEKA
Tiền xử lý dữ liệu:
- Dữ liệu có thể được nhập vào (imported) từ tập tin có khuôn dạng: ARFF, CSV (comma delimited)
- Dữ liệu có thể đọc vào từ một địa chỉ URL hay từ một cơ sở dữ liệu JDBC
- Các công cụ tiền xử lý dữ liệu của WEKA gọi là filters
+ Rời rạc hóa (Discretization)
+ Chuẩn hóa (Nomalization)
Trang 30+ Lấy mẫu (Re-sampling)
+ Lựa chọn thuộc tính (Attribute selection)
+ Chuyển đổi (Transforming) và kết hợp (Combining) các thuộc tính
Hình 1.3: Hình minh họa đổi đuôi XLS sang CSV (comma delimited)
Hiển thị dữ liệu giúp xác định mức độ khó khăn của bài toán
WEKA có thể hiển thị:
Mỗi thuộc tính riêng lẻ (1 –D visualization)
Một cặp thuộc tính (2 –D visualization)
Các giá trị (các nhãn) lớp khác nhau sẽ được hiển thị bằng các màu khác nhau
Thanh trượt Jitter hỗ trợ cho việc hiển thị được một cách rõ ràng, khi có nhiều ví
dụ (điểm) tập trung xung quanh một vị trí trên biểu đồ
Tính năng phóng to / thu nhỏ (bằng cách tăng giảm giá trị của PlotSize và PointSize)
1.6.2 Ứng dụng của phần mềm Weka 3.7.5 vào bài toán phân lớp dữ liệu điểm của học sinh
Cho một tập dữ liệu bảng điểm tổng kết của đại diện 9 học sinh Trường Cao đẳng Văn hoá Nghệ thuật Việt Bắc Thái Nguyên
Trang 31Tập dữ liệu bao gồm có các thông tin: Ho va ten, Toan, Ly, Hoa, Van, Su, Dia,
N.Ngu, Sinh, GDCD Sau khi đổi đuôi sang định dạng Bang diem.CSV, ta có:
Bảng 1.4: Bảng dữ liệu đầu vào để phân lớp bằng WEKA
Phân lớp dữ liệu cho trường dữ liệu môn Toán
Bảng1.3: Bảng phân lớp các trường dữ liệu WEKA
Trang 32Sau khi chọn thuộc tính phân lớp phần mềm Weka cung cấp dữ liệu phân lớp cho trường dữ liệu môn Toán như sau:
Missing (số mẫu dữ liệu thiếu giá trị): không có (đạt 0%)
Trường dữ liệu: kiểu số học (Numeric)
Minimum (giá trị nhỏ nhất): 6 điểm
Maximum (Giá trị lớn nhất): 10 điểm
Giá trị trung binh (mean): 7.667
Độ lệch chuẩn (StdDev): 1.225
Tại trường dữ liệu môn Toán được phân thành 2 lớp
Có 7 bản ghi từ 6-8 điểm và 02 bản ghi từ 8-10 điểm (Mô hình Visualze)
Tương tư như vậy đối với các môn còn lại: Lý, Hoá, Văn …
1.7 Kết luận chương 1
Chương 1 đã nêu lên được một số kỹ thuật phân lớp đã được sử dụng, từ đó thấy được những ưu điểm và hạn chế của mỗi kĩ thuật đó Những lý thuyết đó đã trở thành cơ sở quan trọng, tiền đề vững chắc để tiến tới việc nghiên cứu lý thuyết về logic mờ tiếp theo ở chương 2
Trang 33CHƯƠNG 2 PHÂN LỚP DỮ LIỆU SỬ DỤNG LOGIC MỜ
Trong thực tiễn đã có nhiều kĩ thuật dùng để phân lớp dữ liệu Tuy nhiên mỗi kĩ thuật đó lại có một số ưu nhược điểm riêng Việc tìm hiểu và phát triển thêm kĩ thuật phân lớp mới để phân lớp dữ liệu sao cho mềm dẻo hơn là rất quan trọng Những năm gần đây nhiều nước phát triển đã quan tâm nhiều đến logic mờ, có thể nói rằng vai trò và khả năng to lớn với các ứng dụng đa dạng của lý thuyết mờ đã
và đang phát triển một cách mạnh mẽ, rộng lớn và đi sâu vào cuộc sống hiện đại giúp ích cho con người
2.1 Tập mờ:
2.1.1 Lý thuyết tập mờ
Sự phát triển không ngừng của khoa học kĩ thuật đã làm tăng năng lực tư duy,
sự suy luận của con người Thế giới hiện tại và tri thức khoa học cần khám phá là
vô hạn và vô cùng phức tạp, nhưng ngôn ngữ cũng như năng lực tư duy, nhận thức
và biểu diễn của con người chỉ là hữu hạn
Con người truyền tin cho nhau bằng ngôn ngữ tự nhiên, nhưng bản chất ngôn ngữ tự nhiên (tiếng Việt, tiếng Anh, tiếng Trung hay tiếng Pháp…) chứa đựng tính không chính xác, nhập nhằng Vấn đề đặt ra là làm thế nào máy tính hiểu được các mệnh đề , chẳng hạn: “Hoa là người điểm cao” nhưng thực chất Hoa đạt điểm mấy? 7, 8, 9, hay 10
Thông tin được sử dụng trong các hệ đếm từ 2 nguồn quan trọng: một nguồn là các thiết bị cảm nhận môi trường (các thiết bị đo đạc hiện đại), nguồn khác là các chuyên gia mô tả tri thức từ ngôn ngữ tự nhiên sang ngôn ngữ máy Liệu có một lý thuyết toán học nào cho phép chúng ta mô hình hoá thế giới hiện thực, mô tả chính xác ý nghĩa các khái niệm, chẳng hạn: “cao”, “thấp”, “nóng”, “lạnh”, “nặng”,
“nhẹ”, “già” “trẻ”…v v của ngôn ngữ tự nhiên vốn hàm chứa thông tin không chắc chắn hay không?
Yêu cầu đó đã được thực hiện Đầu tiên phải kể đến là từ bài báo về lý thuyết
tập mờ của Lofti A Zadeh công bố năm 1965 thì lý thuyết tập mờ và lý thuyết
Trang 34logic mờ đã phát triển mạnh mẽ ở Mỹ, Tây Âu và Nhật Bản Từ giữa năm 1970 đến nay với sự nhạy bén về kĩ thuật mới, các nhà nghiên cứu Nhật Bản đã tiên phong trong việc ứng dụng kỹ thuật mờ Kết quả họ đã được cấp hàng nghìn bằng sáng chế ứng dụng của tập mờ và logic mờ đặt nền móng cho việc xây dựng một loạt các lý thuyết quan trọng dựa trên cơ sở lý thuyết tập mờ sau này
Lý thuyết tập mờ cho chúng ta một công cụ toán học để mô tả các thông tin không chính xác, mang tính nhập nhằng, mờ
2.1.2 Khái niệm tập mờ
Giả sử ta có một không gian nền bao gồm tất cả các đối tượng mà chúng ta cần quan tâm Như ta đã biết một tập cổ điển (tập rõ(crisp set)) A trong một không gian nào đó có thể được xác định bằng cách liệt kê tất cả các phần tử của nó, chẳng hạn A1 = {1,2,3,5,7,11} hoặc A2 = {xe máy, 7, nhà, } Nếu không liệt kê ra hết được các phần tử của tập A , ta có thể chỉ ra những tính chất chính xác mà các phần tử của tập A phải thoả mãn chẳng hạn A={ x| x là số nguyên tố} Ta cũng biết rằng một tập rõ hoàn toàn được xác định bởi hàm đặc trưng hay còn gọi là hàm thuộc (membership function) Hàm thuộc (hay hàm đặc trưng) tập rõ A được
ký hiệu là A(x ) đó là hàm 2 trị (1/0) nó nhận giá trị 1 trên các đối tượng x thuộc tập A và giá trị 0 trên các đối tượng x không thuộc tập A Các tập rõ có một ranh giới sắc nét, rõ ràng giữa các phần tử thuộc và các phần tử không thuộc nó
Ví dụ 1: A là tập những người có độ tuổi dưới 18, là một tập hợp kinh điển Mỗi
người chỉ có 2 khả năng rất rõ ràng hoặc là phần tử của A hoặc không
Tuy nhiên, ta xét
~
A gồm các phần tử là các sinh viên học khá Khi này sẽ không
có ranh giới rõ ràng để khẳng định một người có là phần tử của
~
A hay không và ranh giới đó gọi là mờ Ta chỉ có thể nói một người sẽ thuộc tập A với mức độ nào
đó Giả sử 1 sinh viên có điểm tổng kết 6.7 thuộc về tập
Trang 35Hàm A Hàm thuộc (hay hàm đặc trưng) tập mờ A còn A(x) gọi là mức độ thuộc của x vào tập mờ A Như vậy tập mờ là sự tổng quát hoá tập rõ bằng cách cho phép hàm thuộc lấy giá trị bất kỳ trong khoảng, đoạn [0,1] nhằm xác định độ phụ thuộc của phần tử vào tập hợp (giá trị của nó càng lớn, càng gần 1 thì chứng tỏ phần tử ấy càng thuộc tập hợp ,càng gần về 0 chứng tỏ độ thuộc của nó càng ít) Trong khi hàm thuộc của tập rõ chỉ lấy 2 giá trị 0 hoặc 1
Người ta biểu diễn tập mờ A trong không gian nền U bởi tập tất cả các cặp phần tử
và mức độ thuộc của nó
A = { x, A (x)) | x U }
Ví dụ 2: Giả sử lớp 10A có điểm thi từ 0 đến 10, vậy có U = { 0, 1, 2,…., 10 } và
ta xác định có 3 tập mờ là:A = “điểm khá”; B = “điểm trung bình”; C= “điểm kém”
Bằng cách cho mức độ thuộc của các điểm vào mỗi tập mờ trong bảng sau đây:
Bảng 2.1: Bảng mức độ thuộc của các điểm vào mỗi tập mờ
Trang 36Nếu không gian nền U là rời rạc và hữu hạn thì tập mờ A còn được biểu diễn như sau:
U x
A0.700.310.5
Tóm lại: Tập mờ là sự mở rộng trực tiếp của tập hợp kinh điển, một tập hợp
kinh điển A nào đó trong không gian X có ranh giới rõ ràng Còn với tập mờ thì không có ranh giới rõ ràng
Tập mờ là sự khái quát của tập rõ, khi cho 1 tập hợp và dấu hiệu để phân biệt được phần tử nằm trong hay không nằm trong tập hợp
Các tập mờ được đưa ra để biểu diễn các tính chất không chính xác, không rõ ràng,
mờ chẳng hạn các tính chất “người già” , “ số gần 9” , “áp suất cao:, “nhiệt độ thấp”, “ tốc độ nhanh”
Một tính chất mờ, chẳng hạn tính chất “gần số 9” có thể mô tả bởi các tập mờ khác nhau Trong các ứng dụng chúng ta cần xác định các tập mờ biểu diễn các tính chất
mờ sao cho phù hợp với thực tế và với các số liệu thực nghiệm
A x khi x
A
,0
,1)(
Trang 37Đồ thị của một số hàm thuộc cơ bản có dạng: Hình chuông, hình tam giác, hình thang
Định nghĩa 3: Độ cao h của một tập mờ A xác định trên tập nền X là:
h = sup A( x )
Tập mờ có độ cao bằng 1 đƣợc gọi là chính tắc Ngƣợc lại là “không chính tắc
Định nghĩa 4: Miền xác định của tập mờ A (còn đƣợc gọi là giá hay support
Nhƣ vậy các khái niệm trẻ, trung niên, già là các khái niệm mờ
Mọi phần tử đều thuộc vào cả 3 tập này với mức độ nào đó: (A), (B), (C)
X [0,1] , X là tập số tự nhiên để đo độ tuổi theo năm