1. Trang chủ
  2. » Thể loại khác

XÂY DỰNG HỆ THỐNG TƢ VẤN CHỌN NGÀNH NGHỀ CHO SINH VIÊN TRƢỜNG CAO ĐẲNG VIỆT NAM – HÀN QUỐC – QUẢNG NGÃI LUẬN VĂN THẠC SĨ KỸ THUẬT

60 6 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 60
Dung lượng 2,63 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ÓM TẮT LUẬN VĂN XÂY DỰNG HỆ THỐNG TƯ VẤN CHỌN NGÀNH NGHỀ CHO SINH VIÊN TRƯỜNG CAO ĐẲNG VIỆT NAM – HÀN QUỐC – QUẢNG NGÃI Học viên: Hồ Anh Tố Chuyên ngành: Khoa học máy tính Mã số: 60.48.

Trang 1

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

HỒ ANH TỐ

XÂY DỰNG HỆ THỐNG TƯ VẤN CHỌN NGÀNH NGHỀ CHO SINH VIÊN

TRƯỜNG CAO ĐẲNG VIỆT NAM – HÀN QUỐC – QUẢNG NGÃI

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

Đà Nẵng – Năm 2018

Trang 2

ĐẠI HỌC ĐÀ NẴNG

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

HỒ ANH TỐ

XÂY DỰNG HỆ THỐNG TƯ VẤN CHỌN NGÀNH NGHỀ CHO SINH VIÊN

TRƯỜNG CAO ĐẲNG VIỆT NAM – HÀN QUỐC – QUẢNG NGÃI

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

Mã số: 60.48.01

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

Người hướng d n hoa học: PGS.TS V Trung H ng

Đà Nẵng – Năm 2018

Trang 3

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 PGS.TS Võ Trung Hùng

Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng 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

Tác giả

Hồ Anh Tố

Trang 4

MỤC LỤC

LỜI CAM ĐOAN i

MỤC LỤC ii

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

DANH MỤC CÁC TỪ VIẾT TẮT v

DANH MỤC CÁC BẢNG vi

DANH MỤC CÁC HÌNH VẼ vii

MỞ ĐẦU 1

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

2 Mục tiêu và nhiệm vụ đề tài 1

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

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

5 Mục đích và ý nghĩa của đề tài 2

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

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN 4

1.1 Khai phá dữ liệu 4

1.1.1 Tổng quan về khai phá dữ liệu 4

1.1.2 Khai phá dữ liệu sử dụng luật kết hợp 6

1.1.3 Khai phá dữ liệu với bài toán phân lớp 20

1.1.4 Khai phá dữ liệu sử dụng cây quyết định 22

1.2 Lý thuyết chọn nghề nghiệp 24

1.2.1 Lý thuyết cây nghề nghiệp 24

1.2.2 Lý thuyết mật mã Holland 26

1.3 Tổng kết chương 28

CHƯƠNG 2: PHÂN TÍCH VÀ XÂY DỰNG HỆ THỐNG 29

2.1 Mô tả hệ thống hỗ trợ tư vấn chọn ngành nghề 29

2.2 Giới thiệu bài toán 29

2.3 Mô hình cấu trúc hệ thống 29

2.3.1 Mô tả đầu vào/ đầu ra 30

2.3.2 Phương pháp xây dựng hệ thống 30

2.4 Phân tích và thiết kế hệ thống 30

2.4.1 Phân tích về bậc đào tạo 30

2.4.2 Phân tích LTMM Holland 30

2.4.3 Xây dựng tập luật cho hệ thống tư vấn chọn ngành nghề 33

2.5 Xây dựng hệ thống 38

2.5.1 Thiết kế CSDL 38

2.5.2 Cách xây dựng tập luật 41

Trang 5

2.5.3 Cách xây dựng bộ máy suy diễn 42

2.6 Tổng kết chương 42

CHƯƠNG 3: KIỂM THỬ VÀ ĐÁNH GIÁ 43

3.1 Kết quả kiểm thử 43

3.1.1 Giao diện của hệ thống 43

3.1.2 Giao diện Phiếu thông tin cá nhân 43

3.1.3 Giao diện khảo sát tư vấn bậc đào tạo 44

3.1.4 Giao diện khảo sát tư vấn chọn ngành nghề 45

3.1.5 Giao diện tư vấn mức hỗ trợ học phí, nội trú 47

3.1.6 Giao diện kết quả tư vấn chọn ngành nghề 47

3.2 Đánh giá kết quả hệ thống 48

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 49

4.1 Kết quả đạt được từ nghiên cứu 49

4.2 Đóng góp luận văn 49

4.3 Hạn chế 49

4.4 Hướng phát triển luận văn 49

DANH MỤC TÀI LIỆU THAM KHẢO 50 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN THẠC SĨ (BẢN SAO)

Trang 6

TÓM TẮT LUẬN VĂN XÂY DỰNG HỆ THỐNG TƯ VẤN CHỌN NGÀNH NGHỀ CHO SINH VIÊN TRƯỜNG CAO ĐẲNG VIỆT NAM – HÀN QUỐC – QUẢNG NGÃI

Học viên: Hồ Anh Tố Chuyên ngành: Khoa học máy tính

Mã số: 60.48.01 Khóa: K33-QNG Trường Đại học Bách khoa - ĐHĐN

Tóm tắt - Trong thời đại ngày nay, với sự phát triển vượt bậc của công nghệ

thông tin và ứng dụng của nó trong đời sống - kinh tế - xã hội, lượng dữ liệu thu thập được ngày càng nhiều theo thời gian, làm xuất hiện ngày càng nhiều các hệ thống cơ sở

