1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ xây dựng hệ thống hỗ trợ tư vấn hướng nghiệp cho học sinh THPT tỉnh trà vinh

75 150 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 75
Dung lượng 3,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tôi nghĩ có thể vận dụng phương pháp phân lớp dựa trên cây quyết định khai thác tập dữ liệu điểm đầu vào và đầu ra của sinh viên từ đó các được cái nhìn khách quan hơn, chính xác hơn.. C

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN THANH PHONG

XÂY DỰNG HỆ THỐNG HỖ TRỢ TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT

TỈNH TRÀ VINH

LUẬN VĂN THẠC SĨ KỸ THUẬT

Đà Nẵng - Năm 2017

Trang 2

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA

NGUYỄN THANH PHONG

XÂY DỰNG HỆ THỐNG HỖ TRỢ TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH THPT

TỈNH TRÀ VINH

Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01.01

LUẬN VĂN THẠC SĨ KỸ THUẬT

Người hướng dẫn khoa học: TS TRƯƠNG NGỌC CHÂU

Đà Nẵng - Năm 2017

Trang 3

i

LỜI CAM ĐOAN

Tôi xin cam đoan :

Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực

tiếp của TS Trương Ngọc Châu

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng và trung thực tên

tác giả, tên công trình, thời gian, địa điểm công bố

Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu

hoàn toàn trách nhiệm

Trang 4

TÓM TẮT LUẬN VĂN XÂY DỰNG HỆ THỐNG TƯ VẤN HƯỚNG NGHIỆP CHO HỌC SINH

em chọn đúng ngành nghề Mặt khác, để giúp các cấp quản lý, hội đồng bộ môn, ban giám hiệu các trường trung học phổ thông xây dựng kế hoạch hợp lí hơn nhằm đạt được những mục tiêu mong muốn Tôi nghĩ có thể vận dụng phương pháp phân lớp dựa trên cây quyết định khai thác tập dữ liệu điểm đầu vào và đầu ra của sinh viên từ đó các được cái nhìn khách quan hơn, chính xác hơn Tìm hiểu từng ngành nghề một, tư duy nghề nghiệp có hợp với cá nhân,

sở thích, nhu cầu tuyển dụng, công việc cụ thể ra sao Từ các yêu cầu trên tôi xây dựng cây quyết định để xử lý bài toán Học sinh có sự thay đổi trong chọn ngành học, lựa chọn cho phù hợp với điều kiện của các em Và kết quả này sẽ là cơ sở cho việc định hướng phát triển học tập chọn ngành nghề cho các em trong tương lai

Từ khóa – Hệ thống tư vấn; hướng nghiệp; học sinh; phương pháp phân lớp; cây quyết

định

BUILDING CAREER ADVISORY SYSTEM FOR HIGH SCHOOL

STUDENTS OF TRA VINH PROVINCE

Abstract – In order to achieve the ultimate goal is to improve the quality and number of

students passing the university graduates are quite good at Tra Vinh University increasingly The use of the layered approach helps to determine the professional qualities of compulsory and graduate school graduation exams, and helps the school administration advise them to select the right trades On the other hand, to help administrators, departmental committees, high school administrators make more reasonable plans to achieve the desired goals I think it

is possible to manipulate the decision tree based on the decision tree to exploit the input and output data set of students from which the view is more objective and accurate Understand each industry, occupational thinking, personal preferences, hiring, job requirements From the above requirements, I built the decision tree to handle the problem Students have a change in their chosen field of study, chosen to suit their condition And this result will be the basis for the future orientation of the development of vocational education in the future

Key words - Counseling system; vocational guidance; student; Classification method;

Decision tree

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

TÓM TẮT LUẬN VĂN ii

MỤC LỤC iii

DANH MỤC CÁC BẢNG v

DANH MỤC CÁC HÌNH vi

MỞ ĐẦU 1

1 Lý do chọn đề tài 1

2 Mục tiêu và nhiệm vụ 2

3 Đối tượng và phạm vi nghiên cứu 2

4 Phương pháp nghiên cứu 3

5 Ý nghĩa đề tài 3

6 Bố cục của luận văn 3

CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 5

1.1 Giới thiệu chung 5

1.2 Các khái niệm về khai phá dữ liệu 5

1.3 Tại sao phải khai phá dữ liệu 5

1.4 Quá trình khai phá tri thức 7

1.5 Các kỹ thuật khai phá dữ liệu 8

1.6 Những thách thức trong ứng dụng và nghiên cứu trong kỹ thuật khai phá dữ liệu 10 CHƯƠNG 2 PHƯƠNG PHÁP PHÂN CỤM VÀ PHÂN LỚP DỮ LIỆU TRONG KHAI PHÁ DỮ LIỆU 13

2.1 Phân cụm dữ liệu 13

2.1.1 Tổng quan về phân cụm dữ liệu 13

2.1.2 Các kỹ thuật phân cụm 14

2.1.3 Độ đo khoảng cách: 16

2.1.4 Giới thiệu thuật toán k-means 17

2.2 Phân lớp dữ liệu 19

2.2.1 Tổng quan về phân lớp dữ liệu 19

2.2.2 Các kỹ thuật phân lớp 21

2.2.3 Cây quyết định ứng dụng trong phân lớp dữ liệu 22

2.2.4 Xây đựng cây quyết định 25

2.2.4.1 Chọn thuộc tính phân tách 25

2.2.4.2 Độ lợi thông tin (Information gain) 26

Trang 6

2.2.5 Thuật toán phân lớp cây quyết định ID3 27

2.2.6 Chuyển cây về các luật 35

2.2.7 Khi nào nên sử dụng ID3 35

CHƯƠNG 3 XÂY DỰNG CÂY QUYẾT ĐỊNH ĐỂ ĐÁNH GIÁ KẾT QUẢ THI ĐẦU VÀO CỦA SINH VIÊN TRƯỜNG ĐẠI HỌC TRÀ VINH TỪ ĐÓ TƯ VẤN CHO CÁC EM CÁC NGÀNH NGHỀ TRONG TƯƠNG LAI 37

3.1 Phân tích bài toán và hướng giải quyết 37

3.1.1 Phát biểu bài toán 37

3.1.2 Giải quyết bài toán 38

3.2 Tổng quan về phần mềm Weka 38

3.3 Sử dụng phần mềm Weka để xây dựng cây quyết định để từ đó tư vấn cho các em ngành nghề trong tương lai 38

3.4 Thu thập dữ liệu 39

3.5 Thực hiện khai phá dữ liệu 40

3.6 Sử dụng phần mềm Weka để xây dựng cây quyết định 42

3.6.1 Giới thiệu về cây quyết định 42

3.6.2 Thuật toán xây dựng cây quyết định 43

3.6.3 Mã của thuật toán 44

3.6.4 Sử dụng phần mềm Weka 45

3.7 Ứng dụng tri thức từ cây quyết định 48

3.7.1 Các mô-đun của hệ thống 52

3.7.2 Cài đặt hệ thống 54

3.7.3 Bảng mô tả cấu trúc dữ liệu 55

