Một kỹ thuật trích chọn hiệu quả trong việc làm giảm kích cỡ không gian dữ liệu, loại bỏ đặc tính dư thừa, đặc tính gây nhiễu của dữ liệu đầu vào là kỹ thuật Phân tích sự khác biệt tuyến
Trang 1MỤC LỤC
Trang Trang phụ bìa
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MụC Từ VIếT TắT vi
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH viii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Lịch sử nghiên cứu 1
3 Mục đích, đối tượng và phạm vi nghiên cứu 2
4 Tóm tắt các luận điểm cơ bản của tác giả 2
5 Phương pháp nghiên cứu 3
CHƯƠNG 1.TổNG QUAN KHAI PHA Dữ LIệU, PHAN LớP Dữ LIệU 4
1.1 Khai phá dữ liệu 4
1.1.1 Khái niệm 4
1.1.2 Quá trình phát hiện tri thức 4
1.1.3 Kiến trúc của một hệ thống khai phá dữ liệu 5
1.2 Các chức năng khai phá dữ liệu 6
1.3 Trích chọn đặc trưng 9
1.4 Nhu cầu về giảm số chiều của dữ liệu 9
1.5 Các kỹ thuật giảm số chiều dữ liệu 10
1.5.1 Phân tích giá trị đơn 10
1.5.2 Kỹ thuật tạo chỉ mục tự động 10
Trang 21.5.3 Phân tích thành phần độc lập 11
1.5.4 Bản đồ tự tổ chức 11
1.5.5 Phân tích sự khác biệt tuyến tính 11
1.5.6 Phân tích sự khác biệt tuyến tính có sử dụng hàm nhân 12
1.6 Kêt luận chương 1 12
CHƯƠNG 2 KỸ THUẬT PHÂN TÍCH SỰ KHÁC BIỆT TUYẾN TÍNH DỰA TRÊN HÀM NHÂN 24
2.1 Phân tích sự khác biệt tuyến tính 24
2.1.1 Giới thiệu phân tích sự khác biệt tuyến tính 24
2.1.2 Phương pháp và cơ sở toán học 25
2.1.3 Phương sai Error! Bookmark not defined. 2.1.4 Ma trận hiệp phương sai 27
2.1.5 Hiệp phương sai 26
2.2 Thuật toán phân lớp dữ liệu sử dụng phân tích sự khác biệt tuyến tính 27
2.3 Giới thiệu hàm nhân và một số hàm nhân phổ biến 35
2.4 Điều kiện một hàm thông thường trở thành hàm nhân 36
2.5 Xây dựng hàm nhân 37
2.6 Tóm tắt và ví dụ 40
2.7 Phân tích sự khác biệt tuyến tính dựa trên hàm nhân 41
2.7.1 Giới thiệu phân tích sự khác biệt tuyến tính dựa trên hàm nhân 41 2.7.2 Các bước thực hiện bài toán Phân tích sự khác biệt tuyến tính có sử dụng hàm nhân 42
2.7 3 Phương pháp và cơ sở toán học của Phân tích sự khác biệt tuyến tính có sử dụng hàm nhân 43
2.7.4 Thuật toán phân lớp dữ liệu 45
2.8 Một số bài toán phân lớp dữ liệu Error! Bookmark not defined.
Trang 32.8.1 Giới thiệu Error! Bookmark not defined 2.8.2 Phương pháp máy học véc tơ hỗ trợ phân lớp dữ liệu Error! Bookmark not defined.
2.9 So sánh phân tích sự khác biệt tuyến tính với phân tích sự khác biệt
tuyến tính có sử dụng hàm nhân 47
2.9.1 Mục đích so sánh 47
2.9.2 So sánh 47
2.10 Minh họa phân tích sự khác biệt tuyến tính với phân tích sự khác biệt tuyến tính có sử dụng hàm nhân 48
2.10.1 Minh họa phân tích sự khác biệt tuyến tính 48
2.10.2 Minh họa phân tích sự khác biệt tuyến tính có sử dụng hàm nhân 51
2.11 Kết luận chương 2 53
CHƯƠNG 3 CÀI ĐặT THựC NGHIệM VÀ KếT QUả 54
3.1 Thực nhiệm 54
3.1.1 Ngôn ngữ lập trình 54
3.1.1.1 Đặc điểm ngôn ngữ 54
3.1.1.2 Đặc điểm mới C# 3.0 55
3.1.1.3 NET Framework 55
3.1.2 Bộ dữ liệu thực nghiệm 56
3.1.3 Thuật toán Error! Bookmark not defined. 3.1.4 Chương trình thực nghiệm 59
3.1.5 Kết luận chương 3 61
3.1.6 Kết luận thực nghiệm 61
KẾT LUẬN 62 TÀI LIỆU THAM KHẢO
Trang 4DANH MụC Từ VIếT TắT
LDA Linear Discriminant Analysis Phân tích sự khác biệt tuyến
tính
KLDA KERNEL Linear Discriminant Analysis
Phân tích sựsự khác biệt tuyến tính có sử dụng hàm nhân
TEC Total error of classification Phân lớp để tối thiểu lỗi
PCA Principal Component Analysis Phân tích thành phần chính
LSI Latent Semantic Indexing Phương pháp tạo chỉ mục tự động SVD Singular Value Decomposition Phân tích giá trị đơn
ICA Independent Component Analysis Phân tích thành phần độc lập
KPCA Kernel Principal Component
Analysis Phân tích thành phần chính có sử dụng hàm nhân
Trang 5DANH MỤC CÁC BẢNG
Bảng 2.1: Danh sách đặc trưng của các sản phẩm 29
Bảng 2.2: Bảng tính phân lớp phân tích sự khác biệt tuyến tính 33
Bảng 2.3: Bảng dữ liệu minh hoạ phân tích sự khác biệt tuyến tính 48
Bảng 2.4: Bảng dữ liệu minh hoạ phân tích sự khác biệt tuyến tính có sử dụng hàm nhân 51
Bảng 3.1: Bảng dữ liệu Lindsay 56
Bảng 3.2: Bảng Linear 56
Bảng 3.3: Bảng Wikipedia 57
Trang 6DANH MỤC CÁC HÌNH
Hình 1.1: Quá trình phát hiện tri thức 4
Hình 1.2: Kiến trúc của một hệt hống khai thác dữ liệu 5
Hình 2.1: Biểu đồ đặc trưng của sản phẩm 30
Hình 2.2: Biểu đồ đặc trưng sau tính giá trị hàm Discriminant 33
Hình 2.3: Biểu đồ phân lớp sản phẩm 34
Hình 2.4: Đồ thị biểu diễn Query Point 35
Hình 2.5: Mẫu huấn luyện từ hai lớp 38
Hình 2.6: Một ví dụ phân loại trên không gian 2 chiều 39
Hình 2.7: Ánh xạ dữ liệu sang không gian có số chiều cao hơn sẽ cho ta sự phân loại tốt hơn 41
Hình 2.8: Mô hình ba chiều phân lớp dữ liệu 15
Hình 2.9: Mô hình phân lớp biên rộng và hàm kernel 16
Hình 2.10: Mô hình phân lớp bằng đường thẳng tuyến tính 17
Hình 2.11: Ảnh hưởng của hằng số biên mềm C trên ranh giới quyết định 19
Hình 2.12 Dữ liệu trực quan hóa bằng phân tích sự khác biệt tuyến tính 50
Hình 2.13 Dữ liệu trực quan hóa bằng phân tích khác biệt tuyến tính có sử dụng hàm nhân Gaussian 50
Hình 2.14 Dữ liệu trực quan hóa bằng phân tích sự khác biệt tuyến tính 52
Hình 2.15 Dữ liệu trực quan hóa bằng phân tích sự khác biệt tuyến tính có sử dụng hàm nhânGaussian với tham số sigma bằng 0.2236 52
Hình 2.16 Dữ liệu trực quan hóa bằng phân tích sự khác biệt tuyến tính có sử dụng hàm nhân Gaussian với tham số sigma bằng 5.2236 53
Hình 3.1 Giao diện màn hình chính 59
Hình 3.2 Màn hình sau khi chọn dữ liệu huấn luyện để phân lớp 59
Hình 3.3 Đặc trưng dữ liệu đầu vào 60
Hình 3.4 Dữ liệu sau khi phân lớp 60
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài
Trong lĩnh vực khai phá dữ liệu nói chung và phân lớp dữ liệu nói riêng ta thấy vấn đề xử lý dữ liệu đóng vai trò cực kỳ quan trọng trong việc giải quyết các bài toán đặt ra Lượng dữ liệu mà chúng ta thu thập được phục vụ cho bài toán đặt
ra rất phong phú và đa dạng từ nhiều nguồn thông tin khác nhau nhờ sự phát triển mạnh mẽ của công nghệ trong khi hầu hết mỗi kỹ thuật phân lớp dữ liệu chỉ cho kết quả tối ưu trên một số kiểu dữ liệu cụ thể Lúc này kỹ thuật trích chọn đặc tính đóng vai trò quan trọng trong việc tiền xử lý dữ liệu Kỹ thuật trích chọn đặc tính giúp giảm kích cỡ không gian dữ liệu, loại bỏ đặc tính dư thừa, đặc tính gây nhiễu Nhờ
đó chất lượng dữ liệu tốt hơn, hiệu năng khai phá dữ liệu được cải thiện rõ rệt
Một kỹ thuật trích chọn hiệu quả trong việc làm giảm kích cỡ không gian dữ liệu, loại bỏ đặc tính dư thừa, đặc tính gây nhiễu của dữ liệu đầu vào là kỹ thuật Phân tích sự khác biệt tuyến tính (Linear Discriminant Analysis - LDA) LDA là kỹ thuật tìm tập các thuộc tính tốt nhất để mô tả đối tượng Vấn đề này còn gọi là trích chọn đặc trưng (Feature Extraction) hay lựa chọn đặc trưng (Feature Selection) Mục đích là từ tập các thuộc tính mô tả đối tượng ban đầu (thường rất lớn có thể hàng trăm, nghìn thuộc tính ) tìm ra tập các thuộc tính tốt nhất để biểu diễn cho đối tượng nhằm làm giảm số chiều biểu diễn đối tượng từ đó làm giảm chi phí tính toán của các mô hình khai phá dữ liệu nhưng chất lượng của mô hình không giảm đi và đồng thời cũng là tìm ra một mô hình tốt nhất để phân lớp dữ liệu
Kỹ thuật phân tích sự khác biệt tuyến tính dựa trên hàm nhân được đưa ra giúp ta có thể chọn ra những đặc tính tốt nhất mang lại hiệu năng cao hơn nữa cho bài toán phân lớp dữ liệu
2 Lịch sử nghiên cứu
Phân tích sự khác biệt tuyến tính là một dạng tổng quát của phân tích phương sai ANOVA được phát minh bới Ronald Aylmer Fisher(17/2 /1890 – 29/7/1962) trên cơ sở phân tích kho dữ liệu về nghiên cứu cây trồng tại Viện nghiên
Trang 8cứuRothamsted trong 14 năm từ năm 1919 Kỹ thuật này được sử dụng rộng rãi như một phương pháp phân tích và giảm số chiều dữ liệu
3 Mục đích, đối tượng và phạm vi nghiên cứu
Khảo sát, tìm hiểu và trình bày Kỹ thuật phân tích sự khác biệt tuyến tính có
sử dụng hàm nhân
- Kỹ Thuật phân tích sự khác biệt tuyến tính
- Kỹ thuật phân tích sự khác biệt tuyến tính có sử dụng hàm nhân
- Các hàm nhân thông dụng
- So sánh Kỹ thuật phân tích sự khác biệt tuyến tính có sử dụng hàm nhânvới phân tích sự khác biệt tuyến tính
- Một số ví dụ minh họa
4 Tóm tắt các luận điểm cơ bản của tácgiả
Phân tích sự khác biệt tuyến tính có sử dụng hàm nhân là một kỹ thuật nổi bật dựa trên phương pháp phân tích thành phần chính kết hợp cùng việc xây dựng, lựa chọn hàm nhân phù hợp Đây là một kỹ thuật có tính hiệu quả và chính xác cao Các bài toán phi tuyến tính có độ phức tạp cao sẽ được xử lý trong các lĩnh vực khai phá dữ liệu Luận văn đề cập đến những vấn đề cơ bản sau:
- Nghiên cứu các phương pháp giảm bớt số chiều của dữ liệu
- Nghiên cứu Kỹ thuật Phân tích sự khác biệt tuyến tính
- Nghiên cứu Kỹ thuật Phân tích sự khác biệt tuyến tính có sử dụng hàm nhân, các hàm nhân thông dụng
- So sánh Kỹ thuật phân tích sự khác biệt tuyến tính có sử dụng hàm nhân với phân tích sự khác biệt tuyến tính
+ Một số ví dụ minh họa
+ Thực hiện phương pháp phân lớp dữ liệu trên 3 không gian dữ liệu:
Dữ liệu gốc, dữ liệu đã giảm số chiều bằng Kỹ thuật phân tích sự khác biệt tuyến tính, dữ liệu đã giảm số chiều bằng kỹ thuật phân tích sự khác biệt tuyến tính
có sử dụng hàm nhân
Trang 95 Phương pháp nghiên cứu
-Khảo sát, tìm hiểu và thu thập tài liệu bằng Kỹ thuật phân tích sự khác biệt tuyến tính, dữ liệu đã giảm số chiều bằng kỹ thuật phân tích sự khác biệt tuyến tính có
sử dụng hàm nhân trong đề tài khoa học nghiên cứu đã công bố trước đây
Nghiên cứu, tìm hiểu các tài liệu liên quan trên sách, báo, tạp chí khoa học, bài giảng, giáo trình của nhà trường
Đọc và tìm hiểu các nguồn tài liệu trên internet
Thảo luận, trao đổi với giáo viên hướng dẫn
Tham gia các hội thảo khoa học, các Seminar thuyết trình về đề tài nghiên cứu Thực nghiệm thường xuyên trên máy tính
Bố cục của luận văn
Bố cục của luận văn bao gồm:
Lời cam đoan
Mục đích nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu
Các luận điểm của tác giả
Phương pháp nghiên cứu
Chương 1: Tổng quan khai phá dữ liệu, phân lớp dữ liệu
Chương 2: Kỹ thuật Phân tích sự khác biệt tuyến tính dựa trên hàm nhân và ứng dụng trong một số bài toán phân lớp dữ liệu
Chương 3: Cài đặt chương trình thử nghiệm và kết quả
Trang 10CHƯƠNG 1 TổNG QUAN KHAI PHÁ Dữ LIệU,PHÂN LớP Dữ LIệU1.1.Khai phá dữ liệu
1.1.1.Khái niệm
Trong một vài thập kỷ nay, khả năng tạo sinh và lưu trữ dữ liệu của con ngườiđã tăng lên vô cùng nhanh chóng Lượng dữ liệu khổng lồ lưu trữđã dẫn đến mộtđòi hỏi cấp bách những kỹ thuật mới, những công cụ tự động mới trợ giúp con người một cách thông minh trong việc chuyển đổi một lượng lớn dữ liệu thành thông tin hữuích và tri thức
Khai phá dữ liệu là việc trích rút tri thức một cách tự động và hiệu quả từ một khối lượng dữ liệu rất lớn Tri thứcđó thườngở dạng các mẫucó tính chất không tầm thường, không tường minh (ẩn), chưa được biết đến và có tiềm năng mang lạiích lợi Có một số nhà nghiên cứu còn gọi là khai phá dữ liệu là phát hiện tri thức trong CSDL
1.1.2 Quátrìnhphát hiện tri thức
Hình 1.1:Quátrìnhphát hiện tri thức
Trang 11Bắtđầu củaquátrình làkhodữliệu thôvàkếtthúc vớitrithức đượcchiếtxuất ra.Vềlýthuyếtthìcóvẻrất đơn giản nhưngthực sựđâylàmộtquátrìnhrấtkhó khăngặpphảirấtnhiều vướngmắcnhư:quảnlýcáctậpdữliệu,phảilặpđilặp lạitoànbộ quátrình,
- Làm sạch dữ liệu(Data cleaning):Loại bỏ nhiễu và dữ liệu không nhất quán -Tích hợp dữ liệu ( Data intergation):Dữ liệu của nhiều ngồn có thể được tổ hợp lại
- Chuyểnđổidữliệu( Data Transformation):Dữ liệu được chuyển đổi hay được hợp nhất về dạng thích hợp cho việc khai phá
-Khai phá dữliệu (Data mining):Đây là một tiến trình cốt yếu, trong đó các phương pháp thông minh được áp dụng nhằm trích rút ra các mẫu dữ liệu
- Đánh giá kết quả mẫu( Pattern evaluation):Dựa trên một số độ đo xác định lợi ích thực sự, độ quan trọng của các mẫu biểu diễn tri thức
- Biểu diễn tri thức ( Knowledge presentation): Ở giai đoạn này các kỹ thuật biểu
diễn và hiển thị tri thức được sử dụng để đưa tri thức đã lấy ra được cho người dùng
1.1.3 Kiếntrúccủa mộthệthốngkhaiphádữliệu
Hình1.2:Kiếntrúccủa mộthệthốngkhaithácdữliệu
Giao diện đồ họa cho người dùng
Đánh giá mẫu
Máy khai phá dữ liệu
Máy chủ cơ sở dữ liệu hay kho dữ liệu
Cơ sở tri thức
Kho dữ liệu CSDL
CSDL
Lọc Làm sạch và tích hợp dữ liệu
Trang 12Kiếntrúccủa mộthệthốngkhaiphádữliệu:gồm5phầnsau:
server):Máychủnày cótráchnhiệm lấydữliệuthíchhợpdựatrênnhữngyêu cầukhaitháccủangườidùng
-Cơsở trithức(Knowledgebase):Đâylàmiềntri thứcđượcdùngđể tìmkiếm
hayđánhgiáđộquantrọngcủacáchìnhmẫukếtquả.Tri thức này có thể bao gồm một sự phân cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính ở các mức trừu tượng khác nhau
-Máykhaiphádữliệu(Datamining engine): Mộthệthốngkhaiphádữliệu
- Giaodiệnđồhọachongườidùng(Graphicaluser interface):Bộ phận này cho
phép người dùng giao tiếp với hệ thống khai phá dữ liệu Thôngqua giaodiệnnày,ngườidùngtươngtácvớihệthốngbằngcáchđặctảmộtyêu cầu khai phá hay một nhiệm vụ, cung cấp thông tin trợ giúpcho việc tìm kiếm và thực hiện khai phá thăm dò trên các kết quả khai phá trung gian Ngoài ra bộ phận này còn cho phép người dùng xem các lược đồ CSDL, lược đồ kho dữ liệu, (hay các cấu trúc dữ liệu), các đánh giá mẫu và hiển thị các mẫu trong các khuôn dạng khác nhau
1.2 Một số phương pháp trong khai phá dữ liệu
Nói chung các nhiệm vụ của một khai phá dữ liệu có thể được phân chia thành hai loại: mô tả và dự báo Công việc khai phá nhằm biểu thị các đặc điểm chung của dữ liệu trong CSDL Công việc khai phá dự báo nhằm thực hiện suy luận trên dữ liệu hiện có để đưa ra dự báo
- Đặc trưng hóa và phân biệt
Đặctrưng hóa là việc tổng kết các đặc điểm hay các tính chất chung của một
Trang 13lớp dữ liệu đích Dữ liệu đó tương ứng với một lớp do người dùng đặc tả bằng một truy vấn CSDL Chẳng hạn để xem xét đặc điểm của những phần mềm đã bán được tăng 10% trong năm trước, dữ liệu liên quan đến những sản phẩm như vậy được tập hợp lại bởi việc thực hiện một truy vẫn SQL
Có một số phương pháp để tổng kết và biểu thị đặc trưng dữ liệu một cách hiệu quả Chẳng hạn thao tác roll-up của hệ phân tích trực quan(OLAP) dữ liệu dạng khối(data cube) có thể được dùng để thực hiện tổng kết theo một chiều cụ thểdưới sựđiều khiển của người dùng
Dữ liệu trả về của quá trình đặc trưng hoá có thể được biẻu diện ở những khuôn dạng khác nhau Ví dụ nó có thể là biểu đồ hình đĩa, biểu đồ cột, khối dữ liệu
đa chiều hay các bảng đa chiều, bao gồm cả các bảng tham khảo chéo Kết quả của quá trình khai phá mô tả cũng có thể được biểu diễn như các quan hệ tổng quan hay các luật
- Phân tích sự kết hợp
Phân tích sự kết hợp là khám phá ra các luật kết hợp trong một tập dữ liệu Các luật kết hợp thể hiện mối quan hệ giữa các thuộc tính mà ta nhận thấy được từ tần suất xuất hiện cùng với nhau Các luật kết hợp cóý nghía khám phá được từ một tập lớn các bản ghi giao dịch trong kinh doanh có thể giúp cho cácnhà doanh nghiệp
ra quyếtđịnh
- Phân lớp và dự báo
Phân lớp là quá trình tìm một tập các mô hình(hoặc các chức năng) mô tả và phân biệt các lớp dữ liệu Các mô hình này sẽ được sử dụng cho mụcđích dự báo về lớp của một số đối tượng Việc xây dựng mô hình dựa trên sự phân tích một tập các
dữ liệu huấn luyện Mô hình như vậy có thể được biểu diễn trong nhiều dạng, chẳng hạnở luật phân lớp (IF- THEN), cây quyết định, công thức toán hay mạng nơ ron
Để phân lớp và dự báo, có thể thực hiện trước một sự phân tích thích hợp Sự phân tíchđó nhằm xác định các thuộc tính không tham gia vào quá trình phân lớp và
dự báo, chúng sẽ bị loại trừ sau bước này.Không giống như phân lớp và dự báo, sự phân cụm sẽ phân tích các đối tượng dữ liệu khi chưa biết nhãn của lớp, nghĩa
Trang 14lànhãn lớp không tồn tại trong quá trình huấn luyện dữ liệu Phân cụm có thể đểđưa
ra những nhãn lớp Sự phân cụm có mụcđích nhóm các đối tượng lại theo nguyên tắc; các đối tượng trong một nhóm giống nhau ở mức cao nhất và các đối tượng khác nhóm có mức giống nhau ít nhất Điềuđó có nghĩa là các cụm được tạo ra sao cho các đối tượng trong mỗi cụm có độ tương tự cao khi so sánh với nhau và rất khác nhau khi so sánh với đối tượngthuộc cụm khác Mỗi cụm được tạo thành có thể được xem như một lớp đối tượng, các luật được trích rút ra từđó Việc phân cụm cũngđem lại một phương pháp đểđịnh dạng và phân loại
- Phân tích phần tử biệt lập
Một cơ sở dữ liệu có thể chứa các đối tượng dữ liệu không tuân theo mô hình
dữ liệu Những đối tượng dữ liệu như vậy được gọi làphần tử biệt lập(hay phần tử
tách biệt) Hầu hết cácphương pháp khai phá dữ liệu đều coi phần tử biệt lập là nhiễu và loại bỏ chúng Tuy nhiên trong một sốứng dụng nàođó như phát hiện nhiễu chẳng hạn, các sự việc hiếm khi xảy ra lại được quan tâm hơn những gì thường xuyên gặp phải Có một số phương pháp thường được sử dụng để phát hiện phần tử biệt lập:
+ Dùng các kiểm tra mang tính thống kê trên cơ sở một giả thiết về phân phối dữ liệu hay mô hình xác suất cho dữ liệu
+ Dùng các độ do khoảng cách, theo đó các đối tượng có một khoảng cách đáng kể đến cụm bất kỳ khác được xem là phần tử ngoài cuộc
+ Dùng các phương pháp dựa trên độ lệch để kiểm tra sự khác nhau trong những đặc trưng chính của các đối tượng trong một nhóm
Phương pháp phân tích từ biệt lập có thể khám phá ra nhữngngười sử dụng thẻ tín dụng ngân hàng một cách gian lận bằng việc phát hiện những việc mua sắm với một lượng tiền quá lớn trong tài khoản khi so sánh với những khoản chi phí thông thường được chi trả bằng tài khoản này Những giá trị biệt lập cũng có thể được phát hiện với sự chúý vềđịađiểm và loại mua sắm hoặc tần suất mua sắm
Trang 15- Phân tích sự tiến hóa
Phân tích sự tiến hóa sẽ mô tả và mô hình hóa các quy luật hay các khuynh hướng của những đối tượng màứng xử của chúng thay đổi theo thời gian Việc này
có thể bao gồm các đặc trưng hóa, phân biệt, tìm luật kết hợp, phân lớp hay phận cụm dữ liệu liên quan đến thời gian, phân tích dữ liệu theo chuỗi thời gian, trích mẫu theo chu kỳ và phân tích dữ liệu dựa trên tính tương tự
1.3 Trích chọn đặc trưng
Trích chọn thuộc tính đặc trưng (Feature Selection, Feature Extraction) là nhiệm vụ rất quan trọng giai đoạn tiền xử lý dữ liệu khi triển khai các mô hình khai phá dữ liệu Một vấn đề gặp phải là các dataset dùng để xây dựng các mô hình khai phá dữ liệu thường chứa nhiều thông tin không cần thiết (thậm chí gây nhiễu) cho việc xây dựng mô hình Chẳng hạn, một dataset gồm hàng trăm thuộc tính dùng để
mô tả về khách hàng của một doanh nghiệp được thu thập, tuy nhiên khi xây dựng một mô hình khai phá dữ liệu nào đó chỉ cần khoảng 50 thuộc tính từ hàng trăm thuộc tính đó Nếu ta sử dụng tất cả các thuộc tính (hàng trăm) của khách hàng để xây dựng mô hình thì ta cần nhiều CPU, nhiều bộ nhớ trong quá trình huấn luyện, thậm chí các thuộc tính không cần thiết đó làm giảm độ chính xác của mô hình và gây khó khăn trong việc phát hiện tri thức
Các phương pháp trích chọn thuộc tính thường tính trọng số (score) của các thuộc tính và sau đó chỉ chọn các thuộc tính có trọng số tốt nhất để sử dụng cho mô hình Các phương pháp này cho phép bạn hiệu chỉnh ngưỡng (threshold) để lấy ra các thuộc tính có Score trên ngưỡng cho phép Quá trìnhtrích chọn thuộc tính luôn được thực hiện trước quá trình huấn luyện
1.4 Nhu cầu về giảm số chiều của dữ liệu
Trong những năm gần đây với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biệt là sự tiến bộ vượt bậc của các thiết bị công nghệ, nguồn dữ liệu được sinh, tạo ra là vô cùng lớn và phức tạp Nguồn dữ liệu khổng lồ là vấn đề cần được quan tâm hàng đầu trong lĩnh vực công nghệ thông tin
Trang 16Quá trình khai phá dữ liệu trên nguồn dữ liệu khổng lồ mất rất nhiều thời gian, công sức và chi phí Lúc này ta cần giảm bớt dữ liệu để thu gọn việc biểu diễn
dữ liệu tuy nhiên vẫn cho cùng kết quả phân tích như trên tập dữ liệu ban đầu
Một trong số các giải pháp hiệu quả hàng đầu để giảm bớt dữ liệu là giảm số chiều của dữ liệu Ưu điểm của kỹ thuật giảm số chiều dữ liệu là:
- Giải quyết được khó khăn do dữ liệu đầu vào của bài toán có số chiều rất lớn
- Giúp loại bỏ các đặc trưng, thành phần dữ liệu không liên quan, giảm nhiễu, lỗi của dữ liệu
- Giảm chi phí về thời gian và bộ nhớ cho quá trình khai phá dữ liệu
- Cho phép hiển thị hóa dữ liệu một cách rõ ràng và tốt hơn
1.5 Các kỹ thuật giảm số chiều dữ liệu
1.5.1 Phân tích giá trị đơn
- Phân tích giá trị đơn (Singular Value Decomposition - SVD)[15] được biết đến là phương pháp biến đổi các biến có tương quan thành một tập các biến không tương quan có khả năng biểu đạt tốt hơn độ sai khác dữ liệu giữa các dữ liệu gốc
- Phân tích giá trị đơn xác định và sắp xếp chiều của véctơ đặc trưng sao cho
độ biến thiên dữ liệu là lớn nhất
- Phân tích giá trị đơn dùng để tách các đặc trưng chủ yếu của ma trận và xấp xỉ nó bởi các ma trận nhỏ hơn.Việc xấp xỉ chính là để giảm bớt kích thước ma trận từ không gian cao chiều về không gian thấp chiều hơn
1.5.2 Kỹ thuật tạo chỉ mục tự động
- Phương pháp tạo chỉ mục tự động (Latent Semantic Indexing - LSI)[3]dùng phương pháp phân tích giá trị đơn để giảm bớt kích thước ma trận
từ không gian r chiều xuống không gian s chiều (s << r)
- Các thuật ngữ và tài liệu có thể được thể hiện dưới dạng véc tơ trong không gian đặc trưng Vì vậy các từ không còn độc lập nhau và từ đồng nghĩa sẽ tương ứng cùng kích thước trong không gian này Các tài liệu với những mẫu từ tương tự sẽ gần nhau dù các tài liệu đó không chia sẻ những từ chung Phương
Trang 17pháp tạo chỉ mục tự động có khả năng phát hiện ra những mối quan hệ ngữ nghĩa học tiềm ẩn giữa những tài liệu
1.5.3 Phân tích thành phần độc lập
-Ý tưởng của phân tích thành phần độc lập (Independent Component Analysis - ICA) là tìm cách mô tả dữ liệu bằng cách dử dụng các biến ngẫu nhiên độc lập thống kê[11]
-Dữ liệu nguồn được trộn (tổ hợp) tuyến tính thành các dữ liệu
- Dữ liệu nguồn là các thành phần độc lập và việc trộn (tổ hợp) tuyến tính
dữ liệu nguồn làm giảm số chiều dữ liệu
1.5.4 Bản đồ tự tổ chức
- Bản đồ tự tổ chức (Self Organizing Map - SOM) là một mạng Nơ ronnhân tạo được huấn luyện sử dụng để biểu diễn dữ liệu với số chiều thấp hơn nhiều (thường là 2 chiều) so với dữ liệu đầu vào nhiều chiều (thường là số chiều rất lớn)[16]
- Ưu điểm của bản đồ tự tổ chức là biểu diễn rất trực quan dữ liệu nhiều chiều vào không gian ít chiều hơn (thường là 2 chiều) và đặc trưng của dữ liệu đầu vào được lưu giữ lại trên bản đồ
1.5.5 Phân tích sự khác biệt tuyến tính
Phân tích sự khác biệt tuyến tính là phương pháp biến đổi tuyến tính được sử dụng rộng rãi nhất hiện nay để giảm số chiều của dữ liệu
Ý tưởng của Phân tích sự khác biệt tuyến tính: Tìm kiếm không gian mới phù hợp với đặc trưng của dữ liệu, nghĩa là cực tiểu hóa khoảng cách trung bình bình phương giữa các điểm dữ liệu và các hình chiếu của chúng lên không gian đặc trưng
Đầu vào:
- Cho tập dữ liệu là các véc tơ
= ∪ = , ⋯ , ,
Trang 18là một tập hợp các vectơ huấn luyện hai lớp, trong đó n1 và n2 biểu thị số lượng mẫu
trong hai lớp X1 và
Đầu ra:Tập dữ liệu mới là tập các véc tơ Y= Y1 Yn cùng với K véctơ trực giao tốt nhất biểu diễn dữ liệu
Bên cạnh đó, Phân tích sự khác biệt tuyến tính còn một số hạn chế:
- Chiều chính của dữ liệu chỉ được biểu diễn dạng tuyến tính đối với các chiều gốc
- Chỉ áp dụng được với dữ liệu kiểu số
- Phân tích sự khác biệt tuyến tínhphân lớp theo chiều phân bố lớn nhất củavéc tơ, tuy nhiên không phải trong mọi trường hợp phân bố lớn nhất lại mang lại hiệu quả cao nhất cho bài toán phân lớp dữ liệu [2,4,5,10]
1.5.6 Phân tích sự khác biệt tuyến tính có sử dụng hàm nhân
- Trong nhiều bài toán phi tuyến phức tạp, hàm tuyến tính không giải quyết được bài toán, những hàm phi tuyến được đưa ra nhưng do độ phức tạp của
nó mà ta không thể trực tiếp tính toán được
- Phương pháp hàm nhân bắt nguồn từ việc xử lý dữ liệu bằng một ánh xạphituyến Φ, sau đó trên không gian đặc trưng của Φ ta có thể phân lớp dữ liệu bằng một hàm tuyến tính một cách thuận tiện
- Hàm nhân là hàm tuyến tính trong không gian đặc trưng được định nghĩa bởi ánh xạ Φ nhưng trong không gian gốc thì đó lại là một hàm phi tuyến nếu ánh xạ Φ là một hàm phi tuyến
- Đầu vào: Cho tập dữ liệu là các véc tơ
= ∪ = , ⋯ , ,
là một tập hợp các vectơ huấn luyện hai lớp, trong đó n1 và n2 biểu thị số lượng mẫu
trong hai lớp X1 và và hàm nhân K X X( i, j)=〈Ф, Ф〉
-Đầu ra: Là tập dữ liệu đầu ra Y= Y1 Yn
Phân tích sựkhác biệt tuyến tínhcó sử dụng hàm nhân còn một số hạn chế
Trang 19khó khăn trong việc lựa chọn hàm nhân phù hợp [1,3,6,7,8,9,11,12]
1.6 Bài toán phân lớp dữ liệu
1.6.1 Giới thiệu
Phân lớp (classification) là một tiến trình xử lý nhằm xếp các mẫu dữ liệu hay các đối tượng vào một trong các lớp đã được định nghĩa trước Các mẫu dữ liệu hay các đối tượng được xếp vào các lớp dựa vào giá trị của các thuộc tính (attributes) cho một mẫu dữ liệu hay đối tượng Sau khi đã xếp tất cả các đối tượng
đã biết trước vào các lớp tương ứng thì mỗi lớp được đặc trưng bởi tập các thuộc tính của các đối tượng chứa trong lớp đó
Quá trình phân lớp dữ liệucòn được gọi là quá trình gán nhãn cho các tập dữ liệu Nhiệm vụ của bài toán phân lớp dữ liệu là cần xây dựng mô hình (bộ) phân lớp
để khi có một dữ liệu mới vào thì mô hình phân lớp sẽ cho biết dữ liệu đó thuộc lớp nào Có nhiều cách để biểu diễn một mô hình phân lớp và có rất nhiều thuật toán giải quyết nó Các thuật toán phân lớp tiêu biểu bao gồm như mạng nơ ron, cây quyết định, suy luận quy nạp, mạng Beyesian, (Support Vecto Machine- SVM ),… Trong các kỹ thuật đó, SVM được coi là công cụ mạnh, phổ biến và đặc biệt thích hợp cho phân lớp dữ liệu lớn và nhiều chiều
1.6.2 Phương pháp máy học véc tơ hỗ trợ phân lớp dữ liệu
SVM xây dựng (learn) một siêu phẳng (hyperplane) để phân lớp (classify) tập dữ liệu thành 2 lớp riêng biệt
Siêu phẳng là cái gì? Một siêu phẳng là một hàm tương tự như phương trình đường thẳng, y = ax + b Trong thực tế, nếu ta cần phân lớp tập dữ liệu chỉ gồm 2 feature, siêu phẳng lúc này chính là một đường thẳng
Về ý tưởng thì SVM sử dụng thủ thuật để ánh xạ tập dữ liệu ban đầu vào không gian nhiều chiều hơn Khi đã ánh xạ sang không gian nhiều chiều, SVM sẽ xem xét và chọn ra siêu phẳng phù hợp nhất để phân lớp tập dữ liệu đó
Ta lấy ví dụ đơn giản về phân chia tập các quả bóng xanh và đỏ đặt trên một cái bàn Nếu các quả bóng phân bố không quá đan xen vào nhau, ta có thể dùng một
Trang 20cây que dài để chia các quả bóng thành hai tập xanh và đỏ mà không động đến các quả bóng
Lúc này, khi đưa một quả bóng mới đặt lên mặt bàn, bằng cách xác định nó nằm bên phía nào của cây que, ta có thể dự đoán màu sắc của quả bóng đó
Vậy các quả bóng, cái bàn và cây que tượng trưng cho cái gì? Các quả bóng tượng trưng cho các điểm dữ liệu, màu xanh và đỏ tượng trưng cho 2 lớp Cái bàn tượng trưng cho một mặt phẳng Cây que tượng trưng cho một siêu phẳng đơn giản
Việc hất các quả bóng lên trời tương đương với việc ánh xạ tập dữ liệu ban đầu vào không gian nhiều chiều hơn Trong trường hợp này, ta đi từ không gian 2 chiều đó là cái bàn vào không gian 3 chiều đó các quả bóng đang lơ lửng trên trời
Bằng cách sử dụng một kernel, ta có thể đơn giản nâng dữ liệu ban đầu vào không gian nhiều chiều hơn Mảnh giấy lớn lúc này cũng được gọi là một siêu phẳng, chỉ có điều đây là phương trình mặt phẳng chứ không phải phương trình đường thẳng
Việc ánh xạ này trong thực tế được thực hiện như sau: Quả bóng nằm trên mặt bàn có một vị trí cụ thể, ta dùng trục tọa độ để xác định vị trí này Ví dụ, quả bóng nằm cách mép trái 20cm và cách mép dưới 50cm được thể hiện trên trục tọa
độ (x, y) tương ứng là (20, 50) x và y chính là không gian hai chiều của quả bóng Khi đưa lên chiều thứ 3 là z(x, y), ta có thể tính được tọa độ của z trong không gian
3 chiều dựa vào tọa độ x,y ban đầu
Trang 21Hình 1.3: Mô hình ba chiều phân lớp dữ liệu
Thuật ngữ margin trong SVM có nghĩa là gì? Margin là khoảng cách giữa siêumặt phẳng đến 2 điểm dữ liệu gần nhất tương ứng với các phân lớp Trong ví dụ quả bóng và cái bàn, đó là khoảng cách giữa cây que và hai quả bóng xanh và đỏ gần nó nhất
Điểm mấu chốt ở đây đó là SVM cố gắng cực đại khoảng cách giữa phẳng đến 2 điểm dữ liệu, từ đó thu được một siêu phẳng tạo khoảng cách xa nhất so với 2 quả bóng xanh và đỏ Nhờ vậy, SVM có thể giảm thiểu việc phân lớp sai (misclassification) đối với điểm dữ liệu mới đưa vào
Trong ví dụ cái bàn và quả bóng, siêu phẳng cách đều với bóng xanh và bóng
đỏ Các quả bóng này chính là các điểm dữ liệu gọi là support véc tơs, vì chúng hỗ trợ (support) để dựng lên siêu phẳng
SVM cho độ chính xác cao đối với tập dữ liệu có kiểu dữ liệu liên tục (continuous value), cùng với thuật toán cây quyết định là hai phương pháp thường được dùng để phân lớp dữ liệu Tuy nhiên, không có mô hình phân lớp (classifier) nào là tốt nhất Thêm vào đó, việc lựa chọn kernel và diễn giải cho người dùng hiểu
là một điểm trừ của SVM
Hiện tại có rất nhiều thư viện cài đặt SVM Một vài thư viện phổ biến như
Trang 22Hình thức đơn giản của việc phân lớp là phân lớp nhị phân: phân biệt giữa các đối tượng thuộc về một trong hai lớp: dương (+1) hoặc âm (-1) SVM sử dụng hai khái niệm để giải quyết vấn đề này: phân lớp biên rộng và hàm kernel Ý tưởng của phân lớp biên rộng có thể được minh họa bởi sự phân lớp của các điểm trong không gian hai chiều (Hình 2.9) Một cách đơn giản để phân lớp các điểm này là
sử dụng một đường thẳng để phân tách các điểm nằm ở một bên là dương và các điểm bên kia là âm Nếu có hai đường thẳng phân chia tốt thì ta có thể phân tách khá xa hai tập dữ liệu (Hình 2.9 và 2.10) Đây là ý tưởng về sự phân chia biên rộng
Hình 1.4: Mô hình phân lớp biên rộng và hàm kernel
Một đường thẳng tuyến tính phân chia 2 lớp điểm (hình vuông và hình tròn) trong không gian hai chiều Ranh giới quyết định chia không gian thành hai tập tùy thuộc vào dấu của hàm = 〈, 〉
Trang 23Hình 1.5: Mô hình phân lớp bằng đường thẳng tuyến tính
Độ rộng biên lớn nhất được tính toán bởi một SVM tuyến tính Khu vực giữa hai đường mảnh xác định miền biên với -1 ≤ <w, x> + b ≤ 1 Những điểm sáng hơn với chấm đen ở giữa gọi là các điểm support véc tơs, đó là những điểm gần biên quyết định nhất Ở đây, có ba support véc tơs trên các cạnh của vùng biên
1 hoặc 1
Trong phần này, ý tưởng về phân lớp tuyến tính sử dụng SVM được giới thiệu Các dữ liệu bao gồm các đối tượng có nhãn là một trong hai nhãn Để thuận tiện, giả định rằng các nhãn +1 (dương) và - 1 (âm) Lấy x biểu thị một véc tơ với M phần tử x , (j = 1, , M) tức là một điểm trong một không gian véc tơ M- chiều Các ký hiệu biểu thị véc tơ thứ i trong một tập dữ liệu
Trong đó là nhãn liên quan i Các đối tượng x được gọi là đặc tính đầu vào Một khái niệm quan trọng cần thiết để xác định một phân lớp tuyến tính là tích vô hướng giữa hai véctơ 〈, ∑ "
〉, còn được gọi là tích trong Phân lớp tuyến tính được dựa trên một hàm tuyến tính dạng:
〈, 〉 (phương trình 1)
Trang 24Hàm f(x) là hàm của đầu vào x, f(x) được sử dụng để quyết định làm thế nào
để phân lớp x Véc tơ w được gọi là véc tơ trọng số, và b được gọi là độ dịch Trong không gian 2 chiều các điểm ứng với phương trình <w, x> = 0 tương ứng với một đường qua gốc tọa độ, trong không gian 3 chiều thì nó là một mặt phẳng qua gốc tọa độ Biến b sẽ dịch chuyển mặt phẳng đi một lượng so với mặt phẳng qua gốc tọa
độ Mặt phẳng phân chia không gian thành hai không gian theo dấu của f(x), nếu f(x)> 0 t hì quyết định cho một lớp dương lớp kia là âm Ranh giới giữa các vùng được phân lớp là dương và âm được gọi là ranh giới quyết định của các phân lớp Ranh giới quyết định được xác định bởi một mặt phẳng (phương trình (1) được cho
là được tuyến tính bởi vì nó là tuyến tính đầu vào Phân lớp với một ranh giới quyết định tuyến tính được gọi là phân lớp tuyến tính Với bất kỳ một tập dữ liệu khả tách tuyến tính có tồn tại một mặt phẳng ph ân lớp tất cả các điểm dữ liệu Có nhiều mặt phẳng như vậy nhưng phải lựa chọn mặt phẳng nào để đảm bảo thời gian huấn luyện ngắn và phân lớp một cách chính xác Thực tế quan sát cũng như lý thuyết học thống kê (Vapnik, 1999) cho thấy rằng phân lớp siêu phẳng sẽ làm việc tốt hơn nếu siêu phẳng tách biệt chính xác với một biên độ lớn Ở đây, biên của một phân lớp tuyến tính được định nghĩa là khoảng cách gần nhất để quyết định ranh giới, như thể hiện trong hình 2 Có thể điều chỉnh b để siêu phẳng phân tách các điểm tương ứng
Hơn nữa nếu cho phương trình (1) các giá trị ± 1, t h ì biên độ sẽ là 1/‖‖ (trong đó‖‖ là độ dài của véc tơ w) còn được gọi là chuẩn, được tính là
√< , >
Trang 25Hình 1.6: Ảnh hưởng của hằng số biên miền C trên ranh giới quyết định
Dữ liệu có thể được thay đổi bằng cách di chuyển điểm bóng mờ màu xám đến một vị trí mới theo mũi tên, điều đó làm giảm biên đáng kể mà một SVM biên cứng khó có thể phân tách dữ liệu Hình bên trái, biên quyết định cho một SVM với một giá trị rất cao của C mà bắt chước hành vi của SVM biên cứng và do đó dẫn tới lỗi huấn luyện Một giá trị C nhỏ hơn (bên phải) cho phép bỏ qua điểm gần ranh giới, và làm tăng biên Ranh giới quyết đị nh giữa các điểm dương và các điểm âm được thể hiện bằng dòng đậm Các dòng nhạt hơn là biên độ (giá trị bằng -1 hoặc +1)
1.6.3 Phương pháp cây quyết định phân lớp dữ liệu
Cây quyết định (Decision Tree) là một cây phân cấp có cấu trúc được dùng
để phân lớp các đối tượng dựa vào dãy các luật (series of rules) Các thuộc tính của đối tượng (ngoại trừ thuộc tính phân lớp – Category attribute) có thể thuộc các kiểu
dữ liệu khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đó thuộc tính phân lớp phải có kiểu dữ liệu là Binary hoặc Ordinal
Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các đối tượng chưa biết (unseen data)
Để ứng dụng được cây quyết định trong bài toán phân lớp chúng ta cùng bắt đầu với ví dụ dưới đây:
Trang 26Ta có dữ liệu (training data) về 10 đối tượng (người) Mỗi đối tượng được
mô tả bởi 4 thuộc tính là Gender, Car Ownership, Travel Cost/Km, Income Level và
1 thuộc tính phân loại (category attribute) là Transportation mode Trong đó thuộc tính Gender có kiểu binary, thuộc tính Car Ownership có kiểu Quantitative integer (0,1), Travel Cost/Km và Income Level có kiểu dữ liệu Ordinal
Tranining data cho biết sự lựa chọn về loại phương tiện vận chuyển (car, bus, train) của khách dựa vào 4 thuộc tính đã cho (xem bảng)
Gender Car
ownership
Travel Cost ($)/km
Income Level
Transportation mode
Dựa vào Training Data ở trên, chúng ta có thể tạo ra cây quyết định như sau
Trang 27Chú ý rằng trong cây quyết định trên, thuộc tính “Income Level” không xuất hiện trong cây bởi vì dựa vào training data đã cho, thuộc tính “Travel Cost/Km” sẽ sinh ra cây quyết định tốt dùng để phân loại tốt hơn “Income Level”
Làm sao để sử dụng cây quyết định trong dự đoán lớp của các dữ liệu chưa biết
Mục đích chính của cây quyết định là dùng để dự đoán lớp (xác định lớp) của các đối tượng chưa biết (unseen data) Giả sử rằng ta có dữ liệu về 3 người với các giá trị dữ liệu đã biết về các thuộc tính Gender, Car Ownership, Travel Cost/Km, Income Level Tuy nhiên ta chưa biết họ sẽ chọn phương tiện vận chuyển nào (Car, Bus, Train) Nhiệm vụ của chúng ta là sử dụng cây quyết định đã tạo ra để
dự đoán (predict) Alex, Buddy và Cherry sẽ chọn phương tiện vận chuyển nào dựa vào 4 thuộc tính của họ Dữ liệu dưới đây còn được gọi là Testing Data
Person
name Gender
Car ownership
Travel Cost ($)/km
Income Level
Transportation Mode
Chúng ta bắt đầu từ node gốc của cây (root node) từ thuộc tính Travel Cost/Km, ta thấy rằng nếu Travel Cost/Km là Expensive thì người đó sẽ chọn phương tiện là Car Nếu Travel Cost/Km là standard thì họ sẽ chọn phương tiện vận chuyển là Train Nếu Travel Cost/Km là Cheap thì cây quyết định cần tới giá trị của trường Gender của người đó, nếu Gender là Male thì chọn Bus, nếu giới tính là Female thì cây quyết định cần kiểm tra xem người đó có sử hữu bao nhiêu xe hơi (Car Ownership) Nếu số xe hơi sở hữu là 0 thì người đó sẽ chọn xe Bus, nếu số xe hơi sở hữu là 1 thì người đó sẽ chọn Train
Theo cây quyết định trên, các luật (Series of Rules) được sinh ra từ cây quyết định dùng để dự đoán như sau:
Rule 1 : If Travel cost/km is expensive then mode = car
Rule 2 : If Travel cost/km is standard then mode = train
Rule 3 : If Travel cost/km is cheap and gender is male then mode = bus Rule 4 : If Travel cost/km is cheap and gender is female and she owns no car then mode = bus
Trang 28Rule 5 : If Travel cost/km is cheap and gender is female and she owns 1 car then mode = train
Dựa vào các luật này, việc dự đoán lớp cho các dữ liệu chưa biết (unseen data hay Testing data) rất đơn giản Trong ví dụ này, Alex có giá trị của thuộc tính Travel Cost/Km là Standard nên sẽ chọn phương tiện là Train (Rule 2) mà không cần quan tâm đến các thuộc tính khác của Alex Buddy có giá trị của thuộc tính Travel Cost/Km là Cheap và Gender của anh ta là Male nên anh ta sẽ chọn Bus (Rule 3) Cheery cũng có giá trị thuộc tính Travel Cost/Km là Cheap nhưng Gender
là Female và sở hữu 1 xe hơi cho nên theo cây quyết định trên (Rule 5) cô ta sẽ chọn phương tiện là Train
Kết quả phân lớp bằng cây quyết định như sau:
Transportation Mode
Cây quyết định là một phương pháp phân lớp rất hiệu quả và dễ hiểu Tuy nhiên có một số chú ý khi sử dụng cây quyết định trong xây dựng các mô hình phân lớp như sau:
Hiệu của phân lớp của cây quyết định (Series of Rules) phụ thuộc rất lớn vào training data Chẳn hạn cây quyết định được tạo ra bởi chỉ giới hạn 10 samples training data trong ví dụ trên thì hiệu quả ứng dụng cây quyết định để dự đoán các trường hợp khác là không cao (thường training data phải đủ lớn và tin cậy) và vì vậy ta không thể nói rằng tập các luật (Series of Rules) được sinh ra bở cây quyết định trên là tập luật tốt nhất
Có rất nhiều thuật toán phân lớp như ID3, J48, C4.5, CART (Classification and Regression Tree),… Việc chọn thuật toán nào để có hiệu quả phân lớp cao tuy thuộc vào rất nhiều yếu tố, trong đó cấu trúc dữ liệu ảnh hưởng rất lớn đến kết quả của các thuật toán Chẳn hạn như thuật toán ID3 và CART cho hiệu quả phân lớp rất cao đối với các trường dữ liệu số (quantitative value) trong khi đó các thuật toán như J48, C4.5 có hiệu quả hơn đối với các dữ liệu Qualititive value (ordinal, Binary, nominal)
Trang 291.7.K êt luận chương 1
Chương đầu tiên của luận văn giới thiệu khái quát về khai phá dữ liệu, quá trình khai phá dữ liệu, các kỹ thuật giảm số chiều của không gian dữ liệu, giới thiệu hai kỹ thuật chính là phân tích sự khác biệt tuyến tính và phân tích có sự khác biệt tuyến tính sử dụng hàm nhân, giới thiệu một số bài toán phân lớp dữ liệu trong đó tập trung chủ yếu vào hai phương pháp máy véctơ hỗ trợ và cây quyết định để phân lớp dữ liệu
Trang 30CHƯƠNG 2
KỸ THUẬT PHÂN TÍCH SỰ KHÁC BIỆT TUYẾN TÍNH
DỰA TRÊN HÀM NHÂN 2.1 Phân tích sự khác biệt tuyến tính
2.1.1 Giới thiệuphân tích sự khác biệt tuyến tính
Phân tích sự khác biệt tuyến tínhlà một kỹ thuật giảm bớt số chiều dữ liệu nổi bật và hiệu quả trong việc giảm kích cỡ của không gian dữ liệu, loại bỏ các đặc tính dư thừa, đặc tính gây nhiễu của dữ liệu đó chính là phân tích thành phần chính Phân tích sự khác biệt tuyến tính còn được biết đến là kỹ thuật dùng để nén thông tin một tập các biến thành một số lượng biến ít hơn so với thành phần ban đầu Mỗi thành phần mới sau khi biến đổi là tổ hợp tuyến tính của các biến ban đầu được gọi là sự khác biệt tuyến tính Phân tích sự khác biệt tuyến tính là một trong những phương pháp giảm số chiều dữ liệu với nhiều ưu điểm nổi bật:
* Các ưu điểm của Phân tích sự khác biệt tuyến tính
- Giảm số chiều không gian của dữ liệu gốc
- Xây dựng không gian dữ liệu mới (không gian đặc trưng) có số chiều ít hơn rất nhiều so với không gian dữ liệu ban đầu nhưng lại có khả năng thể hiện
dữ liệu rất tốt và thậm chí như dữ liệu ban đầu
- Các trục tọa độ trong không gian dữ liệu mới là tổ hợp tuyến
tính của các chiều trong không gian dữ liệu ban đầu
* Các hạn chế của Phân tích sự khác biệt tuyến tính:
- LDA chỉ áp dụng được với dữ liệu kiểu số
- Các chiều chính của dữ liệu chỉ biểu diễn dạng tuyến tính đối
với các chiều gốc
-LDA phân loại theo chiều phân bố lớn nhất của véc tơ, tuy
nhiên không phải trong tất cả mọi trường hợp phân bố lớn nhất sẽ
mang lại hiệu quả cao nhất cho bài toán
Trang 31Mục đích chính của phân tích sự khác biệt là:
- Tìm tập các thuộc tính tốt nhất để mô tả đối tượng Vấn đề này còn gọi là trích chọn đặc trưng hay lựa chọn đặc trưng (Feature Selection) Mục đích là phần này là từ tập các thuộc tính mô tả đối tượng ban đầu (thường rất lớn, có thể hàng trăm thuộc tính) tìm ra tập các thuộc tính tốt nhất để biểu diễn cho đối tượng nhằm làm giảm số chiều biểu diễn đối tượng từ đó làm giảm chi phí tính toán của các mô hình khai phá dữ liệu nhưng chất lượng của mô hình không bị giảm đi
- Tìm một mô hình tốt nhất để phân lớp các đối tượng
2.1.2 Phương pháp và cơ sở toán học
LDA sử dụng điều kiện phân lớp để tối thiểu lỗi (Total error of classification
-TEC) của mô hình Nguyên tắc phân lớp đối tượng là gán một đối tượng vào một lớp với xác suất có điều kiện cao nhất (nguyên tắc này gọi là nguyên tắc Bayes, Bayes rule)
Nếu có g lớp, the Bayes' rule sẽ gán đối tượng x vào lớp i nếu
( | ) ( | ), j
Cho một tập các đo lường các đặc trưng của x, ta tìm max(P(i|x)) và gán đối
tượng x vào lớp i Tuy nhiên P(i|x) rất khó tính toán Chúng ta có thể tính P(x|i), tức
là xác suất xảy ra x khi đã biết lớp i Chẳng hạn sau khi đã biết được lớp của sản phẩm xà phòng là tốt( good) hay xấu(bad) chúng ta có thể có được các đặc trưng
mô tả đối tượng như trọng lượng(weight), mùi(smell), màu sắc (color),… Nhưng điều ta cần là ngược lại Có nghĩa là dựa vào các đặc trưng của đối tượng chúng ta phải xác định đối tượng với các đặc trưng đó thuộc lớp nào
Trong lý thuyết Bayes có công thức mô tả mối quan hệ giữa 2 xác suất có điều kiện P(i|x) và P(x|i) như sau ( công thức 1- CT1):
( ) ( )
( | *( |
( |
))
Trang 32Vấn đề là sử dụng CT1 để tính P(i|x) thông qua P(x|i) cũng rất khó triển khai trong thực tế vì để tính được P(x|i) chúng ta cần rất nhiều dữ liệu để tính tần số tương đối của mỗi lớp đối với mỗi đặc trưng của đối tượng
Để dễ dàng hơn cho việc tính toán, các nhà thống kê và toán học đã tìm ra hàm chuyển đổi gọi là công thức phân tích sự khác biệt tuyến tính như sau (Công thức 2- CT2):
( )
ln2
Gán đối tượng k vào nhóm i có f i lớn nhất
Trong CT2 thành phần()* +,chính là công thức tính khoảng cách dùng để
đo lường sự khác biệt giữa 2 nhóm
2.1.3 Hiệp phương sai
Trong lý thuyết xác suất và thống kê, hiệp phương sai là độ đo sự biến thiên cùng nhau của hai biến ngẫu nhiên phân biệt với phương sai - đo mức độ biến thiên của một biến Nếu 2 biến có xu hướng thay đổi cùng nhau (nghĩa là, khi một biến có giá trị cao hơn giá trị kỳ vòng thì biến kia có xu hướng cũng cao hơn giá trị kỳ vọng), thì hiệp phương sai giữa hai biến này có giá trị dương Ngược lại, nếu một biến nằm trên giá trị kì vọng còn biến kia có xu hướng nằm dưới giá trị kì vọng, thì hiệp phương sai của hai biến này có giá trị âm Các biến ngẫu nhiên có hiệp phương sai bằng không được gọi là không tương quan
Ma trận hiệp phương sai của m biến ngẫu nhiên là một ma trận vuông hạng (m × m), trong đó các phần tử nằm trên đường chéo lần lượt là phương saitương
Trang 33ứng của các biến này (chú ý rằng Var(X) = Cov(X,X)), và các phần tử còn lại
(không nằm trên đường chéo) là các hiệp phương sai của đôi một hai biến ngẫu nhiên khác nhau
2.1.4 Ma trận hiệp phương sai
Để thuận tiện cho việc tính toán hiệp phương sai ta biểu diễn thông qua một ma trận hiệp phương sai Ma trận hiệp phương sai được định nghĩa:
COV(X,Y)=∑ -2 .*/-01.//*10/
.3
*
* Đặc trưng của ma trận hiệp phương sai
- Đường chéo chính là phương sai của mỗi chiều không gian
- Các điểm ngoài đường chéo là hiệp phương sai của các chiều
không gian với nhau
* Véc tơ riêng và giá trị riêng (gọi tắt là trị riêng)
Cho A là ma trận vuông cấp n( n hàng, n cột) λ được gọi là trị riêng của
ma trận A nếu tồn tại một véc tơ U thỏa mãn:A.u = λ.u khi đó véc tơ U được gọi
là véc tơ riêng của ma trận A ứng với giá trị riêng λ
Các tính chất của véc tơ riêng và giá trị riêng:
- Chỉ các ma trận vuông mới có giá trị riêng
- Mỗi giá trị riêng có thể có rất nhiều véctơ riêng
- Mỗi véctơ riêng chỉ ứng với một giá trị riêng duy nhất
- Giá trị riêng là nghiệm của phương trình đặc trưng det(A - λI) = 0
Trang 34Đầu ra:
- Tập dữ liệu mới là tập các véc tơ (Y1 Yn)
Các bước thực hiện:
Bước 1:
- Biểu diễn tập dữ liệu huấn luyện thành một tập các véc tơ
- Chuẩn hóa kích thước tập dữ liệu huấn luyện
Bước 2: Tính các giá trị trung bìnhµi(µi là giá trị trung bình của nhóm thứ
i ,µlà giá trị trung bình của tất cả các nhóm dữ liệu (toàn bộ tập mẫu))
Bước 3: Tính phương sai của dữ liệu (mean corrected of data):
Bước 4: Tính ma trận hiệp phương sai (covariance matrix) của từng nhóm
dữ liệu, theo công thức sau:
i
0 i T 0 i i
n
.x)(x
Bước 6: Tính ma trận C-1 là ma trận nghịch đảo của C
Bước 7: Tính giá trị hàm Discriminant cho từng mẫu đối với từng nhóm Giá
trị hàm của mẫu thứ k đối với phân nhóm thứ i được tính như sau:
()* +,12 ()*(, ln?
Ví dụ 1:
Trang 35Giả sử ta muốn biết liệu một sản phẩm xà phòng là tốt (good) hay xấu (bad) dựa vào các đo lường trên các đặc trưng như trọng lượng (weight), khối lượng (volume), màu sắc (color), mùi (smell) Đối tượng (object) ở đây là xà phòng và thuộc tính phân lớp (class category attribute) ở đây có hai giá trị là “good” và “bad” Các đặc trưng của đối tượng còn gọi là biến độc lập (Independent Variable) và thuộc tính phân lớp gọi là biến phụ thuộc (Dependent Variable)
Vì vậy trong phân tích sự khác biệt, biến phụ thuộc (Y) là lớp và biến độc lập (X) là các đặc trưng của đối tượng Biến phụ thuộc luôn có kiểu là thường trong khi biến độc lập có thể có kiểu bất kỳ (bình thường, thứ bậc, khoảng, hay tỷ lệ)
Nếu ta giả sử thêm rằng các lớp có thể tách biệt bởi một hàm tuyến tính, chúng ta có thể sử dụng LDA để xây dựng hàm phân lớp LDA xây dựng hàm phân lớp dựa trên sự kết hợp tuyến tính giữa các đặc trưng của đối tượng Nếu chỉ có 2 đặc trưng thì hàm phân loại các lớp là đường (line) Nếu số đặc trưng là 3 thì hàm phân lớp là mặt phẳng (plane) Nếu số đặc trưngnhiều hơn 3 thì hàm phân lớp là siêu phẳng (hyper - lane)
Bảng 2.1:Danh sách đặc trưng của các sản phẩm
Curvature Diameter Quality
...KỸ THUẬT PHÂN TÍCH SỰ KHÁC BIỆT TUYẾN TÍNH
DỰA TRÊN HÀM NHÂN 2.1 Phân tích khác biệt tuyến tính
2.1.1 Giới thiệuphân tích khác biệt tuyến. .. thiệu khái quát khai phá liệu, trình khai phá liệu, kỹ thuật giảm số chiều không gian liệu, giới thiệu hai kỹ thuật phân tích khác biệt tuyến tính phân tích có khác biệt tuyến tính sử dụng hàm. .. khác biệt tuyến tínhphân lớp theo chiều phân bố lớn củavéc tơ, nhiên trường hợp phân bố lớn lại mang lại hiệu cao cho toán phân lớp liệu [2,4,5,10]
1.5.6 Phân tích khác biệt tuyến tính