dữ liệu có kích thước lớn Từ khối dữ liệu này, các kỹ thuật trong 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 Qua tìm hiểu những chức năng của KPDL, luận văn tập trung vào nghiên cứu kỹ thuật KPDL bằng luật kết hợp với thuật toán Apriori Đóng góp chính của luận văn là nghiên cứu, là ứng dụng các thuật toán để xây dựng hệ thống tư vấn ngành nghề học cho sinh viên Hệ thống được xây dựng trên nền Web, thuận tiện cho người sử dụng ở bất cứ nơi đâu có kết nối Internet

BUILDING MAJOR - CAREER COUNSELING SYSTEM FOR STUDENTS

AT VIETNAM - KOREA COLLEGE OF QUANG NGAI Abstract - Nowadays, the rapid development of information technology and its

various application in economic - cultural - social life and the amount of collected data increases day by day, which causes the appearance of big data systems From these database sources, some techniques in data mining can be used to extract useful information that we have not known yet Through researching the functions of data mining, this mester thesis focuses on studying data mining techniques by applying association rules and the Apriori algorithm The innovtion and main issues af this thesis is developed a system to help students to choose a suitable majors The system is built based on the Web technology, it is easy for users to access anywhere and anytime with Internet connection

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT

TIẾNG VIỆT

CSDL Cơ sở dữ liệu

GDHN Giáo dục hướng nghiệp

HDGDNPT Hoạt động giáo dục nghề phổ thông KPDL Khai phá dữ liệu

ANN Artificial Neural Network

ASP Active Server Pages

CLS Concept Learning System

MLP Multi Layer Perceptron

SLIQ Supervised Learning In Quest SQL Structured Query Language

Trang 8

Bảng 2.9 Bảng câu hỏi trắc nghiệm 40 Bảng 2.10 Bảng thông tin khảo sát về chọn ngành học của sinh viên 40 Bảng 2.11 Bảng chi tiết thông tin khảo sát về chọn ngành học của

Trang 9

Hình 1.9 Mô hình lục giác Holland 27 Hình 2.1 Mô hình cấu trúc hệ thống tư vấn chọn ngành nghề 29 Hình 3.1 Giao diện hệ thống tư vấn chọn ngành nghề 44 Hình 3.2 Giao diện Phiếu thông tin cá nhân 44 Hình 3.3 Giao diện khảo sát tư vấn bậc đào tạo 45 Hình 3.4 Giao diện khảo sát thông tin về tư vấn chọn ngành nghề 46 Hình 3.5 Giao diện tư vấn mức hỗ trợ học phí, nội trú 48 Hình 3.6 Giao diện Kết quả tư vấn chọn ngành nghề 48

Trang 10

MỞ ĐẦU

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

Hiện tại, cơ hội học nghề cho sinh viên rất nhiều, với nhiều chính sách ưu tiên

Luật Giáo dục nghề nghiệp vừa có hiệu lực cũng có những đổi mới phù hợp với xu thế

Điều quan trọng nhất hiện nay là phải phân luồng đúng đối tượng, đúng mục đích và

làm tốt công tác hướng nghiệp, giúp sinh viên định hướng được nghề nghiệp trong

tương lai theo đúng sở thích, đam mê và điều kiện thực tế của bản thân, xã hội

Khi bước vào một ngôi trường đào tạo nghề, các bạn sinh viên luôn mong muốn

mình chọn được một ngành nghề học phù hợp với năng lực, trình độ, sở thích, cơ hội

việc làm và điều kiện của bản thân Tuy nhiên, không phải lúc nào các sinh viên cũng

đủ khả năng lựa chọn cho mình một ngành nghề phù hợp

Khi chọn sai ngành nghề sinh viên là đối tượng chịu ảnh hưởng trực tiếp, sinh

viên thường thiếu động lực và chán nản, dễ dẫn đến bỏ học, một số sinh viên có điều

kiện thì chuyển ngành, số khác tiếp tục theo đuổi nhưng trong tâm thế buông trôi, từ đó

dẫn đến chất lượng đào tạo kém, chất lượng nguồn lao động không đáp ứng được nhu

cầu xã hội; ảnh hưởng tiếp đến là các cơ sở đào tạo và sâu xa hơn nữa là ảnh hưởng

đến cả nền kinh tế quốc gia

Trường Cao đẳng Việt Nam - Hàn Quốc - Quảng Ngãi tiền thân là Trường Cao

đẳng nghề Việt Nam - Hàn Quốc - Quảng Ngãi hiện nay đang đào tạo các ngành nghề

như Công nghệ thông tin, Cơ khí, Kỹ thuật điện - điện tử, Kỹ thuật điều khiển và tự

động hóa, Kỹ thuật xây dựng, Công nghệ ô tô, Công nghệ thực phẩm Trong tương lai

sẽ đào tạo thêm nhiều ngành nghề khác như: Giáo dục mầm non, Công nghệ sau thu

hoạch, Công nghệ chế biến thủy sản, Chăn nuôi, Phát triển nông thôn, Nuôi trồng thủy

sản, Xét nghiệm Y học, Dược, Điều dưỡng, Lúc đó việc tư vấn chọn ngành nghề phù

hợp sẽ rất quan trọng đối với sinh viên

Chính vì vậy tôi quyết định chọn đề tài “Xây dựng hệ thống tư vấn chọn ngành

nghề cho sinh viên Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi” để làm

đề tài luận văn tốt nghiệp cao học Trong đề tài này, tôi đề xuất giải pháp ứng dụng

KPDL bằng thuật toán luật kết hợp để xây dựng hệ thống tư vấn chọn ngành nghề học

