Chương 2 - Kĩ thuật khai phá dữ liệu và bài toán học phân loại Chương 2 trình bày các khái niệm cơ bản về kĩ thuật khám phá tri thức, mô hình của bài toán phân loại, phân tích khả năng á
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Sinh viên thực hiện : Nguyễn Chí Thanh
Lớp HTTT – K50
Giáo viên hướng dẫn: PGS TS Nguyễn Kim Anh
HÀ NỘI 6-2010
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Trang 2Họ và tên sinh viên: Nguyễn Chí Thanh
Điện thoại liên lạc: 0986703698 Email: thanhnc201086@gmail.com
Lớp: HTTT B – K50 Hệ đào tạo: Đại học chính quy
Đồ án tốt nghiệp được thực hiện tại: Bộ môn Hệ thống thông tin, Viện CNTT & Truyền thông, Trường Đại học Bách khoa Hà nội
Thời gian làm ĐATN: Từ ngày 05 / 01 /2010 đến 28 / 05 /2010
2 Mục đích nội dung của ĐATN
Chứng minh được một giải pháp cho bài toán nới lỏng truy vấn sử dụng tri thức học online
và cài đặt hệ thống thử nghiệm
3 Các nhiệm vụ cụ thể của ĐATN
- Tìm hiểu bài toán nới lỏng truy vấn và thực trạng nới lỏng truy vấn dựa trên cách các tiếp cận đã có
- Tìm hiểu các kĩ thuật khám phá tri thức và nghiên cứu khả năng áp dụng cho bài toán nới lỏng truy vấn
- Chứng minh giải pháp nới lỏng truy vấn sử dụng kĩ thuật khám phá tri thức
- Cài đặt hệ thống thử nghiệm
4 Lời cam đoan của sinh viên:
Tôi – Nguyễn Chí Thanh - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới
sự hướng dẫn của PGS TS Nguyễn Kim Anh
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày tháng năm 2010
Tác giả ĐATN
Nguyễn Chí Thanh
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:
Trang 3TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Nội dung của đồ án bao gồm 5 chương
Phần mở đầu
Phần này giới thiệu về bài toán nới lỏng truy vấn với các hệ tìm kiếm thông tin
Chương 1 – Tổng quan về nới lỏng truy vấn
Phần này đặt vấn đề về bài toán nới lỏng, thực trạng của nới lỏng truy vấn, đề xuất hướng tiếp cận mới.
Chương 2 - Kĩ thuật khai phá dữ liệu và bài toán học phân loại
Chương 2 trình bày các khái niệm cơ bản về kĩ thuật khám phá tri thức, mô hình của bài toán phân loại, phân tích khả năng áp dụng cho bài toán nới lỏng
Chương 3 - Nới lỏng theo tiếp cận của học cây quyết định.
Chương 3 trình bày phương pháp sử dụng kết quả của bài toán phân loại trong bài toán nới lỏng truy vấn online, được điều khiển theo truy vấn
Chương 4 - Chương trình cài đặt thử nghiệm
Chương 4 giới thiệu về một hệ thống thử nghiệm có cài đặt các kỹ thuật trong 3 chương đầu Nội dung của chương này tập trung vào kiến trúc hệ thống thử nghiệm, giới thiệu các lớp trong chương trình và CSDL thử nghiệm Phần cuối chương đưa ra một số kết quả minh họa hoạt động của hệ thống.
Phần kết luận và hướng phát triển
Phần này tổng kết lại những kết quả đồ án đã đạt được và những vấn đề còn tồn đọng,
đồng thời đưa ra một số phương án phát triển đề tài lên mức cao hơn
Trang 4Mục lục
Mục lục 4
LỜI CẢM ƠN 5
DANH MỤC CÁC HÌNH VẼ 6
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ 8
Mở đầu 9
Chương I Tổng quan về nới lỏng truy vấn 10
1.1 Định nghĩa 10
1.2 Vị trí của nới lỏng 10
11
1.3 Một số cách tiếp cận nới lỏng 11
Chương II Kĩ thuật khai phá dữ liệu và bài toán học phân loại 13
2.1 Khai phá tri thức 13
15
17
2.2 Mô hình học, dự đoán của bài toán phân loại 17
2.3 Mô hình học cây quyết định 20
2.3 Học cây quyết định cho bài toán nới lỏng truy vấn 31
2.4 Sơ nét về thư viện lập trình học máy của Weka 32
Chương III Nới lỏng theo tiếp cận của học cây quyết định 33
Trang 5LỜI CẢM ƠN
Để đồ án tốt nghiệp này được hoàn thành bên cạnh những nỗ lực của bản thân sinh viên trong suốt quá trình học tập, còn có biết bao lời động viên, hướng dẫn, giúp đỡ tận tình từ phía thầy cô, gia đình và bạn bè Vì thế em xin dành những lời đầu tiên của luận văn tốt nghiệp này cho những lời cảm ơn
Trước hết, em xin được gửi lời cảm ơn chân thành và sâu sắc tới giáo viên hướng dẫn: PGS TS Nguyễn Kim Anh, khoa Công nghệ thông tin, trường Đại học Bách Khoa Hà Nội Cô là người đã cho em những sự hướng dẫn, chỉ bảo tận tình cùng với những sự quan tâm động viên vô cùng hữu ích trong suốt quá trình em thực hiện
đồ án
Em xin gửi lời cám ơn chân thành tới các thầy cô giáo trong bộ môn Hệ thống thông tin, khoa Công nghệ thông tin nói riêng và toàn thể các thầy cô giáo trường Đại học Bách Khoa Hà Nội nói chung Các thầy cô đã tận tình với những bài giảng, với sự tận tâm trong công tác giảng dạy, đã cho em những kiến thức, những bài học
vô cùng bổ ích về chuyên môn và về đạo đức trong suốt năm năm học vừa qua Những kiến thức mà các thầy cô truyền dạy đã không chỉ giúp em hoàn thành tốt đồ
án tốt nghiệp này mà chắc chắn sẽ còn giúp ích cho em rất nhiều trong tương lai.Cuối cùng, xin được gửi những lời cảm ơn sâu sắc tới gia đình thân yêu, tới những anh chị, những bạn bè thân thiết đã luôn ở bên cạnh động viên, giúp đỡ.Mặc dù đã cố gắng nỗ lực hết mình , song chắc chắn luận văn không khỏi còn nhiều thiếu sót Em rất mong nhận được sự thông cảm và chỉ bảo tận tình của Thầy
Cô và các bạn
Hà Nội, 05/2010
Sinh viên thực hiện:
Nguyễn Chí Thanh
Trang 6DANH MỤC CÁC HÌNH VẼ
Hình 1: Vị trí của nới lỏng 11
Hình 2: Thuận lợi của khám phá tri thức 14
Hình 3: Tiến trình khai phá tri thức 15
Hình 4: Ứng dụng của KDD 17
Hình 5: Mô hình học 18
Hình 6: Mô hình thử 19
Hình 7: Mô hình sử dụng (phân loại) 19
Hình 8: Ví dụ về cây quyết định 22
Hình 9: Lượng thông tin đạt được khi phân chia tập ví dụ trên thuộc tính Huminity 26
Hình 10: Lượng thông tin đạt được khi phân chia tập ví dụ trên trên thuộc tính Wind 26
Hình 11: Lượng thông tin đạt được khi phân chia tập ví dụ trên trên thuộc tính Outlook 27
Hình 12: Phân chia trên thuộc tính số 28
Hình 13: Chia lớp theo chỉ số Gini 29
Hình 14: Quá trình thử phân chia và tính chỉ số Gini 30
Hình 15: Cây quyết định thu được sau khi đã phân chia tập ví dụ 31
Hình 16: Giải thuật nới lỏng 37
Hình 17: Trích xuất tri thức về miền giá trị 38
Hình 18: Nới lỏng tập ràng buộc 40
Hình 19: Ví dụ về cây điều kiện 43
Hình 20: Ví dụ về cây điều kiện (2) 44
Trang 7DANH MỤC CÁC BẢNG
Bảng 1: Dữ liệu thống kê chơi golf 22
Bảng 2: Bảng ví dụ 30
Bảng 3: Bảng dữ liệu thử 34
Bảng 4: Bảng dữ liệu Di 34
Trang 8DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ
STT TỪ VIẾT TẮT GIẢI NGHĨA TIẾNG ANH GIẢI NGHĨA TIẾNG VIỆT
5 DNF Disjunctive Normal Form Dạng chuẩn tuyển
6 GNU General Public License
Trang 9dữ liệu, không thể mở toàn bộ cơ sở dữ liệu đích, không được hiểu biết cấu trúc của
cơ sở dữ liệu, các quan hệ tồn tại trong nó nên cái mà họ thường xuyên gặp phải là
sự thất bại tái diễn của các truy vấn, khi không có một kết quả nào thỏa mãn
Việc nới lỏng truy vấn bằng tay mà đòi hỏi sự cộng tác của người dùng qua từng bước thực hiện đã là một công việc gây mất thời gian, buồn tẻ, và chán ngắt Trong trường hợp xấu nhất họ phải xét đến một hàm số mũ của các khả năng nới lỏng có thể (các khả năng nới lỏng ở đây lả các cách thử kết hợp khác nhau dựa trên giá trị đối với mỗi tập các thuộc tính)
Trong tình huống tệ hơn, sự nới lỏng quá mức đối với một truy vấn (đôi khi phá
vỡ cả các ràng buộc để có nhiều bộ thỏa mãn) có thể đưa ra cái giá không ngờ tới trong khía cạnh băng thông và phí phải trả cho mỗi bộ các kết quả có được
Trước tình hình đó, yêu cầu đặt ra với các hệ tìm kiếm thông tin hiện đại là phải
sử dụng nguồn tri thức bổ sung để giải quyết ngày càng nhiều hơn những vấn đề đau đầu nói trên Vai trò của tri thức không chỉ đem lại trả lời thỏa đáng cho người dùng mà còn có nhiều khả năng đáng kinh ngạc: giải thích thông minh, cung cấp thêm hiểu biết và lựa chọn cho người dùng nhờ các tư vấn ngày càng nhanh chóng
và chính xác Vậy nguồn tri thức này lấy từ đâu?
Khái niệm tri thức chỉ thông tin được tích lũy, bao gồm các nhân tố và mối quan
hệ giữa chúng, được nhận ra, nghiên cứu và được học bởi các hệ thống thông minh,
hay những “hình ảnh mô phỏng của bộ não con người” Tri thức có thể được coi là
dữ liệu ở mức khái quát và trừu tượng cao
Kĩ thuật khai phá dữ liệu (KDD) và học máy (Machine learning) mở rộng khả
năng tìm kiếm thông tin Khả năng học là một trong những thành tố quan trọng của hành vi thông minh
Để giải quyết thành công các bài toán khai phá dữ liệu cần có sự phối hợp và nỗ lực vượt bậc của các chuyên gia và người sử dụng cuối Nhà chuyên gia cần nắm vững các kỹ thuật, hiểu được các yêu cầu thực tế, vận dụng kỹ thuật để giải quyết các bài toán và giải thích kết quả bằng ngôn ngữ thực tế cho người sử dụng Và người sử dụng cần nhận ra những bài toán thiết thực, nắm bắt các kết quả đạt được
và vận dụng chúng một cách hiệu quả trong thực tế
Trang 10Chương I Tổng quan về nới lỏng truy vấn
1.1 Định nghĩa
Như đã giới thiệu, nới lỏng truy vấn là phương pháp được sử dụng trong các hệ thống thông tin cộng tác với người dùng, cung cấp khả năng mở rộng phạm vi tìm kiếm thông tin Nới lỏng được sử dụng khi câu truy vấn người dùng đưa vào không
có kết quả, hoặc các kết quả hệ thống trả về không không đáp ứng được yêu cầu Trong một số hệ thống tìm kiếm, nới lỏng truy vấn là kĩ thuật để giới hạn các kết quả có thể, giảm sự bất ngờ, bối rối từ phía người sử dụng, cũng như chi phí về băng thông khi kết quả tìm kiếm quá lớn Hơn nữa, nó làm tăng khả năng sử dụng kết quả tìm kiếm từ phía người sử dụng
1.2 Vị trí của nới lỏng
Một trong những đặc điểm dễ thấy nhất của kỹ thuật nới lỏng là sự gia tăng số lượng và phạm vi của kết quả truy vấn Đặc điểm này đôi khi gây bối rối cho người dùng, nhất là những người dùng phổ thông Yêu cầu đặt ra với mô đun nới lỏng là phải có khả năng tương tác với người dùng, giải thích các vị trí nới lỏng và cho phép người dùng tự mở rộng phạm vi truy vấn theo ý muốn Quá trình tương tác nới lỏng diễn ra theo vòng lặp, xuyên suốt phiên làm việc và chấm dứt khi người sử dụng không có nhu cầu tiếp tục
Như mọi mô đun khác trong hệ thống, mô đun thực hiện chức năng nới lỏng cũng có đầu vào và đầu ra Đầu vào nới lỏng là một cấu trúc lưu trữ các thành phần của một câu truy vấn hoàn chỉnh, bao gồm đích, các điều kiện chọn, các liên kết… Cấu trúc này không nhất thiết phải có dạng SQL, mà có thể ở những dạng phù hợp hơn (chẳng hạn như dạng cây cú pháp sinh ra bởi bộ xử lý ngôn ngữ tự nhiên) Trong đồ án này, mô đun nới lỏng sẽ đảm nhận cả chức năng phát hiện lỗi trong truy vấn và chức năng nới lỏng các ràng buộc Đầu ra của mô đun nới lỏng sẽ bao gồm những thông báo lỗi, các gợi ý khắc phục lỗi, các thông tin về nới lỏng, và quan trọng nhất, là câu truy vấn đã nới lỏng theo yêu cầu của người dùng Tùy theo thời điểm tương tác mà người sử dụng sẽ nhận được những thông tin khác nhau từ
mô đun nới lỏng
Nhìn chung, vị trí của mô đun nới lỏng trong một hệ cộng tác có dạng như sau :
Trang 11Hình 1: Vị trí của nới lỏng
1.3 Một số cách tiếp cận nới lỏng.
Các kĩ thuật thu thập và biểu diễn tri thức đóng vai trò quan trọng trong việc
phát hiện và mô tả mối quan hệ giữa các giá trị “thô” trong CSDL (là các giá trị
thuộc miền giá trị của thuộc tính nào đó) và các khái niệm ở mức trừu tượng cao hơn Các tri thức này là cơ sở cho quá trình nới lỏng truy vấn Mỗi phương pháp thu thập và biển diễn tri thức khác nhau đem đến một hướng tiếp cận khác nhau tới nới lỏng Có thể kể tên một vài hướng tiếp cận trong số đó, bao gồm: Tiếp cận dựa trên tập mờ, tiếp cận dựa trên khoảng cách ngữ nghĩa và tiếp cận dựa trên phương pháp gom nhóm khái niệm, tiếp cận phân cấp trừu trượng tri thức
Tiếp cận mờ gán cho mỗi đối tượng dữ liệu một độ thuộc vào một miền nào đó
Độ thuộc này có giá trị từ 0 tới 1 Thông tin trong cơ sở tri thức là những thông tin
“mờ”, tương đương với những giá trị ngôn ngữ được gán độ thuộc đối với miền Các câu truy vấn xấp xỉ được thực hiện một cách tự nhiên trên những khoảng mờ
Tiếp cận khoảng cách ngữ nghĩa định nghĩa số đo khoảng cách giữa một cặp
đối tượng dữ liệu, là độ đo chỉ ra mức độ “gần” nhau về ngữ nghĩa giữa chúng Miền giá trị của thuộc tính được biểu diễn bằng một ma trận có trọng số Cách tiếp cận này khá dễ dàng và tỏ ra hiệu quả trong việc phát triển các thuật toán nới lỏng nếu khoảng cách giữa các đối tượng dễ tính toán Tuy nhiên, tiếp cận khoảng cách ngữ nghĩa bị hạn chế trong việc biến đổi các đối tượng định lượng và định tính về cùng một thước đo định lượng Hơn nữa, không có tiêu chuẩn chung nào trong việc đánh giá mức độ tương tự về mặt ngữ nghĩa giữa các đối tượng dữ liệu
Tiếp cận gom nhóm khái niệm áp dụng các phương pháp trừu tượng hóa cho
dữ liệu Một nhóm các khái niệm tương tự nhau được gom lại thành một khái niệm duy nhất đại diện cho nhóm đó Sự gom nhóm khái niệm tạo ra một cấu trúc phân cấp hình cây gọi là phân cấp khái niệm Các phân cấp khái niệm là cơ sở tri thức sử dụng trong nới lỏng Hướng tiếp cận này chấp nhận những câu truy vấn ngữ nghĩa dựa trên các khái niệm trừu tượng Nó tỏ ra có ưu điểm đặc biệt khi các đối tượng
Trang 12dữ liệu là định tính và có khả năng phân loại tốt Tuy nhiên, nó cũng có một số giới hạn do bị phụ thuộc vào tính đa dạng của các câu truy vấn và vào độ mềm dẻo của các phân cấp Hơn nữa, thường xảy ra nhập nhằng giữa các giá trị do sự thiếu vắng các thông tin về miền của các giá trị đó.
Tiếp cận phân cấp trừu tượng tri thức (Knowledge Abstraction Hierarchy -
KAH) giải quyết hạn chế của các phương pháp gom nhóm khái niệm, bổ sung thêm
ngữ nghĩa cho các phân cấp khái niệm Các phân cấp KAH chứa đựng cả những thông tin trừu tượng giá trị lẫn những thông tin trừu tượng về miền của các giá trị đó
1.3.1 Hạn chế của các tiếp cận học offline.
Một số tiếp cận nới lỏng trước đây đã đưa ra giải pháp tự động cho việc nới lỏng truy vấn nhưng có một hạn chế lớn là: những tri thức dùng cho viêc xử lý nới lỏng
đòi hỏi offline, độc lập với câu truy vấn cần được nới lỏng Hơn nữa, việc học
offline có thể được áp dụng trên một cơ sở dữ liệu cũ, không đem lại kết quả, hoặc
kết quả không còn hữu ích, người có nhu cầu truy vấn đến dữ liệu không thể sử dụng kết quả trả lại
1.3.2 Tiếp cận nới lỏng sử dụng tri thức học online.
Tiếp cận nới lỏng truy vấn sử dụng các tri thức được phát hiện online nhờ các
kĩ thuật khai phá dữ liệu (Data Mining) là một hướng đi mới Trong cách tiếp cận
này, tri thức dành cho nới lỏng được học ngay khi có truy vấn của người dùng
(online) và được điều khiển dựa trên truy vấn(query guided), nên vì vậy rất phong
phú Đã có nhiều nghiên cứu về cách tiếp cận này và có các kết quả rất khả quan Tuy việc học và trả lời được thực hiện online, nhưng thời gian đáp ứng khá nhanh, thậm chí người đang truy vấn tới dữ liệu có thể không biết đến quá trình nới lỏng đã diễn ra
Trang 13Chương II Kĩ thuật khai phá dữ liệu và bài toán học phân loại
Chương 2 này sẽ trình bày các khái niệm cơ bản về kĩ thuật khám phá tri thức,
mô hình của bài toán phân loại, phân tích khả năng áp dụng cho bài toán nới lỏng Sau đó, chương sẽ tập trung vào việc vận dụng học cây quyết định – một dạng bài toán phân loại đối với khả năng nới lỏng truy vấn
2.1 Khai phá tri thức
Thuật ngữ Khai phá tri thức từ cơ sở dữ liệu (tiếng anh là: Knowledge
Discovery in Databases - KDD) chỉ một tiến trình rất rộng nhằm tìm kiếm tri thức
trong dữ liệu, và nhấn mạnh các ứng dụng mức cao của các phương pháp khai phá
dữ liệu(Data mining) riêng biệt.
Chúng ta thường thấy dữ liệu ở dạng chuỗi các bít, hoặc các con số và kí hiệu, hoặc các “đối tượng” mà chúng ta có thể thu thập được trong cuộc sống thường ngày
Khái niệm thông tin là dữ liệu được tối thiểu hóa dư thừa, và được cắt giảm tới mức nhỏ nhất có thể để số hóa dữ liệu
Khái niệm tri thức là các thông tin được tích hợp, bao gồm các sự kiện và mối quan hệ giữa chúng, mà có thể được nhận biết, khám phá, hoặc được học từ các
“hình ảnh của bộ não con người”
Tri thức có thể được coi là dữ liệu ở mức trừu tượng và tổng quát quá cao
Mục đích duy nhất của tiến trình khai phá tri thức là trích xuất tri thức từ dữ liệu trong các cơ sở dữ liệu rất lớn
Trang 14Hình 2: Thuận lợi của khám phá tri thức
Nó thực hiện điều này bằng cách sử dụng các phương pháp khai phá dữ liệu(giải
thuật) để trích ra(định nghĩa) các tri thức tiềm ẩn, theo các đặc tả về độ đo và giá trị
ngưỡng, sử dụng một cơ sở dữ liệu (CSDL) với bất kì việc tiền xử lý, lấy mẫu, các
chuyển đổi nào được yêu cầu trên CSDL đó
Tiến trình khai phá tri thức:
Trang 15Hình 3: Tiến trình khai phá tri thức
Toàn bộ tiến trình tìm kiếm và hiểu được các mẫu từ dữ liệu bao gồm trong đó chương trình lặp lại các bước:
o Miền ứng dụng
o Những thông tin về tính ưu tiên
o Mục đích của người sử dụng cuối
các biến số, các mẫu dữ liệu, mà sự khám phá được thực hiện
o Xử lý nhiễu
o Thu thập các thông tin cần thiết để mô hình và gán cho nhiễu
o Các chiến lược xử lý các trường dữ liệu bị khuyết
o Đăng ký những thông tin về trình tự thời gian và những thay đổi đã biết
o Tìm các đặc trưng hữu ích để chỉ ra dữ liệu phụ thuộc vào đích đến của tác vụ
Trang 16o Sử dụng các phương pháp rút gọn theo chiều hoặc chuyển đổi để làm giảm một số đáng kể các biến thiên hoặc để tìm ra các đại diện không hay đổi của dữ liệu
o Quyết định xem mục đích của tiến trình khai phá dữ liệu là phân loại, phân cụm, hồi quy,…
o Chọn phương pháp được sử dụng để tìm kiếm các mẫu trong dữ liệu
o Quyết định xem mẫu nào và tham số nào là phù hợp
o Ánh xạ một phương pháp khai phá dữ liệu riêng biệt với toàn bộ tiêu chuẩn của tiến trình khai phá dữ liệu
Trang 17Hình 4: Ứng dụng của KDD
Khai phá dữ liệu
Khai phá dữ liệu (Data Mining) là một thành phần cấu thành của tiến trình khám phá tri thứ (KDD process).
Các nhiệm vụ chính của khai phá dữ liệu(Data Mining)
- Phân loại dữ liệu (Classification): tìm mô tả của một vài lớp đã được định
nghĩa và phân loại các đơn vị dữ liệu vào một trong các lớp ấy
- Phân cụm dữ liệu (Clustering); định nghĩa một tập hữu hạn các tập hợp hoặc
cụm để mô tả dữ liệu
- Hồi quy (Regression): ánh xạ một đơn vị dữ liệu tới một biến thực.
- Mô hình hóa sự phụ thuộc (Dependency Modeling): phát hiện một mô hình
mà mô tả các phụ thuộc quan trọng giữa các biến
các thay đổi quan trọng trong dữ liệu
- Tóm tắt dữ liệu (Summarization): tìm các mô tả tóm tắt cho một tập dữ liệu.
Nội dung đồ án này sẽ phân tích khả năng ứng dụng các bài toán học phân loại với nới lỏng truy vấn
2.2 Mô hình học, dự đoán của bài toán phân loại
Mục đích của phân loại dữ liệu là để tổ chức và sắp xếp dữ liệu vào trong các lớp riêng biệt
Trang 18- Một mô hình được tạo lần đầu dựa trên sự phân bố dữ liệu.
- Mô hình này sau đó được sử dụng để phân loại dữ liệu mới
- Cho trước một mô hình, một lớp có thể được dự đoán đối với dữ liệu mới.Tiến trình từ phân loại đến dự đoán dữ liệu mới gồm 3 bước – 3 mô hình con:
Mô hình học
Mỗi bản ghi (thực thể) được giả định thuộc về một lớp được định nghĩa sẵn, được xác định bởi một trong số các thuộc tính, được gọi là nhãn lớp
Tập tất cả các bản ghi được sử dụng để tạo mô hình được gọi là tập rèn luyện
Mô hình này được giới thiệu dưới dạng các luật phân loại (các biểu thức IF -
THEN) hoặc các cây quyết định.
Hình 5: Mô hình học
Mô hình thử (chính xác)
Trang 19Hình 6: Mô hình thử
Trong mô hình này, một tập dữ liệu được lấy ngẫu nhiên và phải độc lập với tập
dữ liệu rèn luyện để kiểm tra tính chính xác của tri thức được học Nhãn được biết đến của mẫu thử được so sánh với kết quả phân loại từ mô hình Từ đó ước lượng tỉ
lệ chính xác của mô hình dựa trên một tập thử (Tỉ lê chính xác: là phần trăm của tập thử phân loại đúng bởi mô hình)
Tập thử là một tập rèn luyện độc lập, nếu không hiện tượng "over-fitting" sẽ xảy
ra
Mô hình sử dụng (phân loại)
Mô hình được dùng để phân loại những thực thể không được nhìn thấy (gán các nhãn lớp), dự đoán giá trị của thuộc tính
Hình 7: Mô hình sử dụng (phân loại)
Trang 20Các phương pháp phân loại:
• …
Ứng dụng của bài toán phân loại dữ liệu:
Bài toán phân loại có nhiều ứng dụng trong các hệ thống phân loại tài
liệu(BLISS trong hệ thống thư viện), giao diện thương mại điện tử(các sites
Amazon, eBay), y tế (MeSH), địa chất (ACORN), khai phá dữ liệu,
2.3 Mô hình học cây quyết định
2.3.1 Cây quyết định
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive
model), nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết
luận về giá trị mục tiêu của sự vật/hiện tượng Mỗi một nút trong (internal node)
tương ứng với một biến; đường nối giữa nó với nút con của nó thể hiện một giá trị
cụ thể cho biến đó Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó
Kỹ thuật học máy dùng trong cây quyết định được gọi là học bằng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Học bằng cây quyết định cũng là một phương pháp thông dụng trong khai phá
dữ liệu Khi đó, cây quyết định mô tả một cấu trúc cây, trong đó, các lá đại diện cho các phân loại còn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại
Trang 21tính toán nhằm hỗ trợ việc mô tả, phân loại và tổng quát hóa một tập dữ liệu cho trước.
Ta sẽ dùng một ví dụ để giải thích về cây quyết định:
David là quản lý của một câu lạc bộ đánh golf nổi tiếng Anh ta đang có rắc rối chuyện các thành viên đến hay không đến Có ngày ai cũng muốn chơi golf nhưng
số nhân viên câu lạc bộ lại không đủ phục vụ Có hôm, không hiểu vì lý do gì mà chẳng ai đến chơi, và câu lạc bộ lại thừa nhân viên
Mục tiêu của David là tối ưu hóa số nhân viên phục vụ mỗi ngày bằng cách dựa theo thông tin dự báo thời tiết để đoán xem khi nào người ta sẽ đến chơi golf Để thực hiện điều đó, anh cần hiểu được tại sao khách hàng quyết định chơi và tìm hiểu xem có cách giải thích nào cho việc đó hay không
Vậy là trong hai tuần, anh ta thu thập thông tin về: Trời(outlook) (nắng(sunny), nhiều mây (clouded), hoặc mưa (raining)) Nhiệt độ (temperature) bằng độ F Độ
ẩm (humidity) Có gió mạnh (windy) hay không.
Và tất nhiên là số người đến chơi golf vào hôm đó David thu được một bộ dữ liệu gồm 14 dòng và 5 cột
Day Outlook Temp Humidity Wind Play?
g
No
Trang 2214 Rain Mild High Stron
Bảng 1: Dữ liệu thống kê chơi golf
Sau đó, để giải quyết bài toán của David, người ta đã đưa ra một mô hình cây quyết định
Hình 8: Ví dụ về cây quyết định
Cây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn lớp theo các thuộc tính dùng để dự đoán Đây là một đồ thị có hướng phi chu trình dưới dạng một cây Nút gốc (nút nằm trên đỉnh) đại diện cho toàn bộ dữ liệu Thuật toán cây phân loại phát hiện ra rằng cách tốt nhất để giải thích biến phụ thuộc, play (chơi), là
sử dụng biến Outlook Phân loại theo các giá trị của biến Outlook, ta có ba nhóm khác nhau: Nhóm người chơi golf khi trời nắng, nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mưa
Kết luận thứ nhất: nếu trời nhiều mây, người ta luôn luôn chơi golf Và có một
số người ham mê đến mức chơi golf cả khi trời mưa
Trang 23Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thành một cấu trúc đơn giản hơn rất nhiều.
2.3.2 Thuật toán ID3/C4.5
Trong học cây quyết định, ID3 là một giải thuật được sử dụng để tạo ra một cây
quyết định được đề xuất bởi Ross Quinlan
Thuật toán ID3 có thể được tóm tắt như sau:
1 Sử dụng tất cả các thuộc tính điều kiện và tính toán entropy ảnh hưởng tới các mẫu luyện
2 Chọn thuộc tính mà có entropy nhỏ nhất ( hoặc nếu sử dụng infomation gain, thì infomation gain nhỏ nhất)
3 Tạo nút chứa thuộc tính vừa chọn
Thuật giải như sau:
ID3(Tập_mẫu_luyện, Thuộc_tính_đích, Danh_sách_thuộc_tính)
- Tạo một nút gốc của cây
- Nếu tất cả các mẫu là positive, trả về một nút đơn là nút gốc của cây với nhãn +
- Nếu tất cả các mẫu là negative, trả về một nút đơn là nút gốc của cây với nhãn -
- Nếu số các thuộc tính dự đoán là rỗng, thì trả về một nút đơn với nhãn = các giá trị phổ biến của thuộc tính đích trong các mẫu luyện
- Trường hợp khác, thực hiện:
o A thuộc tính phân loại tốt nhất tập mẫu luyện
o Thuộc tính quyết định cho nút gốc A
vi
Thì dưới nhánh mới này tạo một nút lá có nhãn = giá trị phổ biến trong tập mẫu
Trang 24 Ngược lại, dưới nhánh mới tạo cây con
C4.5 xây dựng cây quyết định từ một tập dữ liệu rèn luyện theo như cách của
diện cho các thuộc tính hoặc đặc trưng của mẫu Dữ liệu rèn luyện được đánh trọng
đó
C4.5 sử dụng thực tế rằng mối đặc tính của dữ liệu có thể được sử dụng để tạo
ra các quyết đinh chia tập dữ liệu thành các tập nhỏ hơn C4.5 kiểm tra một độ đo định lượng thông tin (sự khác nhau về entropy) được tính ra từ việc
Những cải tiến so với ID3:
- Xử lý đối với cả các thuộc tính liên tục và rời rạc - Để mà xử lý các thuộc tính liên tục, C4.5 tạo ra một ngưỡng sau đó chia danh sách thành những danh sách con mà giá trị của thuộc tính ở mức trên giá trị ngưỡng và giá trị của thuộc tính ở mức nhỏ hơn hay bằng giá trị ngưỡng
- Xử lý dữ liệu luyện với các giá trị thuộc tính bị khuyết - C4.5 cho phép các
giá trị thuộc tính mang mặt nạ ? đối với giá trị khuyết.
- Xử lý các thuộc tính với giá khác nhau
- Tỉa cây sau khi tạo
-Lựa chọn thuộc tính
Trang 25 Có thể biến đổi để áp dụng cho thuộc tính phi số
Độ đo định lượng thông tin
Ta ký kiệu:
S: số lượng tập huấn luyện
- Thông tin cần biết để phân lớp một mẫu:
Thuộc tính A có các giá trị {a1, a2, …,an}
Sn}
Sij : số mẫu của lớp Ci thuộc tập con Sj (A=aj)
- Entropy của thuộc tính A:
- Độ đo định lượng thông tin dựa trên phân nhánh bằng thuộc tính A:
Tại mỗi cấp, chúng ta chọn thuộc tính có độ lợi lớn nhất để phân nhánh cây hiện tại
Trang 26Hình 9: Lượng thông tin đạt được khi phân chia tập ví dụ trên thuộc tính Huminity
Gain(S,Humidity)
=0.940 – (7/14)*0.985 – (7/14)*0.592
=0.151
- Xét thuộc tính Wind:
Trang 27Trong đó: là tần suất của lớp j trong nút t
- Thấp nhất là 0 khi các mẫu chỉ thuộc về một lớp
Ví dụ chỉ số Gini:
Trang 28Hình 12: Phân chia trên thuộc tính số
Trang 29Hình 13: Chia lớp theo chỉ số Gini
Phân chia thuộc tính có giá trị liên tục
- Dựa trên một giá trị nếu muốn phân chia nhị phân
- Dựa trên vài giá trị nếu muốn có nhiều nhánh
- Với mỗi giá trị tính các mẫu thuộc một lớp theo dạng A<v và A>v
Cách chọn giá trị v đơn giản: với mỗi giá trị v trong CSDL đều tính Gini của nó
và lấy giá trị có Gini nhỏ nhất à kém hiệu quả
TIDC Refund Marital Tax Che
at