3.7.4 Giao diện chương trình tư vấn 57

KẾT LUẬN 59

DANH MỤC TÀI LIỆU THAM KHẢO 60 QUYẾT ĐỊNH GIAO ĐỀ TÀI

BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN

Trang 7

DANH MỤC CÁC BẢNG

3.1 Bảng mô tả cấu trúc tập dữ liệu trường ĐHTV 40

Trang 8

DANH MỤC CÁC HÌNH

2.1 So sánh gom nhóm dữ liệu theo khoảng cách địa lý và

2.8 Mô hình cây quyết định sau khi xét chọn thuộc tính

2.9 Mô hình cây quyết định, sau khi áp dụng thuật toán ID3 34

3.4 Chuyển thuộc tính Numeric sang thuộc tính Nominal 42

3.14 Giao diện chương trình sau khi tư vấn 57

Trang 9

MỞ ĐẦU

1 Lý do chọn đề tài

Sự phát triển không ngừng của ngành công nghệ thông tin nói chung và các lĩnh vực ngành công nghệ phần mềm nói riêng, việc tin học hóa các công tác quản lý trong nhiều lĩnh vực, hoạt động khác nhau đã tạo ra cho chúng ta một thư viện dữ liệu khổng lồ, sẵn sàng phục vụ bất cứ ai quan tâm Đối với chúng ta nó là một trong những nguồn tài nguyên thông tin vô cùng giá trị, việc tận dụng kho dữ liệu này để làm cơ sở cho việc hỗ trợ ra quyết định trong công tác quản lý mang lại hiệu quả đáng

kể Nhưng vấn đề là chúng ta cần phải phân loại nguồn tài nguyên đó như thế nào để

sử dụng có hiệu quả nhất trong từng lĩnh vực cụ thể

Chính vì vậy mà hiện nay các phương pháp quản trị và khai thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được nhu cầu thực tế, từ những hiện trạng này

đã làm phát triển một kỹ thuật mới nhằm giải quyết bài toán này, đó là Kỹ thuật phát hiện tri thức và khai phá dữ liệu (Knowledge Discovery and Data Mining)

Kỹ thuật phát hiện tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này cũng đang được nghiên cứu và dần đưa vào ứng dụng Trong lĩnh vực giáo dục tôi nghĩ rằng từ cơ sở dữ liệu kết quả tốt nghiệp trung học phổ thông hằng năm của học sinh đang được lưu tại Phòng Khảo thí và Kiểm định chất lượng giáo dục của Sở Giáo dục Chúng ta có thể áp dụng các kỹ thuật khai phá dữ liệu để đưa ra dự đoán và đánh giá kết quả học tập của học sinh từ đó đề ra định hướng cho học sinh chọn ngành nghề ,hướng nghề nghiệp cho học sinh v.v…

Bản thân tôi hiện nay đang công tác tại Trung tâm giáo dục thường xuyên Tỉnh Trà Vinh nhận thấy đây là một vấn đề khó khăn trong chuyên môn của các đơn vị trường học nên cố gắng vận dụng những kiến thức được học tại lớp Cao học ngành Công nghệ Thông tin của Trường Đại học Đà Nẵng để đưa ra một giải pháp dự đoán, định hướng được các ngành nghề trong tương lai dựa vào kết quả học tập tốt nghiệp THPT và sở thích của học sinh Vì những lý do như trên, tôi đề xuất chọn đề tài luận

văn cao học“Xây dựng hệ thống hỗ trợ tư vấn hướng nghiệp cho học sinh trung học

phổ thông tỉnh Trà Vinh”

Trang 10

2 Mục tiêu và nhiệm vụ

a Mục tiêu

Mục tiêu chính của đề tài là từ cơ sở dữ liệu kết quả tốt nghiệp trung học phổ thông hằng năm của học sinh đang được lưu tại Phòng Khảo thí và Kiểm định chất lượng giáo dục của Sở Giáo dục Chúng ta có thể áp dụng các kỹ thuật khai phá dữ liệu nhằm:

- Đánh giá được kết quả học tập của học sinh lớp 12 Giúp Ban giám hiệu nhà trường có những kế hoạch cho các em

- Đưa ra các nhận xét về kết quả đậu tốt nghiệp trung học phổ thông quốc gia đối với học sinh lớp 12 của các trường THPT Giúp Ban giám hiệu nhà trường tư vấn cho các em chọn lựa ngành nghề, phù hợp với khả năng của các em

- Đánh giá kết quả theo yêu cầu của đề tài

- Nghiên cứu đánh giá và xếp loại học trung học phổ thông; Những định hướng

của Bộ về phát triển toàn diện chương trình giáo dục phổ thông

3 Đối tượng và phạm vi nghiên cứu

Trong khuôn khổ của luận văn thuộc loại nghiên cứu và ứng dụng, tôi chỉ giới hạn nghiên cứu các vấn đề sau:

- Quá trình khám phá tri thức và khai phá dữ liệu Các kỹ thuật về khai phá dữ liệu, một số thuật toán được áp dụng cho từng kỹ thuật

- Bảng ghi thông tin điểm thi đầu vào của trường Đại học Trà Vinh

- Các văn bản hướng dẫn cách đánh giá, xếp loại học sinh

Trang 11

4 Phương pháp nghiên cứu

a Phương pháp lý thuyết

- Tiến hành thu thập và nghiên cứu các tài liệu có liên quan đến đề tài

- Nghiên cứu và vận dụng các kỹ thuật về khai phá dữ liệu, các thuật toán được

- Cài đặt ứng dụng trên môi trường Window

- Kiểm tra, thử nghiệm và đánh giá kết quả

- Hỗ trợ công tác quản lý, đề ra định hướng và tư vấn cho các em học sinh trong tương lai

6 Bố cục của luận văn

Luận văn bao gồm ba chương với các nội dung nghiên cứu như sau:

Chương 1: Trình bày các khái niệm khám phá tri thức và khai phá dữ liệu, ứng dụng của khai phá dữ liệu (Data mining), quá trình phát hiện tri thức, giới thiệu các kỹ thuật khai phá dữ liệu, những lợi thế và thách thức của KPDL

Trang 12

Chương 2: Giới thiệu về phân cụm và phân lớp dữ liệu trong khai phá dữ liệu Trong phân cụm dữ liệu giới thiệu các kỹ thuật phân cụm dữ liệu, thuật toán k-means Trong phân lớp dữ liệu giới thiệu các kỹ thuật phân lớp, thuật toán xây dựng cây quyết định ID3, chuyển cây về các luật

Chương 3: Xây dựng cây quyết định để đánh giá kết quả thi đầu vào của sinh viên trường Đại học trà vinh từ đó tư vấn cho các em các ngành nghề trong tương lai

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 1.1 Giới thiệu chung

Sự phát triển mạnh mẽ của công nghệ thông tin và ngành công nghiệp phần cứng

đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh Bên cạnh đó việc tin học hoá trong các hoạt động sản xuất, thương mại, khoa học kỹ thuật, y tế, giáo dục … đã tạo ra một lượng dữ liệu lưu trữ khổng lồ Hàng triệu