phù hợp cho sinh viên tại Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi

2 Mục tiêu và nhiệm vụ đề tài

2.1 Mục tiêu

- Tạo ra được tập luật chọn ngành học dựa vào khảo sát thực tế của sinh viên là

ứng dụng các kỹ thuật KPDL

- Hệ thống tư vấn chọn ngành nghề cho sinh viên Trường Cao đẳng Việt Nam –

Hàn Quốc – Quảng Ngãi để lựa chọn ngành nghề học phù hợp và hỗ trợ các cán bộ

chuyên trách tuyển sinh và giới thiệu việc làm của Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi

Trang 11

2.2 Nhiệm vụ

Để đạt được mục tiêu trên, cần phải tiến hành:

- Nghiên cứu lý thuyết về KPDL, cụ thể là các kỹ thuật luật kết hợp và cây quyết định

- Xây dựng hệ thống tư vấn chọn ngành nghề học phù hợp cho sinh viên dựa vào các thông tin đầu vào, từ đó thực hiện tư vấn chọn ngành nghề học phù hợp cho sinh viên nhằm giảm đi tình trạng chọn sai ngành nghề

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

3.1 Đối tượng nghiên cứu

- Cơ sở lý thuyết về kỹ thuật KPDL và các thuật toán của KPDL;

- Phát phiếu khảo sát trên toàn bộ sinh viên của Trường;

- Nội dung dữ liệu: Điểm thi các môn, Hoàn cảnh gia đình, Mức học phí, Sở thích, Năng khiếu, Giới tính, Sức khỏe, ;

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

Để đạt được những yêu cầu trên, tôi sử dụng chủ yếu hai phương pháp chính là phương pháp nghiên cứu tài liệu và phương pháp thực nghiệm

Phương pháp nghiên cứu tài liệu: Tôi sử dụng phương pháp này để tìm hiểu và

lựa chọn phương pháp KPDL thích hợp

Phương pháp thực nghiệm: Tôi sử dụng phương pháp này để phân tích thiết kế hệ

thống, triển khai xây dựng hệ thống

5 Mục đích và ý nghĩa của đề tài

5.1 Mục đích

Mục đích của đề tài là ứng dụng KPDL bằng thuật toán luật kết hợp để xây dựng

hệ thống tư vấn chọn ngành nghề học phù hợp cho sinh viên tại Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi

5.2 Ý nghĩa hoa học và thực tiễn đề tài

Về khoa học: Ứng dụng KPDL bằng thuật toán luật kết hợp để xây dựng hệ

thống tư vấn chọn ngành nghề học phù hợp cho sinh viên (Dữ liệu được thu thập từ phiếu thông tin cá nhân của sinh viên)

Trang 12

Về thực tiễn: Đề tài sẽ góp phần cải thiện và tối ưu hóa, nhằm tư vấn chọn ngành

nghề cho sinh viên Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi có những lựa chọn về ngành nghề học phù hợp với bản thân và hỗ trợ các cán bộ chuyên trách tuyển sinh và giới thiệu việc làm của Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi.

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

Báo cáo của luận văn tổ chức thành 3 chương chính như sau:

Chương 1: Nghiên cứu tổng quan

Chương này giới thiệu tổng quan về quá trình KPDL, các kỹ thuật KPDL, giới thiệu thuật toán xây dựng mô hình KPDL và lý thuyết về chọn nghề nghiệp,

Chương 2: Phân tích và xây dựng hệ thống

Chương này phân tích các lý thuyết chọn nghề nghiệp: LTCNN, LTMM Holland

và đưa ra mô hình đề xuất để giải quyết những hạn chế hiện tại trong công tác tư vấn chọn ngành nghề tại trường Từ đó xây dựng các luật, hỗ trợ tư vấn chọn ngành nghề cho Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi dựa trên hai lý thuyết này

Chương 3: Kiểm thử và đánh giá

Chương này trình bày quá trình kiểm thử và đánh giá hệ thống tư vấn chọn ngành nghề cho sinh viên Trường Cao đẳng Việt Nam – Hàn Quốc – Quảng Ngãi

Trang 13

CHƯƠNG 1: NGHIÊN CỨU TỔNG QUAN

Chương này giới thiệu tổng quan về quá trình KPDL, các kỹ thuật KPDL, giới thiệu thuật toán xây dựng mô hình KPDL và lý thuyết về chọn nghề nghiệp,

1.1 Khai phá dữ liệu

1.1.1 Tổng quan về khai phá dữ liệu

1.1.1.1 Khái niệm khai phá dữ liệu

Khai phá dữ liệu là một khái niệm ra đời vào cuối những năm 1980 Nó là quá trình khám phá thông tin ẩn được tìm thấy trong các CSDL và có thể xem như là một bước trong quá trình khám phá tri thức Quá trình này kết xuất ra các tri thức tiềm ẩn từ

dữ liệu giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, giáo dục[1][2] KPDL làm giảm chi phí về thời gian so với phương pháp truyền thống trước kia (ví dụ như phương pháp thống kê)

Sau đây là một số định nghĩa mang tính mô tả của nhiều tác giả về KPDL

Định nghĩa của Ferruzza: “KPDL là tập hợp các phương pháp được dùng trong

tiến trình khám phá tri thức để chỉ ra sự khác biệt các mối quan hệ và các mẫu chưa biết bên trong dữ liệu”.[9]

Định nghĩa của Parsaye: “KPDL là quá trình trợ giúp quyết định, trong đó chúng

ta tìm kiếm các mẫu thông tin chưa biết và bất ngờ trong CSDL lớn”.[9]

Định nghĩa của Fayyad: “Khai phá tri thức là một quá trình không tầm thường

nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và có thể hiểu được”.[9]

1.1.1.2 Chức năng chính của khai phá dữ liệu

Data Mining được chia nhỏ thành một số hướng chính như sau:[14]

- Mô tả khái niệm (concept description): thiên về mô tả, tổng hợp và tóm tắt khái niệm Ví du: tóm tắt văn bản

- Luật kết hợp (association rules): là dạng luật biểu diễn tri thức ở dạng khá đơn giản Ví dụ: “60% nam giới vào siêu thị nếu mua bia thì có tới 80% trong số họ sẽ mua thêm thịt bò khô” Luật kết hợp được ứng dụng nhiều trong lĩnh vực kinh doanh, y học, giáo dục,

- Phân lớp và dự đoán (classification & prediction): xếp một đối tượng vào một trong những lớp đã biết trước Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), Người ta còn gọi phân lớp là học có giám sát (học có thầy)

- Phân cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng như tên của cụm chưa được biết trước) Người ta còn gọi phân cụm là học không giám sát (học không thầy)

Trang 14

- Khai phá chuỗi (sequential/ temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoáng vì nó có tính dự báo cao

1.1.1.3 Ứng dụng của khai phá dữ liệu

Data mining tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của nó Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:[14]

- Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision support)

- Điều trị y học (medical treatment)

- Text mining & Web mining

- Tin-sinh (bio-informatics)

- Tài chính và thị trường chứng khoán (finance & stock market)

- Bảo hiểm (insurance)

- Nhận dạng (pattern recognition),

1.1.1.4 Quy trình khai phá dữ liệu

Quy trình KPDL là một chuồi lặp (và tương tác) gồm các bước bắt đầu với dữ liệu thô và kết thúc với tri thức đáp ứng được sự quan tâm của người sử dụng.[1][6]

Hình 1.1 Quy trình KPDL

- Tập hợp dữ liệu (Data): Đây là giai đoạn đầu tiên trong quá trình KPDL Giai

đoạn này lấy dữ liệu trong một CSDL, một kho dữ liệu và dữ liệu từ các nguồn Internet[2]

- Trích lọc dữ liệu (Extraction): Giai đoạn này dữ liệu được lựa chọn hoặc phân

chia theo một số tiêu chuẩn nào đó.[2]

- Tiền xử lý và chuẩn bị dữ liệu (Preprocessing): Giai đoạn này rất quan trọng

trong quá trình KPDL Một số lỗi thường mắc phải trong khi thu thập dữ liệu như thiếu thông tin, không logic Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và không có khả năng kết nối dữ liệu Giai đoạn này tiến hành xử lý những dạng dữ liệu nói trên

Trang 15

Những dữ liệu dạng này được xem như thông tin dư thừa, không có giá trị Vì vậy, đây

là một giai đoạn rất quan trọng vì dữ liệu này nếu không được làm sạch - tiền xử lý - chuẩn bị trước thì sẽ gây nên những kết quả sai lệch nghiêm trọng trong KPDL.[2]

- Chuyển đổi dữ liệu (Transformation): Giai đoạn chuyển đổi dữ liệu, dữ liệu đưa

ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó Dữ liệu đã được chuyển đổi phù hợp với mục đích khai thác.[2]

- Khai phá dữ liệu (Data Mining): Giai đoạn mang tính tư duy trong KPDL Ở

giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để xuất ra các mẫu từ dữ liệu Thuật toán thường dùng là thuật toán phân loại dữ liệu, kết hợp dữ liệu hoặc các

mô hình hóa dữ liệu tuần tự Đây là giai đoạn được nhiều người nghiên cứu nhất.[2]

- Đánh giá kết quả mẫu (Interpretation/ Evaluation): Giai đoạn cuối trong quá

trình KPDL Trong giai đoạn này, các mẫu dữ liệu được chiết xuất ra bởi phần mềm KPDL Không phải bất cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch Vì vậy, cần phải ưu tiên những tiêu chuẩn đánh giá để đưa ra các tri thức cần thiết

và sử dụng được.[2]

1.1.1.5 Kiến trúc của một hệ thống KPDL

Kiến trúc tổng quát của một hệ thống KPDL như sau:

Hình 1.2 Kiến trúc của một hệ thống KPDL[2]

1.1.2 Khai phá dữ liệu sử dụng luật kết hợp

1.1.2.1 Khái niệm về luật kết hợp

- Luật kết hợp là tìm các mẫu phổ biến, sự kết hợp, sự tương quan hay các cấu trúc nhân quả giữa các tập đối tượng trong các cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ và những kho thông tin khác để đưa ra các mối liên kết giữa các phần tử dữ liệu.[2]

Trang 16

Khái niệm luật kết hợp được phát biểu lần đầu tiên bởi R Agrawal (1993), và

được hơn 6000 ý kiến tán thành thông qua Google Scholar Trong quyển “Mining

Association Rules Between Sets of Items in Large Databases”, R Agrawal đã đưa ra

một định nghĩa về luật kết hợp như sau:

Định nghĩa 1: Cho tập I = {i 1 ,i 2 , … ,i n } là tập n thuộc tính nhị phân gọi là các phần tử (tên tiếng anh là item) Cho D = {t 1 ,t 2 , … ,t m } là tập các giao tác gọi là cơ sở

dữ liệu Mỗi giao tác trong D có một ID duy nhất và chứa tập các mục trong I Một luật được định nghĩa sự kéo theo có dạng X Y trong đó X,Y I và X Y = Tập các mục gọi là tập mục (itemset) X gọi là phần mệnh đề điều kiện (phần bên trái) và Y gọi là mệnh đề kết quả của luật tương ứng.[2]

