Tải bản đầy đủ (.pdf) (26 trang)

Ứng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà Nội (tt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (421.12 KB, 26 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------------

Phạm Văn Vượng
ỨNG DỤNG PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU
CHO TƯ VẤN NGÀNH NGHỀ SINH VIÊN
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI
Chuyên ngành: Hệ thống thông tin
Mã số: 8480104

TÓM TẮT LUẬN VĂN THẠC SĨ
(Theo định hướng ứng dụng)

HÀ NỘI – 2018


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS TRẦN ĐÌNH QUẾ
Phản biện 1:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Phản biện 2:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………


………………………………………………………………………………………
………………………………………………………………………………………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công
nghệ Bưu chính Viễn thông.
Vào lúc:.......giờ.......ngày.......tháng.........năm ...............

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông


1

MỞ ĐẦU
Tính cấp thiết của đề tài
Bước vào thế kỷ XXI, nghề nghiệp trong xã hội có những chuyển biến nhiều
so với giai đoạn trước đây. Cuộc cách mạng khoa học và công nghệ đang tạo điều
kiện để nhân loại tiến từ nền kinh tế công nghiệp sang nền kinh tế tri thức. Đó là
nền kinh tế được xây dựng trên cơ sở sản xuất, phân phối và sử dụng tri thức, thông
tin, trong đó máy tính và các công nghệ truyền thông viễn thông là những yếu tố
chiến lược. Trong khi ngành công nghệ thông tin phát triển không ngừng như hiện
nay, để đạt được mục tiêu trên, chúng ta cần một lực lượng lao động có đủ trình độ
năng lực và làm chủ được công nghệ kỹ thuật mới, đủ điều kiện đảm bảo hoàn
thành tốt công việc trong mọi lĩnh vực của đời sống xã hội. Nếu chúng ta không
chiếm hữu được tri thức, không sáng tạo và sử dụng được thông tin trong các ngành
sản xuất thì không thể thành công trong sự cạnh tranh quyết liệt của thị trường.
Chính vì vậy việc nâng cao trình độ học vấn, trình độ văn hóa cho nhân dân,
đặc biệt là việc định hướng ngành học và định hướng nghề nghiệp cho thế hệ
trẻ hôm nay, chủ nhân tương lai của đất nước, cần được quan tâm hơn bao giờ hết.
Như vậy nghề nghiệp luôn được coi là một trong nhiều yếu tố quan trọng

quyết định đến tương lai mỗi con người. Vì thế lựa chọn cho mình một ngành nghề
phù hợp là vấn đề được nhiều bạn trẻ quan tâm, đặc biệt là những bạn sinh viên trẻ
học tập những năm đầu tại các trường đại học. Theo khảo sát tại trường đại học
Kiến trúc Hà Nội, rất nhiều bạn sinh viên sau khi ra trường không tìm được công
việc phù hợp với năng lực cũng như sở thích của bản thân. Có một số sinh viên do
định hướng kém lựa chọn chuyên ngành không đúng khả năng dẫn đến quá trình
học tập kết quả kém, sau thời gian học tập không đạt kết quả tốt dẫn đến việc bỏ
học ngay từ những năm đầu, tạo tâm lý chán nản, không có động lực trong học tập.
Vì những lý do trên nên học viên đã quyết định lựa chọn đề tài: Ứng dụng
phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường Đại
học Kiến trúc Hà Nội.


2

Tổng quan về vấn đề nghiên cứu
Phân cụm cơ sở dữ liệu là một trong những phương pháp quan trọng trong
quá trình tìm kiếm tri thức. Phân cụm là phương pháp học từ quan sát (learning
from obversation) hay còn gọi là học không có giám sát. Phân cụm đặc biệt hiệu
quả khi ta không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những
thuộc tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó. Phân cụm
được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý
cho các thuật toán khác. Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong
tiếp thị, sử dụng đất, bảo hiểm, hoạch định thành phố, định hướng nghề nghiệp …
Hiện nay, phân cụm dữ liệu là một hướng được nghiên cứu rất nhiều trong Tin học.
Thực tế hiện nay tại trường Đại học Kiến trúc Hà Nội rất nhiều sinh viên năm
đầu còn phân vân lựa chọn các ngành học trong khoa đã đăng ký do thiếu thông tin
và chưa có sự lựa chọn đúng đắn dựa trên khả năng và sở thích của bản thân . Do
vậy, để sinh viên có thể phát huy hết khả năng, nhiệt huyết và thuận lợi cho việc đi
làm sau này cần có những định hướng đúng đắn và kịp thời ngay những năm đầu

đại học.
Trong luận văn này tập trung khảo sát các thuật toán phân cụm để từ đó áp
dụng phân loại sinh viên nhằm đưa ra giải pháp tư vấn, định hướng giúp sinh viên
và các khoa trong trường đại học Kiến trúc Hà Nội lựa chọn ngành nghề phù hợp.
Mục đích luận văn
- Tìm hiểu các kỹ thuật khai phá dữ liệu, một số thuật toán phân cụm dữ liệu
- Lựa chọn thuật toán và ứng dụng giải quyết bài toán phân loại sinh viên
nhằm hỗ trợ định hướng các ngành học cho sinh viên các khoa trong
trường.
- Thu thập dữ liệu và cài đặt thử nghiệm chương trình.
Đối tượng nghiên cứu
- Tìm hiểu một số thuật toán phân cụm dữ liệu.
- Lựa chọn một thuật toán phân cụm dữ liệu phù hợp có thể áp dụng giải
quyết yêu cầu bài toán.


3

- Thu thập dữ liệu: Sinh viên năm đầu đang học tập tại trường Đại học Kiến
trúc Hà Nội. Tuy nhiên số lượng sinh viên năm đầu rất lớn nên dữ liệu mẫu
sẽ được thu hẹp vào sinh viên của một khoa trong trường.
- Tiến hành thực nghiệm trên tập dữ liệu mẫu.
Phương pháp nghiên cứu:
- Nghiên cứu lý thuyết về khai phá dữ liệu.
- Tìm hiểu một số thuật toán phân cụm dữ liệu.
- Xây dựng và phân tích yêu cầu bài toán đặt ra.
- Lựa chọn một thuật toán phân cụm dữ liệu phù hợp có thể áp dụng giải
quyết yêu cầu bài toán.
- Tiến hành thực nghiệm trên tập dữ liệu mẫu.
- Phân tích, đánh giá kết quả đạt được.

- Phương hướng phát triển.
Cấu trúc luận văn:
Luận văn có cấu trúc gồm 03 chương có nội dung như sau:
Chương 1: Tổng quan về phân cụm dữ liệu
Trình bày tổng quan về phân cụm dữ liệu và giới thiệu một số phương pháp
phân cụm dữ liệu, đưa ra so sánh, đánh giá, lựa chọn.
Chương 2: Phân cụm cho tư vấn lựa chọn ngành nghề
Chương này trình bày khái quát một số kỹ thuật phân cụm đặc trưng. Phân
tích, đánh giá ứng dụng các kỹ thuật phân cụm để lựa chọn ra được thuật toán thích
hợp xây dựng và giải quyết bài toán đặt ra.
Chương 3: Thử nghiệm và đánh giá
Giới thiệu về bài toán thực tế, những khó khăn của sinh viên khi lựa chọn
ngành nghề phù hợp với nhu cầu và năng lực của bản thân. Dựa trên kỹ thuật phân
cụm và thuật toán lựa chọn xây dựng hệ thống tư vấn lựa chọn ngành nghề cho sinh
viên, giúp họ có những lựa chọn đúng đắn cho tương lai công việc sau này.


4

CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
1.1 Giới thiệu
Dữ liệu do con người tạo ra ngày càng nhiều hơn về số lượng, tăng nhanh về
khối lượng, phát triển mạnh về quy mô khiến việc phân loại, lựa chọn, khai thác, sử
dụng gặp những khó khăn nhất định. Khái niệm Khai phá dữ liệu ra đời hỗ trợ công
việc này; vậy cụ thể khai phá là gì, khai phá dữ liệu được khai thác như thế nào,
công nghệ khai phá dữ liệu sử dụng là gì…
Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai
thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu
khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó.
Về cơ bản, khai phá dữ liệu là xử lý dữ liệu và nhận biết các mẫu và các xu hướng

trong thông tin đó để bạn có thể quyết định hoặc đánh giá.
Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm các kỹ
thuật áp dụng sau:
− Phân lớp và dự đoán (classification and prediction)
− Phân cụm (clustering/segmentation)
− Luật kết hợp (association rules)
− Phân tích hồi quy (regression analysis)
− Phân tích các mẫu theo thời gian (sequential/temporal patterns)
− Mô tả khái niệm (concept description and summarization)

1.2 Kỹ thuật phân cụm dữ liệu
1.2.1 Khái niệm
Phân cụm dữ liệu (Data Clustering) hay phân cụm, cũng có thể gọi là
phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm
một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương
tự. Một cụm là một tập hợp các đối tượng dữ liệu mà các phần tử của nó
tương tự nhau cùng trong một cụm và phi tương tự với các đối tượng trong


5

các cụm khác. Một cụm các đối tượng dữ liệu có thể xem như là một nhóm
trong nhiều ứng dụng.

1.2.2 Các bước cơ bản để phân cụm
• Chọn lựa đặc trưng
• Chọn độ đo gần gũi
• Tiêu chuẩn phân cụm
• Thuật toán phân loại
• Công nhận kết quả

• Giải thích kết quả

1.2.3 Các loại đặc trưng trong phân cụm
Có bốn loại đặc trưng, đó là:
- Các đặc trưng danh nghĩa (nominal): Gồm các đặc trưng mà các giá trị của nó

mã hoá các trạng thái. Chẳng hạn cho một đặc trưng là giới tính của một người thì
các giá trị có thể của nó là 1 ứng với nam và 0 ứng với nữ. Rõ ràng là bất kỳ sự so
sánh về lượng nào giữa các giá trị loại này đều là vô nghĩa.
- Các đặc trưng thứ tự (ordinal): Là các đặc trưng mà các giá trị của nó có thể

sắp một cách có ý nghĩa. Ví dụ về một đặc trưng thể hiện sự hoàn thành khoá học
của một sinh viên. Giả sử các giá trị có thể là 4, 3, 2, 1 tương ứng với các ý nghĩa:
”xuất sắc”, “rất tốt“, “tốt“, “không tốt“. Các giá trị này được sắp xếp theo một thứ
tự có ý nghĩa nhưng sự so sánh giữa hai giá trị liên tiếp là không quan trọng lắm về
lượng.
- Các đặc trưng đo theo khoảng (interval –scaled): Với một đặc trưng cụ thể
nếu sự khác biệt giữa hai giá trị là có ý nghĩa về mặt số lượng thì ta có đặc trưng đo
theo khoảng (còn gọi là thang khoảng). Ví dụ về đặc trưng nhiệt độ, nếu từ 10-15
độ thì được coi là rét đậm, còn nếu dưới 10 độ thì được coi là rét hại, vì vậy mỗi
khoảng nhiệt độ mang một ý nghĩa riêng.


6

- Các đặc trưng đo theo tỷ lệ (ratio-scaled): Cũng với ví dụ nhiệt độ ở trên ta
không thể coi tỷ lệ giữa nhiệt độ Hà Nội 10 độ với nhiệt độ Matxcơva 1 độ mang ý
nghĩa rằng Hà Nội nóng gấp mười lần Matxcơva. Trong khi đó, một người nặng
100 kg được coi là nặng gấp hai lần một người nặng 50 kg. Đặc trưng cân nặng là
một đặc trưng đo theo tỷ lệ (thang tỷ lệ).


1.2.4 Ứng dụng của kỹ thuật phân cụm
Phân cụm là một công cụ quan trọng trong một số ứng dụng. Sau đây là một
số ứng dụng của nó:
• Giảm dữ liệu: Giả sử ta có một lượng lớn dữ liệu (N). Phân cụm sẽ nhóm

các dữ liệu này thành m cụm dữ liệu dễ nhận thấy và m << N. Sau đó xử lý mỗi cụm
như một đối tượng đơn.
• Rút ra các giả thuyết: Các giả thuyết này có liên quan đến tính tự nhiên

của dữ liệu và phải được kiểm tra bởi việc dùng một số tập dữ liệu khác.
• Kiểm định giả thuyết: Ta sẽ phân cụm để xét xem có tồn tại một tập dữ

liệu nào đó trong tập dữ liệu thoả mãn các giả thuyết đã cho hay không. Chẳng
hạn xem xét giả thuyết sau đây: “Các công ty lớn đầu tư ra nước ngoài “. Để kiểm
tra, ta áp dụng kỹ thuật phân cụm với một tập đại diện lớn các công ty. Giả sử rằng
mỗi công ty được đặc trưng bởi tầm vóc, các hoạt động ở nước ngoài và khả năng
hoàn thành các dự án. Nếu sau khi phân cụm, một cụm các công ty được hình thành
gồm các công ty lớn và có vốn đầu tư ra nước ngoài (không quan tâm đến khả năng
hoàn thành các dự án) thì giả thuyết đó được củng cố bởi kỹ thuật phân cụm đã thực
hiện.
• Dự đoán dựa trên các cụm: Đầu tiên ta sẽ phân cụm một tập dữ liệu

thành các cụm mang đặc điểm của các dạng mà nó chứa. Sau đó, khi có một dạng
mới chưa biết ta sẽ xác định xem nó sẽ có khả năng thuộc về cụm nào nhất và dự
đoán được một số đặc điểm của dạng này nhờ các đặc trưng chung của cả cụm.


7


1.3 Phân loại các thuật toán phân cụm
• Các thuật toán phân cụm tuần tự (Sequential Algorithms):
• Các thuật toán phân cụm phân cấp (Hierachical Algorithms)

- Các thuật toán tích tụ (Agglomerative Algorithms)

Các thuật toán phân rã (Divise Algorithms)

-

• Các thuật toán phân cụm dựa trên việc tối ưu hoá hàm chi phí

-

Các thuật toán phân cụm chặt hay rõ

-

Các thuật toán phân cụm theo các hàm xác suất

- Các thuật toán phân cụm mờ
- Các thuật toán phân cụm theo khả năng
- Các thuật toán phát hiện biên phân tách


Các thuật toán khác

- Các thuật toán phân cụm nhánh và cận
- Các thuật toán phân cụm di truyền
- Phương pháp thư giãn ngẫu nhiên

- Thuật toán phân cụm tìm khe
- Thuật toán học cạnh tranh
- Các thuật toán dựa trên kỹ thuật biến đổi hình thái học :

1.4 Kết luận
Chương 1 đã trình bày cái nhìn tổng quát nhất về khai phá dữ liệu, giới thiệu
cơ bản kỹ thuật phân cụm dữ liệu cũng như nhìn nhận và giới thiệu cụ thể từng
phương pháp. Trong đó tập trung vào giới thiệu một số phương pháp phân cụm dữ
liệu để giải quyết bài toán phân cụm được đặt ra. Chương 2 tiếp theo đây sẽ đi vào
tìm hiểu kỹ hơn các phương pháp này.


8

CHƯƠNG 2: PHÂN CỤM CHO TƯ VẤN LỰA CHỌN
NGÀNH NGHỀ
2.1 Giới thiệu chương 2
Hiện nay, lĩnh vực nghiên cứu khai thác dữ liệu giáo dục đang tiếp tục phát
triển, vô số các kỹ thuật khai thác dữ liệu đã được áp dụng cho một loạt các phạm vi
giáo dục. Trong mỗi trường hợp, mục tiêu là để dịch dữ liệu thô thành các thông tin
có ý nghĩa về quá trình học tập để đưa ra quyết định tốt hơn về thiết kế và quy trình
của một môi trường học tập.
Các kỹ thuật phân cụm có rất nhiều cách tiếp cận và các ứng dụng trong thực
tế, nó đều hướng tới hai mục tiêu chung đó là chất lượng của các cụm khám phá
được và tốc độ thực hiện của thuật toán. Hiện nay, các kỹ thuật phân cụm có thể
phân loại theo các phương pháp tiếp cận chính sau: phương pháp phân hoạch
(Partitioning Methods); phương pháp phân cấp (Hierarchical Methods); phương
pháp dựa trên mật độ (Density-Based Methods); phương pháp dựa trên lưới (GridBasesd Methods).

2.2 Phương pháp phân hoạch (Partitioning Methods)

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho
đến khi xác định số các cụm được thiết lập. 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 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.

2.2.1 Thuật toán K – Means
Thuật toán k-means do MacQueen giới thiệu trong tài liệu “J. Some methods
for Classification and Analysis of Multivariate Observations” năm 1967. Mục đích
của thuật toán là sinh ra k cụm dữ liệu {C1, C2,…, Ck} từ một tập dữ liệu ban
đầu gồm n đối tượng trong không gian d chiều Xi= (xi1, xi2, …, xid) (i = ¯1¯, ¯n¯), sao


9

cho hàm tiêu chuẩn E = ∑k

∑s∈Ci D2(x − mi) đạt giá trị cực tiểu. Trong đó mi là

trọng tâm của cụm Ci. D là khoảng cách giữa hai đối tượng.
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ
thuật phân cụm. Tư tưởng chính của thuật toán K-Means là tìm cách phân nhóm các
đối tượng (objects) đã cho vào K cụm (K là số các cụm được xác đinh trước, K
nguyên dương) sao cho tổng bình phương khoảng cách giữa các đối tượng đến tâm
nhóm (centroid ) là nhỏ nhất.

2.2.2 Thuật toán PAM
Thuật toán PAM (Partitioning Around Medoids) được Kaufman và

Rousseeuw đề xuất 1987, là thuật toán mở rộng của thuật toán k-means, nhằm có
khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc các phần tử ngoại lai. Thay vì sử
dụng các trọng tâm như k-means, PAM sử dụng các đối tượng medoid để biểu diễn
cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại vị trí trung tâm nhất
bên trong của mỗi cụm. Vì vậy, các đối tượng medoid ít bị ảnh hưởng của các đối
tượng ở rất xa trung tâm, trong khi đó các trọng tâm của thuật toán k-means lại rất
bị tác động bởi các điểm xa trung tâm này. Ban đầu, PAM khởi tạo k đối tượng
medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng medoid
đại diện tương ứng sao cho chúng tương tự với đối tượng medoid trong cụm nhất.

2.2.3 Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman và Rousseeuw đề
xuất năm 1990, thuật toán này nhằm khắc phục nhược điểm của thuật toán PAM
trong trường hợp giá trị của k và n lớn. CLARA tiến hành trích mẫu cho tập dữ liệu
có n phần tử và áp dụng thuật toán PAM cho mẫu này và tìm ra các các đối tượng
medoid của mẫu này. Người ta thấy rằng, nếu mẫu dữ liệu được trích một cách ngẫu
nhiên, thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu.
Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu rồi thực hiện
phân cụm cho mỗi trường hợp này và tiến hành chọn kết quả phân cụm tốt nhất khi
thực hiện phân cụm trên các mẫu này. Để cho chính xác, chất lượng của các cụm


10

được đánh giá thông độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu
trong tập đối tượng ban đầu. Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích
thước 40+2k cho các kết quả tốt.

2.3 Phương pháp phân cụm phân cấp (Hierarchical Methods)
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ó hai cách tiếp
cận phổ biến của kỹ thuật này đó là: hòa nhập nhóm, thường được gọi là tiếp cận
(Bottom-Up); phân chia nhóm, thường được gọi là tiếp cận (Top-Down).

2.3.1 Thuật toán BIRCH
BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) do
Tian Zhang, amakrishnan và Livny đề xuất năm 1996, là thuật toán phân cụm phân
cấp sử dụng chiến lược Top down. Ý tưởng của thuật toán là không cần lưu toàn bộ
các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê.
Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu một bộ ba (n, LS, SS), với n là số đối
tượng trong cụm, LS là tổng các giá trị thuộc tính của các đối tượng trong cụm và
SS là tổng bình phương các giá trị thuộc tính của các đối tượng trong cụm. Các bộ
ba này được gọi là các đặc trưng của cụm CF=(n, LS, SS) (Cluster Features - CF)
và được lưu giữ trong một cây được gọi là cây CF.

2.3.2 Thuật toán CURE
Việc chọn một cách biểu diễn cho các cụm có thể nâng cao chất lượng phân
cụm. Thuật toán CURE (Clustering Using REpresentatives) được đề xuất bởi
Sudipto Guha, Rajeev Rastogi và Kyuseok Shim năm 1998 là thuật toán sử dụng
chiến lược Bottom up của kỹ thuật phân cụm phân cấp.
Thay vì sử dụng các trọng tâm hoặc các đối tượng tâm để biểu diễn cụm,
CURE sử dụng nhiều đối tượng để diễn tả cho mỗi cụm dữ liệu. Các đối tượng đại
diện cho cụm này ban đầu được lựa chọn rải rác đều ở các vị trí khác nhau, sau đó
chúng được di chuyển bằng cách co lại theo một tỉ lệ nhất định. Tại mỗi bước của


11

thuật toán, hai cụm có cặp đối tượng đại diện gần nhất sẽ được trộn lại thành một

cụm.

2.4 Phương pháp phân cụm dựa trên lưới (Grid-Based Methods)
Kỹ thuật phân cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, dựa trên
cấu trúc dữ liệu lưới để phân cụm, phương pháp này chủ yếu tập trung áp dụng cho
lớp dữ liệu không gian. Mục tiêu của phương pháp này là lượng hóa dữ liệu thành
các ô tạo thành cấu trúc dữ liệu lưới. Sau đó, các thao tác phân cụm chỉ cần làm việc
với các đối tượng trong từng ô trên lưới chứ không phải các đối tượng dữ liệu. Cách
tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng
nhiều mức phân cấp của nhóm các đối tượng trong một ô. Phương pháp này gần
giống với phương pháp phân cụm phân cấp nhưng chúng không trộn các ô, đồng
thời giải quyết khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân
phân cụm dựa trên mật độ không giải quyết được.ưu điểm của phương pháp phân
cụm dựa trên lưới là thời gian xử lí nhanh và độc lập với số đối tượng dữ liệu trong
tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của
không gian lưới.

2.4.1 Thuật toán STING
STING (STatistical INformation Grid) do Wang, Yang và Muntz đề xuất
năm 1997, nó phân rã tập dữ liệu không gian thành số hữu hạn các cell sử dụng cấu
trúc phân cấp chữ nhật. Có nhiều mức khác nhau cho các cell trong cấu trúc lưới,
các cell này hình thành nên cấu trúc phân cấp như sau: Mỗi cell ở mức cao được
phân hoạch thành các cell mức thấp hơn trong cấu trúc phân cấp.

2.4.2 Thuật toán CLIQUE
Thuật toán CLIQUE do Agrawal, Gehrke, Gunopulos, Raghavan đề xuất
năm 1998, là thuật toán tự động phân cụm không gian con với số chiều lớn, nó cho
phép phân cụm tốt hơn không gian nguyên thủy



12

2.5 Phương pháp phân cụm dựa trên mật độ (Density-Based Methods)
Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật
độ là số các đối tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó.
Trong cách tiếp cận này, khi một dữ liệu đã xác định thì nó tiếp tục được phát triển
thêm các đối tượng dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn
một ngưỡng đã được xác định trước. Phương pháp phân cụm dựa trên mật độ của
các đối tượng để xác định các cụm dữ liệu có thể phát hiện ra các cụm dữ liệu với
hình thù bất kỳ. Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá
trị nhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là rất khó
khăn, trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm.

2.5.1 Thuật toán DBSCAN (KDD’96)
Thuật toán phân cụm dựa trên mật độ thông dụng nhất là thuật toán
DBSCAN (Density - Based Spatial Clustering of Applications with noise) do Ester,
P. Kriegel và J. Sander đề xuất năm 1996. Thuật toán đi tìm các đối tượng mà có số
đối tượng láng giềng lớn hơn một ngưỡng tối thiểu. Một cụm được xác định bằng
tập tất cả các đối tượng liên thông mật độ với các láng giềng của nó.
Thuật toán DBSCAN dựa trên các khái niệm mật độ có thể áp dụng cho các
tập dữ liệu không gian lớn đa chiều. Sau đây là một số định nghĩa và bổ đề được sử
dụng trong thuật toán DBSCAN.

2.5.2 Thuật toán OPTICS
Thuật toán OPTICS (Ordering Points To Identify the Clustering Structure)
do Ankerst, Breunig, Kriegel và Sander đề xuất năm 1999, là thuật toán mở rộng
cho thuật toán DBSCAN, bằng cách giảm bớt các tham số đầu vào.
Thuật toán thực hiện tính toán và sắp xếp các đối tượng theo thứ tự tăng dần nhằm
tự động phân cụm và phân tích cụm tương tác hơn là đưa ra phân cụm một tập dữ
liệu rõ ràng. Thứ tự này diễn tả cấu trúc dữ liệu phân cụm dựa trên mật độ chứa

thông tin tương đương với phân cụm dựa trên mật độ với một dãy các tham số đầu


13

vào. OPTICS xem xét bán kính tối thiểu nhằm xác định các láng giềng phù hợp với
thuật toán.

2.6 Phương pháp phân cụm dựa trên mô hình (Model-Based Clustering
Methods)
Phương 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 dựa trên mô hình cố gắng khớp giữa các dữ liệu với
mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân
phối xác suất cơ bản. Các thuật toán phân cụm dựa trên mô hình có hai cách
tiếp cận chính: mô hình thống kê và mạng nơron. Phương pháp này gần giống với
phương pháp phân cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt
nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt
đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các
cụm.

2.7

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

buộc


(Binding data

clustering Methods)
Sự phát triển của phân cụm dữ liệu không gian trên cơ sở dữ liệu lớn đã
cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lí, tuy nhiên hầu
hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng
buộc trong thế giới thực cần phải được thỏa mãn trong quá trình phân cụm. Để phân
cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện
để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân
cụm.
Hiện nay, các phương pháp phân cụm trên đã và đang được 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


14

phát triển trên cơ sở của các phương pháp đó như:
- Phân cụm thống kê
- Phân cụm khái niệm
- Phân cụm mờ
- Phân cụm mạng Kohonen

2.8 Tổng hợp và đánh giá các phương pháp
Từ các thuật toán điển hình của những phương pháp phân cụm đã tìm hiểu
được ở trên, ta có bảng tổng hợp các thuật toán như sau:
Bảng 2.1: Bảng tổng hợp các thuật toán
Phương pháp phân hoạch
Thông số đầu
Tối ưu
vào


Xử lý
nhiễu

Độ phức
tạp

K-means

Số lượng cụm

Không

O(Ikn)

PAM

Số lượng cụm

Cụm riêng biệt,
bộ dữ liệu nhỏ

Không

O(Ik(n-k)2)

CLARA

Số lượng cụm


Cụm riêng biệt
Tối ưu cục bộ

Không

O(k(40+k)2
+ k(n-k))



O(n)



O(n2logn)

DBSCAN

Bán kính của cụm, số
lượng tối thiểu của Cụm hình dạng bất kỳ,
bộ dữ liệu lớn
các điểm trong
cụm



O(nlogn)

OPTICS


Bán kính của cụm
(min, max), số lượng
tối thiểu của các đối
tượng



O(nlogn)

Thuật
toán

BIRCH

CURE

Cụm riêng biệt

Phương pháp phân cấp
Yếu tố nhánh,
ngưỡng đường
Bộ dữ liệu lớn
kính
Số lượng cụm, số
Cụm hình dạng bất kỳ,
lượng cụm
bộ dữ liệu
đại diện
tương đối lớn
Phương pháp dựa trên mật độ


Cụm hình dạng bất kỳ


15

Phương pháp dựa trên lưới
STING

Số lượng ô ở mức
thấp nhất, số lượng
đối tượng trong ô

Dữ liệu không gian lớn



CLIQUE

Số lượng ô ở mức
thấp, một số đối
tượng trong ô

Dữ liệu không gian với
số chiều lớn



O(n)


O(n)

2.9 Kết luận
Nội dung chương 2 đã đề cập đến một số kỹ thuật phân cụm dữ liệu: phương
pháp phân hoạch, phương pháp phân cấp, phương pháp dựa trên mật độ, phương
pháp dựa trên lưới, phương pháp phân cụm dựa trên mô hình và một số thuật toán
tiêu biểu của từng phương pháp. Đánh giá từng thuật toán để từ đó có thể đưa ra
quyết định lựa chọn thuật toán phù hợp cho bài toán mà luận văn đưa ra.


16

CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Giới thiệu
Trường Đại học Kiến trúc Hà Nội là trường đại học công lập được thành
lập từ năm 1969 theo đề nghị của bộ Kiến Trúc thỏa thuận với Bộ Đại Học và Giáo
dục chuyên Nghệp (nay là Bộ Xây dựng và Bộ Giáo dục và Đào tạo), có trụ sở tại
quận Hà Đông, thành phố Hà Nội. Hàng năm, trường đào tạo hàng trăm lượt kiến
trúc sư và kỹ sư phục vụ cho nhu cầu của xã hội. Sinh viên sau năm đầu tiên học tập
tại trường được đăng ký các ngành học chuyên sâu theo khoa đào tạo. Rất nhiều
bạn sinh viên cảm thấy rất khó khăn trong sự lựa chọn chuyên ngành của mình để
phục vụ công việc sau khi ra trường. Một số yếu tố ảnh hưởng đến sự lựa chọn này
là:
- Thứ nhất, là sở thích của sinh viên. Sinh viên sẽ đăng ký vào ngành học mà
mình thích.
- Yếu tố tiếp theo là căn cứ vào chính năng lực học tập của sinh viên. Năng lực
học tập phần lớn được phản ánh qua thành tích và điểm số.
Với mong muốn giúp các sinh viên có thể đưa ra một quyết định đúng đắn
trong việc lựa chọn theo học một ngành học phù hợp với năng lực mà vẫn đúng sở
thích của bản thân, tác giả đã có ý tưởng xây dựng một hệ thống tư vấn lựa chọn

ngành nghề cho sinh viên trường Đại học Kiến Trúc Hà Nội. Vì số lượng sinh viên
các khoa là rất lớn và có nhiều ngành học riêng biệt nên tác giả chọn thử ghiệm trên
một khoa xây dựng với ba chuyên ngành chính là xây dựng dân dụng và công
nghiệp, công nghệ kỹ thuật vật liệu xây dựng, xây dựng công trình ngầm đô thị.

Căn cứ để phân các chuyên ngành trong khoa:
Dựa vào bảng điểm thành tích năm học đầu của sinh viên và nguyện vọng
đăng ký dựa theo sở thích của sinh viên mà đưa ra kết quả tư vấn lựa chọn chuyên
ngành phù hợp.
Tiêu chí để lựa chọn sẽ là điểm của một số môn đặc biệt của ngành học được
phân tích theo chuyên sâu ngành học đó. Sau năm nhất, sinh viên khoa xây dựng sẽ


17

học 13 môn học cơ bản, trong đó có 5 môn học chuyên sâu là cơ học cơ sở, hình
học họa hình và vẽ kỹ thuật, kiến trúc công trình, hóa học đại cương, vật lý đại
cương.
Ba chuyên ngành chính để sắp xếp tư vấn cho sinh viên là xây dựng dân dụng và
công nghiệp, công nghệ kỹ thuật vật liệu xây dựng và xây dựng công trình ngầm đô
thị.

3.2 Lựa chọn thuật toán và mô tả
Từ những nghiên cứu, tổng hợp, đánh giá các phương pháp và thuật toán đặc
trưng ở chương 2, tác giả đi đến quyết định lựa chọn sử dụng thuật toán K-means để
phân cụm điểm sinh viên, tương ứng với các chuyên ngành học trong khoa mà hệ
thống sẽ gợi ý.
+ Số cụm (Clusters): 3 cụm tương ứng 3 chuyên ngành: Công nghệ kỹ thuật Vật
liệu xây dựng (VL), Xây dựng Dân dụng và Công nghiệp (XD), Xây dựng Công
trình ngầm và đô thị (CTN).

+ Dữ liệu điểm chính để xét là điểm tổng hợp của 5 đầu điểm: Hóa học đại cương,
Vật lý đại cương, Kiến trúc công trình, Hình học HH và vẽ kĩ thuật, Cơ học cơ sở.
Để tiện cho việc đánh giá, tác giả tạo ra ba mẫu đặc trưng cho từng chuyên ngành.
Ở đây mình tạo ra 3 dữ liệu đặc trưng :
Bảng 3.1: Dữ liệu đặc trưng cho các ngành học

Đặc trưng 1

Hóa học đại Vật lý đại Kiến trúc Hình học Cơ học cơ
cương
cương
công trình
HH và vẽ kĩ sở
thuật
10
5
5
5
5

Đặc trưng 2

5

10

5

5


5

Đặc trưng 3

5

5

10

5

5

Với đặc trưng 1 [10,5,5,5,5], tác giả kỳ vọng sau khi phân cụm, cụm (cluster)
nào chứa dữ liệu 1 này sẽ có khả năng cao theo chuyên ngành Công nghệ kỹ thuật
vật liệu xây dựng (VL), tương tự đặc trưng 2 [5,10,5,5,5] tương ứng chuyên ngành


18

xây dựng dân dụng & công nghiệp, đặc trưng 3 [5,5,10,5,5] tương ứng theo chuyên
ngành xây dựng công trình ngầm đô thị.
Với bộ dữ liệu đặc trưng này, sau khi áp dụng kỹ thuật phân cụm, chỉ cần xem dữ
liệu đặc trưng nào thuộc cụm nào là ta có thể đánh nhãn được cụm đó là chuyên
ngành nào (ví dụ dữ liệu đặc trưng 1 thuộc cụm có chỉ số là 0 => cụm 0 là cụm
chuyên ngành Vật liệu).

3.3 Xây dựng hệ thống
Dữ liệu đầu vào ban đầu được thu thập dưới dạng file excel bảng điểm năm

đầu của một lớp sinh viên thử nghiệm và dựa trên khảo sát nguyện vọng của sinh
viên trong việc lựa chọn chuyên ngành phù hợp.

Hình 3.1: Mô tả dữ liệu mẫu

Sau khi thu thập được dữ liệu mẫu dưới dạng file excel lưu trữ trong file data
của hệ thống, chương trình tự động nhập dữ liệu từ file excel ban đầu:


19

Hình 3.2: Giao diện chương trình nhập dữ liệu

Chương trình nhận dữ liệu đầu vào từ file excel trong data.
Sau khi nhận dữ liệu có sẵn từ file data hệ thống lưu trữ dữ liệu đầu vào dưới dạng
bảng:

Hình 3.3: Chương trình sau đó phân tích và dựa trên cơ sở thuật toán K-Means:

+ Hàm init_centroids(X, k): X là dữ liệu, k là số số cụm (cluster). Hàm này sẽ khởi
tạo các điểm trung tâm ban đầu, có thể lấy ngẫu nhiên.


20

+ Hàm assign_labels(X, centroids): X là dữ liệu, centroids là các trung điểm hiện
tại. Hàm này sẽ gán nhãn cho các dữ liệu về các cụm mà nó gần với trung điểm
nhất.
+ Hàm update_centroids(X, labels, K): X: dữ liệu; labels: các nhãn của dữ liệu; k:
số cụm. Hàm nãy sẽ cập nhật lại trung điểm (centroid) của mỗi cụm bằng cách lấy

ra dữ liệu gần với giá trị trung bình (mean) của cụm đó nhất.
+ Hàm has_converged(centroids, new_centroids): kiểm tra hội tụ. Thuật toán hội
tụ (tức là đã tính được đầu ra đúng) khi mà sau bước cập nhật trung điểm, các trung
điểm mới giống hoàn toàn với trung điểm cũ.
+ Hàm kmeans(X, K): hàm chính, sẽ gọi các hàm trên theo thứ tự thuật toán.
Tư vấn cho sinh viên thông qua điểm từng môn đặc trưng của
từng chuyên ngành, phân chia sinh viên về các ngành phù hợp trong khoa
và đưa ra kết quả

Hình 3.4: Kết quả sau khi đã phân tích dữ liệu đầu vào

Sau khi đưa ra kết quả tư vấn, chương trình sẽ tổng hợp, tính toán dựa trên biểu đồ
kết quả đưa ra tỷ lệ phần trăm số tư vấn phù hợp với sở thích của sinh viên cũng
như tỷ lệ phần trăm kết quả phù hợp của toàn hệ thống.


21

Kết quả sau khi phân tích và đưa ra tỷ lệ đánh giá:

Hình 3.5: Biểu đồ đánh giá hệ thống


22

3.3 Kết luận
Nội dung chương đã giới thiệu bài toán thực tế về việc đào tạo và đặc điểm
lựa chọn, tư vấn sinh viên lựa chọn các ngành nghề chuyên ngành của trường Đại
học Kiến Trúc Hà Nội. Dựa trên khai phá dữ liệu và ứng dụng thuật toán tác giả đã
xây dựng được hệ thống tư vấn lựa chọn ngành nghề giúp các sinh viên có thể định

hướng lựa chọn đúng chuyên ngành học phù hợp với bản thân và đánh giá được
năng lực của bản thân, từ đó có kế hoạch định hướng học tập đúng đắn để sau khi ra
trường có thể lựa chọn được công việc đúng khả năng và sở thích.


23

KẾT LUẬN
• Luận văn đạt được kết quả sau
Luận văn “Ứng dụng phân cụm trong khai phá dữ liệu cho tư vấn
ngành nghề sinh viên trường Đại học Kiến Trúc Hà Nội” đã trình bày được
một số vấn đề sau:
- Tổng quan về khám phá tri thức và ứng dụng khai phá các dữ liệu được lưu trữ
trong các hệ thống thông tin. Khai phá dữ liệu được ứng dụng nhiều trong các lĩnh
vực khác nhau của cuộc sống, đặc biệt là ứng dụng khai phá dữ liệu trong giáo
dục.
- Một số kỹ thuật phân cụm dữ liệu: phương pháp phân hoạch, phương pháp phân
cấp, phương pháp dựa trên mật độ, phương pháp dựa trên lưới. Các thuật toán điển
hình trong từng phương pháp và đánh giá các thuật toán.
- Dựa trên khai phá dữ liệu, tác giả đã xây dựng được hệ thống tư vấn lựa chọn
ngành nghề phù hợp cho sinh viên trường Đại học Kiến trúc Hà Nội. Áp dụng
thuật toán K–means để phân cụm sinh viên lựa chọn các ngành học chuyên sâu,
giúp sinh viên có thể xác định được ngành nghề phù hợp. Từ đó có kế hoạch học
tập và có sự lựa chọn đúng đắn để sau khi ra trường có thể đạt được một công việc
phù hợp với sở thích và năng lực của bản thân.
- Kết quả tư vấ ngành nghề có thể chưa đúng với nguyện vọng, sỏ thích của sinh
viên, như trong biểu đồ đánh giá hệ thống (Hình 3.5), chuyên ngành vật liệu xây
dựng có tỷ lệ 28,6% sinh viên có tư vấn hợp với nguyện vọng, sở thích, 71,4 % số
sinh viên còn lại có tư vấn không phù hợp với nguyện vọng, sở thích. Như vậy, số
sinh viên này cần có điều chỉnh về học tập. Với những sinh viên có nguyện vọng

theo chuyên ngành xây dựng dân dụng & công nghiệp cần điều chỉnh kết quả học
tập ở môn vật lý, với những sinh viên có nguyện vọng theo chuyên ngành xây dựng
công trình ngầm đô thi cần điều chỉnh kết quả học tập môn kiến trúc công trình. Từ
đó có sự định hướng và đưa ra kế hoạch học tập phù hợp hơn.


×