cơ sở dữ liệu đã được sử dụng, trong đó có nhiều cơ sở dữ liệu cực lớn cỡ Gigabyte, thậm chí là Terabyte Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những

kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ thành các tri thức có ích Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền công nghệ thông tin thế giới hiện nay

1.2 Các khái niệm về khai phá dữ liệu

Các hệ thống thông tin có thể lưu trữ một khối lượng lớn dữ liệu về hoạt động hằng ngày của chúng Từ khối dữ liệu này, các kỹ thuật trong khai phá dữ liệu (KPDL)

có thể dùng để trích xuất những thông tin hữu ích mà chúng ta chưa biết Các tri thức vừa học được có thể vận dụng để cải thiện hiệu quả hoạt động của hệ thống thông tin ban đầu

Giáo sư Tom Mitchell [8] đã đưa ra định nghĩa của KPDL như sau: “KPDL là việc sử dụng dữ liệu lịch sử để khám phá những qui tắc và cải thiện những quyết định trong tương lai.”

Với một cách tiếp cận ứng dụng hơn, Tiến sĩ Fayyad [7] đã phát biểu: “KPDL, thường được xem là việc khám phá tri thức trong các cơ sở dữ liệu, là một quá trình trích xuất những thông tin ẩn, trước đây chưa biết và có khả năng hữu ích, dưới dạng các qui luật, ràng buộc, qui tắc trong cơ sở dữ liệu.”

KPDL là một bước trong quy trình khám phá tri thức, nhằm:

- Rút trích thông tin hữu ích, chưa biết, tiềm ẩn trong khối dữ liệu lớn

- Phân tích dữ liệu bán tự động

- Giải thích dữ liệu trên các tập dữ liệu

1.3 Tại sao phải khai phá dữ liệu

Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số, ký hiệu, hoặc các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chương trình dưới

Trang 14

một dạng nhất định Chúng ta sử dụng các bit để đo lường các thông tin và xem nó như

là các dữ liệu đã được lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu để đặc trưng một cách cơ bản cho dữ liệu Chúng ta có thể xem tri thức như là các thông tin tích hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có thể được hiểu ra, có thể được phát hiện, hoặc có thể được học Nói cách khác, tri thức có thể được coi là dữ liệu có độ trừu tượng và tổ chức cao

Kho dữ liệu (Data Warehouse): là tuyển chọn các cơ sở dữ liệu tích hợp, hướng theo các chủ đề nhất định, được thiết kế để hỗ trợ cho chức năng trợ giúp quyết định,

mà mỗi đơn vị dữ liệu liên quan đến một khoảng thời gian cụ thể

Kho dữ liệu thường có dung lượng rất lớn, thường là hàng Gigabytes hay có khi tới hàng Terabytes

Kho dữ liệu được xây dựng để tiện lợi cho việc truy cập từ nhiều nguồn, nhiều kiểu dữ liệu khác nhau sao cho có thể kết hợp được cả những ứng dụng của các công nghệ hiện đại và vừa có thể kế thừa được từ các hệ thống đã có từ trước Dữ liệu được phát sinh từ các hoạt động hàng ngày và được thu thập xử lý để phục vụ công việc nghiệp vụ cụ thể của một tổ chức, vì vậy thường được gọi là dữ liệu tác nghiệp và hoạt động xử lý dữ liệu này gọi là xử lý giao dịch trực tuyến (OLPT - On Line Transaction Processing)

Luồng dữ liệu trong một tổ chức được mô tả khái quát như sau:

Hình 1.1 Mô tả luồng dữ liệu trong một tổ chức

Trang 15

Dữ liệu cá nhân không thuộc phạm vi quản lý của hệ quản trị kho dữ liệu Nó chứa các thông tin được trích xuất ra từ các hệ thống dữ liệu tác nghiệp, kho dữ liệu và

từ những kho dữ liệu nội bộ của những chủ đề liên quan bằng cách phép gộp, tổng hợp hay xử lý theo một cách nào đó

1.4 Quá trình khai phá tri thức

Khai phá dữ liệu được định nghĩa như một quá trình chắt lọc hay khám phá tri thức từ một lượng lớn dữ liệu Thuật ngữ Data Mining ám chỉ việc tìm một tập nhỏ có giá trị từ một lượng lớn các dữ liệu thô Có sự phân biệt giữa khái niệm "Khai phá dữ liệu" với khái niệm "Phát hiện tri thức" (Knowledge Discovery in Databases - KDD)

mà theo đó, khai phá dữ liệu chỉ là một bước trong quá trình KDD

Quá trình phát hiện tri thức tiến hành qua 6 giai đoạn [4]

Hình 1.2 Quá trình phát hiện tri thức

Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết xuất

ra Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề cần giải quyết Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho giải thuật khai phá dữ liệu có thể hiểu được Về lý thuyết thì có vẻ rất đơn giản nhưng thực

sự đây là một quá trình rất khó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp lại toàn bộ quá trình, v.v

Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc khai phá dữ liệu để tìm được các mẫu (pattern) có ý nghĩa dưới dạng biểu diễn tương

Trang 16

ứng với các ý nghĩa đó (thường thì được biểu diễn dưới dạng các luật xếp loại, cây quyết định, phát sinh luật, biểu thức hồi quy,…)

- Gom dữ liệu: Là việc tập hợp dữ liệu để khai thác từ trong một cơ sở dữ liệu,

một kho dữ liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web

- Trích lọc dữ liệu: Ở giai đoạn này dữ liệu được lựa chọn và phân chia theo một

số tiêu chuẩn nào đó nhằm phục vụ mục đích khai thác

- Làm sạch, tiền xử lý dữ liệu: Giai đoạn này là một bước rất quan trọng trong

quá trình khai phá dữ liệu Cần làm sạch, loại bỏ các dữ liệu không đầy đủ, chặt chẽ, logic và các dữ liệu chứa giá trị vô nghĩa vì dữ liệu này nếu không được “làm sạch, tiền xử lý” thì sẽ cho ra các kết quả sai lệch nghiêm trọng Giai đoạn này sẽ tiến hành

xử lý những dạng dữ liệu không chặt chẽ nói trên

- Chuyển đổi dữ liệu: 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á, dữ liệu đưa ra có thể sử dụng và điều khiển được, dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai

- Khai phá dữ liệu: Ở giai đoạn này nhiều thuật toán khác nhau sẽ được sử dụng

để trích ra các mẫu từ dữ liệu Đâ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 mẫu dữ liệu, là bước mang tính tư duy trong khai phá dữ liệu

- Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này các kỹ thuật biểu diễn

và hiển thị được sử dụng để đưa tri thức lấy ra cho người dùng Các mẫu dữ liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu Do đó không phải bất cứ mẫu dữ liệu nào cũng đều có ý nghĩa Vì vậy, cần phải đánh giá để chiết xuất ra các tri thức

(Knowlege) Đánh giá sự hữu ích của các mẫu biểu diễn tri thức dựa trên một số phép