Ví dụ, trong siêu thị, có tập các mục I = {milk, bread, butter, beer} và một cơ sở dữ liệu chứa các mục (tại mỗi giao tác, giá trị 1 là có mục, giá trị 0 là không có) như sau:

Dựa trên ví dụ này, có thể suy ra luật {butter, bread}  {milk}, có nghĩa là khi

khách hàng mua butter và bread thì người đó cũng sẽ mua milk

Khái niệm này được xem như tổng quát nhất cho phát biểu về luật kết hợp

Để chọn ra các luật có ích từ tập các luật có thể có, ta cần ràng buộc những số đo đảm bảo ý nghĩa Hai ràng buộc được xem là quan trọng nhất, đó là giá trị độ phổ biến (Support) và độ tin cậy tối thiểu (Min Confident)

- Độ phổ biến

Độ phổ biến (một số tài liệu dịch là độ hỗ trợ) của một tập mục X được định

nghĩa là tỷ lệ các giao tác có chứa tập mục này trong cơ sở dữ liệu với tổng số các giao tác [2]

Ví dụ, tập mục {milk, bread, butter} có độ phổ biến là 2/5 = 0.4 hay 40% số giao tác

Định nghĩa 2: Độ phổ biến của một tập mục X trong cơ sở dữ liệu D là tỷ số giữa các bản ghi T D có chứa tập X với tổng số bản ghi trong D (hay là phần trăm của các bản ghi trong D có chứa tập mục X), ký hiệu là Support(X) hay Supp(X).[2]

Trang 17

Ta có: 0 ≤ Supp(X) ≤ 1 với mọi tập mục X

Định nghĩa 3: Độ phổ biến của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi chứa tập hợp X Y, so với tổng số các bản ghi trong D Ký hiệu Supp(XY).[2]

- Độ tin cậy

Định nghĩa 4: Độ tin cậy (tên tiếng anh là minimum confident) được định nghĩa như sau: Độ tin cậy của luật X Y là xác suất xuất hiện Y với điều kiện X trong tất cả các giao tác.[2]

( )

Supp Conf

Supp X

 

Ta có thêm định nghĩa khác để hiểu rõ hơn về độ tin cậy :

Định nghĩa 5: Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các bản ghi trong D chứa XY với số bản ghi trong D có chứa tập hợp X Ký hiệu độ tin cậy của một luật là Conf(r) Ta có 0 ≤ conf(r) ≤ 1.[2]

Tính chất 2: Giả sử A, B là hai tập mục, A,B  I, nếu B là tập mục thường xuyên

và A  B thì A cũng là tập mục thường xuyên.[2]

Thật vậy, nếu B là tập mục thường xuyên thì Supp(B) ≥ minsup, mọi tập hợp A là con của tập hợp B đều là tập hợp thường xuyên trong cơ sở dữ liệu D vì Supp(A) ≥ Supp(B) (Tính chất 1)

Tính chất 3: Giả sử A, B là hai tập mục, A  B và A là tập mục không thường xuyên thì B cũng là tập mục không thường xuyên.[2]

Trang 18

- Đầu tiên, giá trị minSup được áp dụng để tìm ra các tập mục xuất hiện thường

xuyên trong cơ sở dữ liệu

- Bước thứ hai là từ những tập này, áp dụng giá trị minConf để tạo ra luật

Trong khi bước thứ hai chỉ cần áp dụng trực tiếp thì ta cần quan tâm một số vấn

đề trong bước thứ nhất Việc tìm tất cả các tập thường xuyên trong cơ sở dữ liệu rất

khó, nó bao gồm công việc tìm ra tất cả các tập có thể xảy ra (kết hợp các mục lại) Tập

hợp các tập mục gọi là tập cha I có kích thước 2n

– 1 (n là số lượng mục) Kích thước của tập cha này sẽ tăng theo hàm số mũ dựa trên số lượng mục n trong I, ta có một

nhận xét một tập mục thường xuyên thì tất cả những tập con của nó phải là những tập thường xuyên Thông qua nhận xét này, các có nhiều thuật toán tìm ra các tập mục thường xuyên khá hiệu quả như Apriori, Eclat

Hình 1.3 Quá trình tìm tập các tập mục thường xuyên với tập mục có 3 item

Để cụ thể hóa, dựa trên quá trình thực hiện này thành bài toán khai phá luật kết hợp, bài toán này được chia thành hai bài toán con tương tự như 2 bước ở trên:

Bài toán 1: Tìm tất cả các tập mục thường xuyên trong cơ sở dữ liệu D

Bài toán 2: Sử dụng tập mục thường xuyên tìm được ở bài toán 1 để đưa ra các

luật tin cậy Ý tưởng chung là nếu gọi ABCD và AB là các tập mục phổ biến, thì chúng

ta có thể có luật AB  CD với tỷ lệ độ tin cậy:

Supp ABCD Conf

Supp AB

Nếu conf ≥ minConf thì luật AB  CD được giữ lại

Trên thực tế, hầu hết thời gian của quá trình khai thác luật kết hợp là thực hiện

trong bài toán 1

Có rất nhiều nghiên cứu về các phương pháp sinh tất cả các tập mục thường xuyên và tập phổ biến lớn nhất một cách có hiệu quả Khi các mẫu thường xuyên bắt đầu nhiều (có từ 15 đến 20 mục) thì hầu hết các phương pháp truyền thống phải đếm quá nhiều tập mục mới có thể thực hiện được Các thuật toán dựa trên thuật toán Apriori – đếm tất cả 2k tập con của mỗi tập k mục mà chúng quét qua, và do đó không