đo Sau đó sử dụng các kỹ thuật trình diễn và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử dụng

1.5 Các kỹ thuật khai phá dữ liệu

Hai mục đích chính của khai phá dữ liệu trong thực tế là dự đoán và mô tả

a Khai phá dữ liệu dự đoán

Nhiệm vụ của khai phá dữ liệu dự đoán là đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Nó sử dụng các biến hay các trường trong cơ sở dữ liệu để

Trang 17

dự đoán các giá trị không biết hay các giá trị tương lai Bao gồm các kĩ thuật: phân loại (classification), hồi quy (regression)

Phân loại

Mục tiêu của phương pháp phân loại dữ liệu là dự đoán nhãn lớp cho các mẫu

dữ liệu Quá trình phân loại dữ liệu thường gồm 2 bước: xây dựng mô hình và sử dụng

hình để phân loại dữ liệu

• Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước Mỗi mẫu thuộc về một lớp, được xác định bởi một thuộc tính gọi là thuộc tính lớp Các mẫu dữ liệu này còn được gọi là tập dữ liệu huấn luyện Các nhãn lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình, vì vậy phương pháp này còn được gọi là học có giám sát

• Bước 2: Sử dụng mô hình để phân loại dữ liệu Trước hết chúng ta phải tính

độ chính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

Hồi quy

Phương pháp hồi qui khác với phân loại dữ liệu ở chỗ, hồi qui dùng để dự đoán

về các giá trị liên tục còn phân loại dữ liệu thì chỉ dùng để dự đoán về các giá trị rời rạc

Hồi quy là học một hàm ánh xạ một mục dữ liệu vào một biến dự báo giá trị thực Các ứng dụng hồi quy có nhiều, ví dụ như đánh giá xác xuất một bệnh nhân sẽ chết dựa trên tập kết quả xét nghiệm chuẩn đoán, dự báo nhu cầu của người tiêu dùng đối với một sản phẩm mới dựa trên hoạt động quảng cáo tiêu dùng

b Khai phá dữ liệu mô tả

Kỹ thuật này có nhiệm vụ mô tả về các tính chất hoặc các đặc tính chung của

dữ liệu trong CSDL hiện có Bao gồm các kỹ thuật: phân cụm (clustering), phân tích luật kết hợp (association rules)

Phân cụm

Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng

Trang 18

Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát Không giống như

phân loại dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ

liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát

(learning by observation), trong khi phân loại dữ liệu là học bằng ví dụ (learning by

example).Trong phương pháp này bạn sẽ không thể biết kết quả các cụm thu được sẽ

như thế nào khi bắt đầu quá trình Vì vậy, thông thường cần có một chuyên gia về lĩnh

vực đó để đánh giá các cụm thu được Phân cụm dữ liệu được sử dụng nhiều trong các

ứng dụng về phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại

trang Web Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử

lí cho các thuật toán khai phá dữ liệu khác

Luật kết hợp

Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các

giá trị dữ liệu trong CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết

hợp tìm được Khai phá luật kết hợp được thực hiện qua 2 bước;

Bước 1 ; tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định

qua tính độ hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu

Bước 2; sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa

mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu

Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như marketing

có chủ đích, phân tích quyết định, quản lí kinh doanh,

1.6 Những thách thức trong ứng dụng và nghiên cứu trong kỹ thuật khai phá

dữ liệu

Ở đây, ta đưa ra một số khó khăn trong việc nghiên cứu và ứng dụng kỹ thuật

khai phá dữ liệu Tuy nhiên, thế không có nghĩa là việc giải quyết là hoàn toàn bế tắc

mà chỉ muốn nêu lên rằng để khai phá được dữ liệu không phải đơn giản, mà phải xem

xét cũng như tìm cách giải quyết những vấn đề này Ta có thể liệt kê một số khó khăn

như sau:

Các vấn đề về cơ sở dữ liệu

Đầu vào chủ yếu của một hệ thống khai thác tri thức là các dữ liệu thô trong cơ

sở Phát sinh trong khai phá dữ liệu chính là từ đây, do các dữ liệu trong thực tế

thường động, không đầy đủ, lớn và bị nhiễu Trong những trường hợp khác, người ta

Trang 19

không biết cơ sở dữ liệu có chứa các thông tin cần thiết cho việc khai thác hay không

và làm thế nào để giải quyết với sự dư thừa những thông tin không thích hợp này

Dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và bảng, hàng

triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường Hiện nay đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes Các phương pháp giải quyết hiện nay là đưa ra một ngưỡng cho cơ sở dữ liệu, lấy mẫu, các phương pháp xấp

xỉ, xử lý song song (Agrawal et al, Holsheimer et al)

Kích thước lớn: không chỉ có số lượng bản ghi lớn mà số các trường trong cơ sở

dữ liệu cũng nhiều Vì vậy mà kích thước của bài toán trở nên lớn hơn Một tập dữ liệu

có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn Hơn nữa, nó cũng làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy các mẫu giả Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và sử dụng các tri thức biết trước để xác định các biến không phù hợp

Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của

chúng thay đổi liên tục Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu Ví dụ trong cơ sở dữ liệu về tình trạng bệnh nhân, một số giá trị dữ liệu là hằng số, một số khác lại thay đổi liên tục theo thời gian (ví dụ cân nặng và chiều cao), một số khác lại thay đổi tùy thuộc vào tình huống và chỉ có giá trị được quan sát mới nhất là đủ (ví dụ nhịp đập của mạch) Vậy thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai thác được trước đó mất giá trị Hơn nữa, các biến trong cơ sở dữ liệu của ứng dụng đã cho cũng có thể bị thay đổi,

bị xóa hoặc là tăng lên theo thời gian Vấn đề này được giải quyết bằng các giải pháp tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là cơ hội để khai thác bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi

Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không thích

hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm hiện tại của việc khai thác

Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu

phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu Trong hệ thống tương tác, sự thiếu vắng dữ liệu quan trọng có thể dẫn đến việc yêu cầu cho giá trị của nó hoặc kiểm tra để xác định giá trị của nó

Trang 20

Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm cho

các dữ liệu có giá trị bị xem như có lỗi Việc quan sát cơ sở dữ liệu phải phát hiện

được toàn bộ các thuộc tính có thể dùng để giải thuật khai phá dữ liệu có thể áp dụng

nhằm giải quyết bài toán Giả sử ta có các thuộc tính để phân biệt các tình huống đáng

quan tâm Nếu chúng không làm được điều đó thì có nghĩa là đã có lỗi trong dữ liệu

Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, thì lỗi phụ

thuộc vào kiểu dữ liệu của các giá trị cho phép Các giá trị của các thuộc tính khác

nhau có thể là các số thực, số nguyên, chuỗi và có thể thuộc vào tập các giá trị định

danh Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần hoặc đầy đủ,

thậm chí có thể có cấu trúc ngữ nghĩa

Mối quan hệ phức tạp giữa các trường: các thuộc tính hoặc các giá trị có cấu

trúc phân cấp, các mối quan hệ giữa các thuộc tính để diễn tả tri thức về nội dung của

cơ sở dữ liệu yêu cầu các giải thuật phải có khả năng sử dụng một cách hiệu quả các

thông tin này Ban đầu, kỹ thuật khai phá dữ liệu chỉ được phát triển cho các bản ghi

có giá trị thuộc tính đơn giản Tuy nhiên, ngày nay người ta đang tìm cách phát triển

các kỹ thuật nhằm rút ra mối quan hệ giữa các biến này

Một số vấn đề khác

“Quá phù hợp” (Overfitting): một giải thuật tìm kiếm các tham số tốt nhất cho

sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình trạng “quá độ” dữ liệu (nghĩa là

tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù hợp với các dữ liệu đó mà

không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô hình hoạt động rất kém

đối với các dữ liệu thử Các giải pháp khắc phục bao gồm đánh giá chéo

(cross-validation), thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện pháp thống kê

khác

Sự tương tác với người sử dụng và các tri thức sẵn có: rất nhiều công cụ và

phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ

dàng kết hợp cùng với các tri thức đã biết trước đó Việc sử dụng tri thức miền là rất

quan trọng trong khai phá dữ liệu Đã có nhiều biện pháp nhằm khắc phục vấn đề này

như sử dụng cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó

được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân

bố và xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn

Trang 21

CHƯƠNG 2 PHƯƠNG PHÁP PHÂN CỤM VÀ PHÂN LỚP DỮ LIỆU

TRONG KHAI PHÁ DỮ LIỆU 2.1 Phân cụm dữ liệu

2.1.1 Tổng quan về phân cụm dữ liệu

Xử lý nhóm một tập các đối tượng vào trong các lớp các đối tượng giống nhau được gọi là phân cụm Một cụm là một tập hợp các đối tượng dữ liệu giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong các cụm khác

Cho CSDL D = {t1, t2, , tn}, và số nguyên k, gom nhóm là bài toán xác định ánh xạ f: D → {1, ,k} sao cho mỗi ti được gán vào một nhóm kj, 1≤ j≤ k

Trong thực tế, việc gom nhóm thường được áp dụng như:

+ Trong kinh doanh, phân cụm có thể giúp cho các nhà nghiên cứu thị trường tìm ra các nhóm riêng biệt dựa trên khách hàng của họ và mô tả các nhóm khách hàng dựa trên các mẫu mua sắm

+ Trong sinh vật học, nó có thể được dùng để có được các nguyên tắc phân loại thực vật và động vật, phân loại gien theo chức năng giống nhau và có được

sự hiểu biết thấu đáo các cấu trúc kế thừa trong các mẫu

+ Giảm kích thước dữ liệu lớn + Phân nhóm được xem như là một bước tiền xử lý cho các giải thuật khác như phân loại và mô tả, thao tác trên các cụm đã dò được

Các công cụ phân tích cụm dựa trên k-means, k-medoids và một số các phương pháp khác cũng được xây dựng trong nhiều gói phần mềm hay hệ thống phân tích thống kê như S-Plus, SPSS và SAS

Phân cụm truyền thống bao gồm hai thành phần:

(1) Nó khám phá các lớp thích hợp

(2) Nó thiết lập các mô tả cho mỗi lớp như trong phân loại Nguyên tắc chỉ đạo vẫn là làm sao cho độ giống nhau trong cùng một lớp là cao và độ giống nhau giữa các lớp là thấp

Trang 22

Như vậy, việc gom nhóm để phân tích dữ liệu tùy theo mục tiêu sẽ có được những nhóm khác nhóm, ví dụ như có một tập dữ liệu các ngôi nhà, nếu thực hiện gom nhóm theo khoảng cách địa lý thì sẽ có được những nhóm khác với việc gom nhóm theo kích thước ngôi nhà

Hình 2.1 So sánh gom nhóm dữ liệu theo khoảng cách địa lý và kích thước

Trong khai phá dữ liệu, người ta thường nghiên cứu các phương pháp để phép phân cụm ngày càng hiệu quả trong các cơ sở dữ liệu lớn Các chủ đề tích cực của nghiên cứu tập trung trên khả năng mở rộng của các phương pháp phân cụm, hiệu quả của các phương pháp phân cụm dữ liệu có hình dạng và kiểu phức tạp, các kỹ thuật phân cụm cho dữ liệu với số chiều cao và các phương pháp phân cụm có sự pha trộn của dữ liệu số và dữ liệu xác thực trong các cơ sở dữ liệu lớn

2.1.2 Các kỹ thuật phân cụm

Các kỹ thuật có rất nhiều cách tiếp cận và các ứng dụng trong thực tế, nhưng chung quy lại thì nó đều hướng đến hai mục tiêu đó là chất lượng của các cụm tìm được và tốc độ thực hiện thuật toán

Phương pháp phân cụm theo phân hoạch

Ý tưởng chính của kỹ thuật này là phân hoạch một tập hợp dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao mỗi phần tử dữ liệu chỉ thuộc về một nhóm dữ liệu

có tối thiểu ít nhất một phần tử dữ liệu Số các cụm được thiết lập là các đặc trưng được lựa chọn trước

Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa

Trang 23

các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác

và các điểm dữ liệu nào không có quan hệ hoặc có quan hệ là xa nhau so với mỗi điểm khác

Phương pháp phân cụm theo phân cấp

Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Cây phân cụm có thể được xây

dựng theo hai phương pháp sau: hòa nhập nhóm, thường được gọi là tiếp cận từ dưới

lên và phân chia nhóm, thường được gọi là tiếp cận từ trên xuống

Phương pháp phân cụm theo mật độ

Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ xác định được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó

Phương pháp phân cụm trên lưới

Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã sử dụng phương pháp phân cụm dựa trên lưới Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để phân cụm dữ liệu, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Thí dụ như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng

Phương pháp phân cụm dựa trên mô hình

Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng

ra các phân hoạch

Phương pháp phân cụm có dữ liệu ràng buộc

Hiện nay các phương pháp phân cụm này đã và đang phát triển và áp dụng nhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triển trên cơ sở các phương pháp đó như:

- Phân cụm thống kê

Trang 24

- Phân cụm khái niệm

Với: x là một điểm dữ liệu trong nhóm Ci

mi là điểm đại diện cho nhóm (điểm trung bình nhóm hoặc điểm trung tâm nhóm)

k – số nhóm

dist(): khoảng cách Euclide

Trang 25

2.1.4 Giới thiệu thuật toán k-means

Có nhiều loại phương pháp phân cụm dữ liệu, k-means là một trong số những thuật toán phân cụm dựa trên phương pháp phân vùng Phương pháp phân vùng được

mô tả như sau:

Cho một cơ sở dữ liệu có n đối tượng hoặc bộ dữ liệu, một phương pháp phân vùng xây dựng nên k vùng dữ liệu, nơi mà mỗi phân vùng đại diện cho một cụm và k<=n Có nghĩa là, nó phân loại các dữ liệu vào k nhóm và cần đáp ứng các yêu cầu sau đây:

- Mỗi nhóm phải có ít nhất một đối tượng

- Mỗi đối tượng phải thuộc về một nhóm

Với k cho trước, chính là số lượng các phân vùng cần xây dựng, thuật toán tạo

ra k phân vùng đầu tiên Sau đó sử dụng một kỹ thuật xác định nhóm cho các đối tượng lặp đi lặp lại, các đối tượng được di chuyển từ nhóm này sang nhóm khác đến khi đạt được tối ưu

Các tiêu chí chung của một phân vùng tốt là một cụm là một tập hợp các đối tượng dữ liệu giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong các cụm khác

Cài đặt thuật toán

Dữ liệu đầu vào

Thuật toán k-means yêu cầu hai nguồn dữ liệu đầu vào:

o k : số lượng các cụm mong muốn phân tách

o D : Tập dữ liệu chứa N phần tử cần phân cụm

Dữ liệu đầu ra của thuật toán

Thuật toán phân cụm yêu cầu đầu ra là các cụm chứa các phần tử mang giá trị gần nhau nhất Cụm có thể được mô tả dưới 2 cách:

- Cách thứ nhất: mô tả giá trị trung tâm cùng với số thành viên của cụm

đó

- Cách thứ hai: liệt kê danh sách các phần tử trong từng cụm

Thuật toán K-Means thực hiện qua các bước chính sau:

Cho số k, mỗi nhóm được biểu diễn bằng giá trị trung bình của dữ liệu trong nhóm

Trang 26

Bước 1: chọn ngẫu nhiên k đối tượng như là những trung tâm của nhóm

Bước 2: gán từng đối tượng còn lại vào nhóm có trung tâm nhóm gần nó nhất (dựa trên độ do khoảng cách Euclide)

Bước 3: tính lại giá trị trung tâm của từng nhóm

+ di chuyển trung tâm nhóm về = giá trị trung bình mới của nhóm + cho nhóm Ki= {ti1, ti1, , tim}, giá trị trung bình của nhóm là

Bước 1: chọn ngẫu nhiên các trung tâm cụm là m1=3 và m2=4

Bước 2: gán các đối tượng vào hai cụm

+ k1={2,3} k2={4,10,12,20,30,11,25}

+ tính SSE = 12 + 0 + 0 + 62 + 82 + 162 + 262 + 72 + 212 = 1523 Bước 3: tính lại tâm cụm

+ m1= (2+3)/2=2.5 + m2 = (4+10+12+20+30+11+25)/7=13.1 Quay lại bước 2 gán đối tượng vào 2 cụm + k1={2,3,4} k2={10,12,20,30,11,25}

thực hiện các bước tiếp tục + k1={2,3,4,10} k2={12,20,30,11,25}

tâm cụm mới m1= 4.75 và m2=19.6

thực hiện tiếp + k1={2,3,4,10,11,12} k2={20,30,25} với tâm cụm m1= 7 và m2=25

tính SSE = 52+42+32+32+42+52+52+52+252+0=150

thuật toán dừng vì tâm cụm không thay đổi nữa

Chất lượng của thuật toán K –mean phụ thuộc nhiều vào các tham số đầu vào như : số cụm k, và k trọng tâm khởi tạo ban đầu Trong trường hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của K – means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm

Trang 27

trong thực tế Trên thực tế, chưa có một giải pháp nào để chọn tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất

Ưu điểm của thuật toán là một phương pháp đơn giản, hiệu quả, tự tổ chức Nhược điểm của thuật toán là số cụm k phải được xác định trước, chỉ áp dụng được khi xác định được giá trị trung bình, không thể xử lý nhiễu, không thích hợp nhằm khám phá các dạng không lồi hay các cụm có kích thước khác nhau, đây là thuật toán độc lập tuyến tính

2.2 Phân lớp dữ liệu

2.2.1 Tổng quan về phân lớp dữ liệu

Ngày nay phân lớp dữ liệu (classification) là một trong những hướng nghiên

cứu chính của khai phá dữ liệu Thực tế đặt ra nhu cầu là từ một cơ sở dữ liệu với nhiều thông tin ẩn con người có thể trích rút ra các quyết định nghiệp vụ thông minh Phân lớp và dự đoán là hai dạng của phân tích dữ liệu nhằm trích rút ra một mô hình

mô tả các lớp dữ liệu quan trọng hay dự đoán xu hướng dữ liệu tương lai Phân lớp dự

đoán giá trị của những nhãn xác định (categorical label) hay những giá trị rời rạc (discrete value), có nghĩa là phân lớp thao tác với những đối tượng dữ liệu mà có bộ

giá trị là biết trước Trong khi đó, dự đoán lại xây dựng mô hình với các hàm nhận giá trị liên tục Ví dụ mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai

là mưa, hay nắng dựa vào những thông số về độ ẩm, sức gió, nhiệt độ,… của ngày hôm nay và các ngày trước đó Hay nhờ các luật về xu hướng mua hàng của khách hàng trong siêu thị, các nhân viên kinh doanh có thể ra những quyết sách đúng đắn về lượng mặt hàng cũng như chủng loại bày bán… Quá trình phân lớp dữ liệu gồm hai bước:

Bước thứ nhất (learning)

Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ liệu hay các khái niệm định trước Đầu vào của quá trình này là một tập dữ liệu có cấu trúc được mô tả bằng các thuộc tính và được tạo ra từ tập 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), có thể là các