thích hợp với các tập mục dài được Các phương pháp khác sử dụng “lookaheads” để

Trang 19

giảm số lượng tập mục được đếm Tuy nhiên, hầu hết các thuật toán này đều sử dụng

tìm kiếm theo chiều rộng, ví dụ: tìm tất cả các tập k-1 mục trước khi tính đến các tập

k mục

Để minh họa rõ hơn quá trình này, ta khảo sát qua ví dụ sau

Ví dụ: Giả sử ta có cơ sở dữ liệu mua hàng D gồm hai thuộc tính Transaction ID

(khóa – số hóa đơn), Items Bought (các mã mặt hàng đã mua trong hóa đơn) Với

{A,B,C,D,E,F}, ta tìm được các tập mục thường xuyên {A = 3/4 = 75%, B=2/4= 50%,

C = 2/4= 50%}, sau lần kết các mục lại, ta còn lại tập 2 mục là {{A,C}=50%}

Ta tính :

Conf(AC)=Sup(AC)/Sup(A)=0,5/0,75=0,667=66,7% > minConf

Conf(CA)= Sup(AC)/Sup(C)=0,5/0,5=1=100% > minConf

Vậy kết quả, ta tìm ra 2 luật{AC, CA}

1.1.2.3 Một số hướng tiếp cận

Luật kết hợp cho đến nay đã được nghiên cứu và phát triển theo nhiều hướng

khác nhau Có những đề xuất nhằm cải tiến thuật toán, có đề xuất tìm kiếm những luật

có ý nghĩa hơn v.v… và có một số hướng chính sau đây:

- Luật kết hợp nhị phân (Binary association rule): là hướng nghiên cứu đầu tiên

của luật kết hợp Theo luật này, các items chỉ quan tâm là xuất hiện hay không trong cơ

sở dữ liệu giao tác chứ không quan tâm về mức độ hay tần suất xuất hiện Thuật toán

tiêu biểu nhất của khai phá dạng luật này là thuật toán Apriori.[8]

- Luật kết hợp có thuộc tính số và thuộc tính hạng mục (Quantitative and

categorial association rule): các cơ sở dữ liệu thực tế thường có thuộc tính đa dạng

(như nhị phân, số, mục (categorial) ) chứ không nhất quán ở một kiểu nhất định Vì

vậy để khai phá luật kết hợp với các cơ sở dữ liệu này các nhà nghiên cứu đề xuất một

số phương pháp rời rạc hóa nhằm chuyển dạng luật này về dạng nhị phân để có thể áp

dụng các thuật toán đã có.[8]

- Luật kết hợp tiếp cận theo hướng tập thô (mining association rule base on

rough set): tìm kiếm luật kết hợp dựa trên lí thuyết tập thô.[8]

Trang 20

- Luật kết hợp nhiều mức (multi-level association rule): với cách tiếp cận luật

kết hợp thế này sẽ tìm kiếm thêm những luật có dạng: mua máy tính PC  mua hệ điều hành Window AND mua phần mềm văn phòng Microsoft Office,… [8]

- Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp phải khi rời

rạc hóa các thuộc tính số, các nhà nghiên cứu đề xuất luật kết hợp mờ khắc phục hạn chế đó và chuyển luật kết hợp về một dạng gần gũi hơn.[8]

- Luật kết hợp với thuộc tính được đánh trọng số (association rules with

weighted items): Các thuộc tính trong cơ sở dữ liệu thường có vai trò khác nhau Có một số thuộc tính quan trọng và được chú trọng hơn các thuộc tính khác Vì vậy trong quá trình tìm kiếm luật các thuộc tính được đánh trọng số theo mức độ xác định nào đó.[8]

1.1.2.4 Một số thuật toán

- Thuật toán Apriori

Thuật toán do Agrawal đưa ra năm 1994[9], được Cheung đánh giá mang tính chất lịch sử trong lĩnh vực khai phá luật kết hợp, vì đã vượt xa tầm của các thuật toán quen thuộc trong lĩnh vực này Trong ngành khoa học máy tính và KPDL, thuật toán Apriori là một trong các thuật toán được xem khi nghiên cứu về luật kết hợp Apriori được thiết kế dựa trên các cơ sở dữ liệu chứa các giao tác (ví dụ, tập các mặt hàng được mua, chi tiết số lần truy cập trang web, giá mở cửa – đóng cửa của các cổ phiếu…)

Apriori sử dụng phương pháp tìm kiếm theo chiều rộng và cấu trúc cây để đếm

các tập mục ứng viên thường xuyên Nó sinh ra các tập ứng viên có độ dài k từ tập

(k-1) ứng viên, nó bỏ bớt các ứng viên có các mẫu con ít xảy ra Sau đó, quét qua các giao

tác để xác định những tập nào có trong các ứng viên Cuối cùng, nó loại bỏ dần những tập ứng viên không đạt.[9]

Tóm lại, thuật toán Apriori được tỉa bớt những tập ứng cử viên có tập con không

phổ biến trước khi tính độ hỗ trợ Thuật toán tính tất cả các tập ứng cử của tập k trong một lần duyệt CSDL Apriori dựa vào cấu trúc cây băm (hashtree) Tìm kiếm đi xuống

trên cấu trúc cây mỗi khi ta chạm lá, ta tìm được một tập ứng cử viên có tiền tố chung được bao gồm trong giao dịch Sau đó các tập ứng cử này được tìm trong giao dịch đã được ánh xạ trước đó Trong trường hợp tìm thấy biến đếm được tăng lên 1.[9]

Trang 21

Hình 1.4 Apriori tìm theo chiều rộng, sinh tập k ứng viên từ tập (k-1)[9]