mẫu (sample), ví dụ (example), đối tượng (object), bản ghi (record) hay trườ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

Trang 28

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 label attribute) Đầu ra của bước này thường là các quy

tắc phân lớp dưới dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron Quá trình này được mô tả như trong hình 1

Hình 2.2 Quá trình phân lớp dữ liệu – (a) Bước xây dựng mô hình phân lớp

Bước thứ hai (classification)

Bước thứ hai dùng mô hình đã xây dựng ở bước trước để phân lớp dữ liệu mới Trước tiên độ 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 đã đưa là tỉ lệ phần trăm các các mẫu trong tập

dữ liệu kiểm tra được mô hình phân lớp đúng (so với thực tế) 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 là rất khả quan vì mô hình luôn có xu hướng “quá vừa” dữ liệu Quá vừa dữ liệu là hiện tượng 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 vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ liệu đào tạo Nếu độ chính xác của mô hình là chấp nhận được, thì mô hình được sử dụng để phân lớp

Trang 29

những dữ liệu tương lai, hoặc những dữ liệu mà giá trị của thuộc tính phân lớp là chưa biết.

Hình 2.3 Quá trình phân lớp dữ liệu – (b1) Ước lượng độ chính xác mô hình

Hình 2.4 Quá trình phân lớp dữ liệu – (b2) phân lớp dữ liệu mới

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết định tới sự thành công của mô hình phân lớp Do vậy chìa khóa của vấn đề phân lớp dữ liệu

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ó khả năng mở rộng được Trong đó khả năng mở rộng được của thuật toán được đặc biệt chú trọng và phát triển

2.2.2 Các kỹ thuật phân lớp

- Phương pháp dựa trên cây quyết định

- Phương pháp dựa trên luật

Trang 30

- Phương pháp Nạve Bayes

- Phương pháp dựa trên thể hiện

- Mạng Nơron

- SVM (support vector machine)

- Tập thơ

2.2.3 Cây quyết định ứng dụng trong phân lớp dữ liệu

Trong những năm qua, nhiều mơ hình phân lớp dữ liệu đã được các nhà khoa học trong nhiều lĩnh vực khác nhau đề xuất như mạng notron, cây quyết định, mơ hình

di truyền Trong số những mơ hình đĩ, cây quyết định với những ưu điểm của mình được đánh giá là một cơng cụ mạnh, phổ biến và đặc biệt thích hợp cho data mining nĩi chung và phân lớp dữ liệu nĩi riêng

Cĩ thể kể ra những ưu điểm của cây quyết định như: xây dựng tương đối nhanh; đơn giản, dễ hiểu Việc phân lớp dựa trên cây quyết định đạt được sự tương tự và đơi khi là chính xác hơn so với các phương pháp phân lớp khác

Cây quyết định là biểu đồ phát triển cĩ cấu trúc dạng cây, như mơ tả trong hình

vẽ sau:

Hình 2.5 Ví dụ cây quyết định

Trong cây quyết định:

Gốc: là node trên cùng của cây Node trong: biểu diễn một kiểm tra trên một thuộc tính đơn (hình chữ nhật)

Trang 31

Nhánh: biểu diễn các kết quả của kiểm tra trên node trong (mũi tên) Node lá: biểu diễn lớp hay sự phân phối lớp (hình tròn)

Để phân lớp mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu được đưa vào kiểm tra trên cây quyết định Mỗi mẫu tương ứng có một đường đi từ gốc đến lá và lá biểu diễn dự đoán giá trị phân lớp mẫu đó

Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định Cây quyết định là một dạng đặc biệt của cấu trúc cây

Tạo cây quyết định chính là quá trình phân tích cơ sở dữ liệu, phân lớp và đưa

ra dự đoán Cây quyết định được tạo thành bằng cách lần lượt chia (đệ quy) một tập dữ liệu thành các tập dữ liệu con, mỗi tập con được tạo thành chủ yếu từ các phần tử của cùng một lớp Lựa chọn thuộc tính để tạo nhánh thông qua Entropy và Gain

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

đó Một cây quyết định có thể được học bằng cách chia tập hợp nguồn thành các tập con dựa theo một kiễm tra giá trị thuộc tính Quá trình này được lặp lại một cách đệ qui cho mỗi tập con dẫn xuất Quá trình đệ qui hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa, hay khi một phân loại đơn có thể áp dụng cho từng phần

tử của tập con dẫn xuất

Cây quyết định có thể được mô tả như là sự kết hợp của các kỹ thuật toán học

và tí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

Dữ liệu được cho dưới dạng các bản ghi có dạng:(x,y) = (x 1 ,x 2 ,x 3 , ,x k ,y) Biến

phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng

quát hóa x 1 ,x 2 , x 3 , ,là các biến sẽ giúp ta thực hiện công việc đó

 Cây hồi quy (Regression tree): ước lượng các hàm giá có giá trị là số thực thay vì

được sử dụng cho các nhiệm vụ phân loại, (ví dụ: ước tính giá một ngôi nhà hoặc khoảng thời gian một bệnh nhân nằm viện)

 Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới tính

(nam hay nữ), kết quả của một trận đấu (thắng hay thua)

 Ưu điểm cây quyết định: So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp có một số ưu điểm:

Trang 32

o Cây quyết định dễ hiểu Người ta có thể hiểu mô hình cây quyết định sau khi được giải thích ngắn

o Việc chuẩn bị dữ liệu cho một cây quyết định là cơ bản hoặc không cần thiết Các kỹ thuật khác thường đòi hỏi chuẩn hóa dữ liệu, cần tạo các biến phụ (dummy variable) và loại bỏ các giá trị rỗng

o Cây quyết định có thể xử lý cả dữ liệu có giá trị bằng số và dữ liệu có giá trị

là tên thể loại Các kỹ thuật khác thường chuyên để phân tích các bộ dữ liệu chỉ gồm một loại biến Chẳng hạn, các luật quan hệ chỉ có thể dùng cho các biến tên, trong khi mạng nơ-ron chỉ có thể dùng cho các biến có giá trị bằng

 Phương pháp xây dựng cây quyết định:

o Việc tạo cây quyết định bao gồm 2 giai đoạn : Tạo cây và tỉa cây

- Để tạo cây ở thời điếm bắt đầu tất cả những ví dụ huấn luyện là ở gốc sau đó phân chia ví dụ huấn luyện theo cách đệ qui dựa trên thuộc tính được chọn

- Việc tỉa cây là xác định và xóa những nhánh mà có phần tử hỗn loạn hoặc những phần tử nằm ngoài (những phần tử không thể phân vào một lớp nào đó)

o Có rất nhiều biến đổi khác nhau về nòng cốt của thuật toán cây quyết định, mặc dù vậy chúng vẫn tuân theo những bước cơ bản:

- Cây được thiết lập từ trên xuống dưới và theo cách thức chia để trị

- Ớ thời điểm bắt đầu, các mẫu huấn luyện nằm ở gốc của cây

- Thuộc tính được phân loại (Rời rạc hóa các thuộc tính dạng phi số )

Trang 33

- Chọn một thuộc tính đế phân chia thành các nhánh Thuộc tính được chọn dựa trên độ đo thống kê hoặc độ đo heuristic

- Tiếp tục lặp lại việc xây dựng cây quyết định cho các nhánh

o Điều kiện để dừng việc phân chia:

- Tất cả các mẫu rơi vào một nút thuộc về cùng một lớp (nút lá)

- Không còn thuộc tính nào có thể dùng đế phân chia mẫu nữa

- Không còn lại mẫu nào tại nút

2.2.4 Xây đựng cây quyết định

2.2.4.1 Chọn thuộc tính phân tách

Lúc khởi đầu, ta có trong tay một tập huấn luyện chứa tập các bản ghi được phân loại trước - tức là giá trị của biến đích được xác định trong tất cả các trường hợp Cây quyết định được xây dựng bằng cách phân tách các bản ghi tại mỗi nút dựa trên một thuộc tính đầu vào Rõ ràng nhiệm vụ đầu tiên là phải chọn ra xem thuộc tính nào đưa ra được sự phân tách tốt nhất tại nút đó

Độ đo được sử dụng để đánh giá khả năng phân tách là độ tinh khiết Chúng ta

sẽ có những phương pháp xác định để tính toán độ tinh khiết một cách chi tiết, tuy nhiên chúng đều cố gắng đạt được hiệu quả như nhau Một sự phân tách tốt nhất là sự phân tách làm tăng độ tinh khiết của tập bản ghi với số lượng lớn nhất Một sự phân tách tốt cũng phải tạo ra các nút có kích cỡ tương tự nhau, hay chí ít cũng không tạo ra các nút có quá ít bản ghi