Bảng 1.3 Bảng ký hiệu cho thuật toán Apriori

Trang 22

Nội dung thuật toán

for all ứng viên c  Ct c.count++

2 Bỏ bớt một số tập con Ck-1 nếu c không nằm trong Lk-1

Ví dụ, Khi k=5, ta lấy 2 tập p, q bất kì ra từ tập L4 như sau

p: {bread, cucumber, onion, tomato}

q: {bread, cucumber, onion, parsley}

Sinh ứng viên và đưa vào C5

c = {bread, cucumber, onion, tomato, parsley}

Trang 23

1 Tạo ra một cây băm cho Ck

- Thêm tập mục c

+ Đi từ gốc đến khi gặp nút lá

+ Tại các nút trong gian với độ sâu d, chọn nhánh để đi tiếp, áp dụng hàm băm cho mục thứ d của c

- Tất cả các nút được tạo ban đầu được xem như một cây

- Một lá có thể chuyển thành nút trung gian khi số lượng nút tăng lên

2 Sau khi xây dựng cây băm Ck, hàm subset sẽ tìm các ứng viên thuộc t như sau:

- Tại nút lá, tìm tập mục mà giao tác t chứa

- Tại nút trung gian, khi sắp đến nút I, ta sẽ xem I có thuộc t hay không, và đi theo nhánh tương ứng

- Tại nút gốc, tìm tất cả các mục thuộc t

Ví dụ:

Hình 1.5 Cây băm C 2

- Thuật toán ASI

Thuật toán do Agrwal đưa ra năm 1993[9] Thuật toán này khai phá luật kết hợp

có dạng XY, với Y là tập mục chỉ bao gồm 1 tính chất (hợp 1 mục) Thuật toán tìm

cách xây dựng dần các tập ứng cử viên cho “chức vụ” tập hợp  xuất hiện thường xuyên Với cách đánh số thứ tự từ điển cho từng tính chất, việc bổ sung phần tử cho tập ứng cử viên tránh được trùng lặp, do vậy tiết kiệm tối đa thời gian tính toán

Số lượng các tập ứng cử viên quá nhiều có thể gây ra hiện tượng tràn bộ nhớ Thuật toán đề nghị một phương án quản lý bộ nhớ hợp lý đề phòng trường hợp này:

không cho phép các ứng cử viên chiếm bộ nhớ, mà ghi thẳng chúng vào đĩa ở chế độ

Trang 24

Nội dung thuật toán ASI

Input: CSDL D, độ hỗ trợ cực tiểu minSup

Lt = Subset(Lk-1,t); // các tập mục phổ biến thuộc

L(k-1) chứa trong giao dịch t

FOR ALL các tập mục thường xuyên lt  Lt DO

BEGIN

FOR ALL các ứng cử viên c  Ct DO

- Thuật toán SETM

Thuật toán do Houtsma đưa ra năm 1995[9] Thuật toán sử dụng kỹ thuật bổ sung

dần dần từng phần tử (từ tập hợp 1 mục) nhằm tìm kiếm các tập hợp ứng cử viên Một

cải tiến đáng kể thuật toán là đề nghị lưu lại cả ID của giao dịch cùng với tập hợp ứng

cử viên Agrawal đã chỉ ra, thuật toán giả định đưa toàn bộ tập hợp ứng cử viên của bước trước vào bộ nhớ để bước sau sử dụng Sarawagi (người đề xuất luật kết hợp) đã chỉ ra thuật toán này không hiệu quả

Nội dung thuật toán SETM

Input: CSDL D, độ hỗ trợ cực tiểu minSup

Trang 25

- l) mục phổ biến trong giao dịch t

FOR ALL các tập mục phổ biến lt  Lt DO

DELETE các mục c  C'k có c.Count <minSup đưa vào L'k ;