Hình 2.6 Phân tách dữ liệu

Trang 34

Thuật toán xây dựng cây quyết định bắt đầu bằng việc chọn mỗi biến đầu vào chưa được chọn và đo mức độ tăng độ tinh khiết trong các kết quả ứng với mỗi biến Sau đó một phép tách tốt nhất sẽ được sử dụng trong phép tách khởi đầu, để tạo hai hay nhiều nút con Nếu không phép phân tách nào có khả năng (có thể do có quá ít bản ghi) hoặc do không có phép phân tách nào làm tăng độ tinh khiết thì thuật toán kết thúc và nút đó trở thành nút lá

Phép phân tách trên các biến đầu vào kiểu sổ: đối với sự phân tách nhị phân

trên một biến đầu vào, mỗi giá trị mà biến đó chứa đều có thế trở thành giá trị dự tuyến Phép phân tách nhị phân dựa trên biến đầu vào kiểu số có dạng X < N Để cải thiện hiệu năng, một số thuật toán không kiểm tra hết toàn bộ các giá trị của biến mà chỉ kiểm tra trên tập mẫu giá trị của biến đó

Phép phân tách trên các biến đầu vào định tính: thuật toán đơn giản nhất trong

việc phân tách trên một biến định tính là ứng với mỗi giá trị của biến đó, ta tạo một nhánh tương ứng với một lớp được phân loại Phương pháp này được sử dụng thực sự trong một số phần mềm nhưng mang lại hiệu quả thấp Một phương pháp phổ biến hơn

đó là nhóm các lớp mà dự đoán cùng kết quả với nhau Cụ thể, nếu hai lớp của biến đầu vào có phân phối đối với biến đích chỉ khác nhau trong một giới hạn cho phép thì hai lớp này có thể hợp nhất với nhau

Phép phân tách với sự có mặt của các giá trị bị thiếu: một trong những điểm

hay nhất của cây quyết định là nó có khả năng xử lý các giá trị bị thiếu bằng cách coi

giá trị rỗng (NULL) là một nhánh của nó Phương pháp này được ưa thích hơn so với

việc vứt các bản ghi có giá trị thiếu hoặc cố gắng gắn giá trị nào đó cho nó bởi vì nhiều khi các giá trị rỗng cũng có ý nghĩa riêng của nó Mặc dù phép phân tách giá trị rỗng như là một lớp riêng rẽ khá có ý nghĩa nhưng người ta thường đề xuất một giải pháp khác Trong khai phá dữ liêu, mỗi nút chứa vài luật phân tách có thể thực hiện tại nút

đó, mỗi phép phân tách đó dựa vào các biến đầu vào khác nhau Khi giá trị rỗng xuất hiên trong biến đầu vào của phép phân tách tốt nhất, ta sử dụng phép phân tách thay thế trên biến đầu vào có phép phân tách tốt thứ hai

2.2.4.2 Độ lợi thông tin (Information gain)

Information gain là đại lượng được sử dụng để chọn lựa thuộc tính với information gain 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ử lớp P và n phần tử lớp N

Khối lượng thông tin cần thiết để quyết định một mẫu tùy ý có thuộc về lớp P hay N hay không là:

Trang 35

A

Cho mỗi Si chứa pi mẫu lớp P và ni mẫu lớp N

Entropy, 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

Thông tin có được bởi việc phân nhánh thuộc tính A là:

Gain(A) = Info(p,n) – Entropy(A)

2.2.5 Thuật toán phân lớp cây quyết định ID3

ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree) Biểu diễn này cho phép chúng ta xác định phân loại của một đối tượng bằng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó

Như vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví

dụ rèn luyện (training example) hay còn gọi là dữ liệu rèn luyện (training data) Hay nói khác hơn, giải thuật có:

Đầu vào: Một tập hợp các ví dụ Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống, hay một đối tượng nào đó, và một giá trị phân loại của

Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu rèn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chưa gặp trong tương lai

Ví dụ, chúng ta hãy xét bài toán phân loại xem ta ‘có đi chơi tennis’ ứng với thời tiết nào đó không Giải thuật ID3 sẽ học cây quyết định từ tập hợp các ví dụ sau:

Bảng 2.1 Mô tả cấu trúc dữ liệu

Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi tennis

Trang 36

đó, ‘Có’ nghĩa là ngược lại Giá trị phân loại ở đây chỉ có hai loại (có, không), hay còn

ta nói phân loại của tập ví dụ của khái niệm này thành hai lớp (classes) Thuộc tính

‘Chơi tennis’ còn được gọi là thuộc tính đích (target attribute)

Mỗi thuộc tính đều có một tập các giá trị hữu hạn Thuộc tính quang cảnh có ba giá trị (âm u, mưa, nắng), nhiệt độ có ba giá trị (nóng, mát, ấm áp), độ ẩm có hai giá trị (cao, TB) và gió có hai giá trị (mạnh, nhẹ) Các giá trị này chính là ký hiệu (symbol) dùng để biểu diễn bài toán

Từ tập dữ liệu rèn luyện này, giải thuật ID3 sẽ học một cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập này, đồng thời hy vọng trong tương lai, nó cũng sẽ phân loại đúng các ví dụ không nằm trong tập này Một cây quyết định ví dụ

mà giải thuật ID3 có thể quy nạp được là:

Trang 37

Hình 2.7 Mô hình cây quyết định

Các nút trong cây quyết định biểu diễn cho một sự kiểm tra trên một thuộc tính nào đó, mỗi giá trị có thể có của thuộc tính đó tương ứng với một nhánh của cây Các nút lá thể hiện sự phân loại của các ví dụ thuộc nhánh đó, hay chính là giá trị của thuộc tính phân loại

Sau khi giải thuật đã quy nạp được cây quyết định, thì cây này sẽ được sử dụng

để phân loại tất cả các ví dụ hay thể hiện (instance) trong tương lai Và cây quyết định

sẽ không thay đổi cho đến khi ta cho thực hiện lại giải thuật ID3 trên một tập dữ liệu rèn luyện khác

Ứng với một tập dữ liệu rèn luyện sẽ có nhiều cây quyết định có thể phân loại đúng tất cả các ví dụ trong tập dữ liệu rèn luyện Kích cỡ của các cây quyết định khác nhau tùy thuộc vào thứ tự của các kiểm tra trên thuộc tính

Vậy làm sao để học được cây quyết định có thể phân loại đúng tất cả các ví dụ trong tập rèn luyện? Một cách tiếp cận đơn giản là học thuộc lòng tất cả các ví dụ bằng cách xây dựng một cây mà có một lá cho mỗi ví dụ Với cách tiếp cận này thì có thể cây quyết định sẽ không phân loại đúng cho các ví dụ chưa gặp trong tương lai Vì phương pháp này cũng giống như hình thức ‘học vẹt’, mà cây không hề học được một khái quát nào của khái niệm cần học Vậy, ta nên học một cây quyết định như thế nào

là tốt?

Ngày đăng: 22/06/2020, 11:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w