Lk ={«l.itemset, COUNT OF(l L'k) » | l  L'k};

SORT L'k theo TID;

END

Kết quả = k Lk

- Thuật toán Apriori-TID

Thuật toán Apriori-TID là phần mở rộng dựa theo hướng tiếp cận cơ bản của thuật toán Apriori[2] Như ta đã thấy, thuật toán Apriori đòi hỏi phải quét toàn bộ cơ

sở dữ liệu để tính độ phổ biến cho các tập hợp ứng cử viên ở mỗi bước Đây là một sự lãng phí lớn Dựa trên tư tưởng ước đoán và đánh giá độ phổ biến, Agrawal đề nghị cải tiến Apriori theo hướng chỉ phải quét cơ sở dữ liệu lần đầu tiên, sau đó tính độ hỗ trợ

cho các tập hợp 1 mục Từ bước thứ hai trở đi, thuật toán Apriori-TID nhờ lưu trữ song

song cả ID của giao dịch và các ứng cử viên, có thể đánh giá, ước lượng độ phổ biến

mà không cần phải quét lại toàn bộ cơ sở dữ liệu

Thuật toán sử dụng hàm apriori_gen() (giống như thuật toán Apriori) để sinh ra

tập ứng viên trước khi bắt đầu[2] Không sử dụng cơ sở dữ liệu D để đếm độ phổ biến sau lần đầu tiên Thay vào đó, tập Fk sẽ đảm trách nhiệm vụ này Mỗi thành viên trong tập Fk sẽ có dạng <TID, {Xk}>, trong đó mỗi Xk là chứa các tập k mục thường xuyên

có nằm trong trong giao tác có định danh TID Khi k=1, F1 sẽ ứng với cơ sở dữ liệu D, dựa trên khái niệm tập hợp, mỗi phần tử i sẽ được thay thế bằng tập mục {i} Với k>1,

Fk được sinh ra là tập các ứng viên có mặt trong các giao tác Các thành viên trong Fkứng với từng giao tác t:

<t.TID, {c  Ck|t chứa c}>

Nếu một giao tác nào đó không chứa bất kì tập k mục nào, thì ta sẽ xóa Fk này Vì

Trang 26

thế số lượng phần tử Fk sẽ nhỏ đi khi giá trị k càng lớn so với số lượng giao tác Tuy nhiên, khi k chưa đủ lớn, mỗi tập ứng với từng giao tác sẽ chứa số lượng mục nhiều hơn so với giao tác tương ứng vì Ck chứa tất cả ứng viên k mục mà giao tác đó chứa

Bảng 1.4 Bảng ký hiệu cho thuật toán Apriori-TID

Trang 27

FOR ALL candidates c  C’t DO c.count++ ;

Hàm apriori_gen() trong thuật toán này tương tự hàm apriori_gen() trình bày

trong thuật toán Apriori

Ví dụ: Giả sử ta có cơ sở dữ liệu D, giá trị minSup=50% như sau:

{1,2}.count=1, {1,3}.count=2, {1,5}.count=1,{1,5}.count=1,

{2,3}.count=2, {2,5}.count=2, {3,5}.count=2;

F 2 ={{100,{{1,3}}}, {200, {{2,3},{2,5},{3,5}},

{300,{ {1,2}, {1,3}, {1,5}, {2,3}, {2,5}, {3,5}}}

Trang 28

{ ,3} 50% 2,3} 50% {2,5} 75% {3,5} 50%

Trang 29

- Thuật toán FP Growth

Thuật toán FP growth (viết tắt cụm từ Frequent Pattern) ra đời vào tháng 5/2000 như một hướng phát triển mới để khắc phục những khuyết điểm của các thuật toán tìm các luật kết hợp trước đây.[9]

1.1.3 Khai phá dữ liệu với bài toán phân lớp

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

Phân lớp dữ liệu (classification) là một trong những hướng nghiên cứu khác 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 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

Phân lớp dữ liệu là một quá trình gồm hai bước: một bước học (trong đó xây dựng nên một mô hình phân lớp) và một bước phân lớp (trong đó mô hình vừa xây dựng được sử dụng để dự đoán các nhãn lớp cho những dữ liệu nào đó).[2]

Hình 1.6 minh họa quá trình này cho trường hợp dữ liệu xin vay tiền Dữ liệu ấy

đã được đơn giản hóa để dễ minh họa Trong thực tế, có thể ta cần xem xét nhiều thuộc tính hơn

Hình 1.6(a): Bước học/ huấn luyện trong quá trình phân lớp hai bước [10]

Trang 30

Hình 1.6(b): Bước phân lớp trong quá trình phân lớp hai bước [10]

Ở bước thứ nhất (Hình 1.6(a)), ta xây dựng một mô hình phân lớp mô tả một bộ xác định trước các lớp dữ liệu hay khái niệm Đây là bước học (hay giai đoạn huấn luyện), ở đó một thuật toán phân lớp xây dựng nên mô hình phân lớp bằng cách phân

tích hoặc “học hỏi từ” một tập huấn luyện hình thành từ các bản ghi trong CSDL và

các nhãn lớp liên kết với chúng Mỗi bản ghi X được biểu diễn bởi một vector thuộc

tính gồm n-chiều, X = (x 1 , x 2 , …, x n ), mô tả n giá trị đo đã thực hiện trên bản ghi đó từ

n thuộc tính tương ứng của CSDL A 1 , A 2 , …, A n Mỗi bản ghi X được giả định là thuộc

về một lớp được quy định trước, như được xác định bởi một thuộc tính khác của CSDL

gọi là thuộc tính nhãn lớp

Thuộc tính nhãn lớp này có trị rời rạc và không có thứ tự Nó có tính phân loại ở chỗ mỗi giá trị của nó đóng vai trò một loại hoặc lớp Các bản ghi riêng tạo thành tập huấn luyện được gọi là các bản ghi huấn luyện và được lấy mẫu ngẫu nhiên từ CSDL

đang phân tích Trong ngữ cảnh phân lớp, các bản ghi của CSDL có thể được các tài

liệu khác nhau gọi là mẫu, ví dụ, thể hiện, điểm dữ liệu, hoặc đối tượng

Do nhãn lớp của mỗi bản ghi huấn luyện đều được cung cấp sẵn, nên bước này

còn được gọi là học có giám sát, tức là việc học của mô hình phân lớp là “có giám sát”

ở chỗ nó được cho biết là mỗi bản ghi huấn luyện thuộc về lớp nào Nó trái với học

không giám sát, trong đó ta không biết nhãn lớp của mỗi bản ghi huấn luyện và có thể

cả số lượng hoặc tập hợp các lớp cần học nữa

1.1.3.2 Các phương pháp phân lớp dữ liệu

- Phân lớp dữ liệu bằng cây quyết định: Quy nạp cây quyết định (decision tree

induction) là việc tìm kiếm các cây quyết định từ những bản ghi huấn luyện đã có nhãn lớp Mỗi cây quyết định (decision tree) là một cấu trúc cây kiểu lưu đồ, trong đó mỗi nút trong biểu thị một sự kiểm tra trên một thuộc tính nào đó, mỗi nhánh biểu diễn một kết quả của sự kiểm tra đó, còn mỗi nút lá chứa một nhãn lớp Nút ở trên cùng của cây

là nút gốc, chứa tên của thuộc tính cần kiểm tra.[1]

Ngày đăng: 28/03/2021, 23: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