Tải bản đầy đủ (.pdf) (69 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 (Luận văn thạc sĩ)

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 (799 KB, 69 trang )

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

-------------------------------------------

PHẠM VĂN VƯỢNG

Phạm Văn Vượng

ỨNG DỤNG PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU
HỆ THỐNG THÔNG TIN

CHO TƯ VẤN NGÀNH NGHỀ SINH VIÊN
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI

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

2016- 2017

NỘI
2017

HÀ NỘI, NĂM 2017


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

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

HÀ NỘI, NĂM 2018


i

LỜI CAM ĐOAN
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi, được tôi thực hiện
dưới sự hướng dẫn của PGS.TS. Trần Đình Quế.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa được ai công bố
trong bất cứ công trình nào khác.
Hà Nội, tháng 11 năm 2017
TÁC GIẢ

PHẠM VĂN VƯỢNG


ii

LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn sâu sắc tới thầy PGS.TS. Trần Đình Quế,
Học viện Công nghệ Bưu chính Viễn thông, người thầy đã tạo mọi điều kiện thuận
lợi, dành nhiều thời gian trực tiếp tận tình chỉ bảo, hướng dẫn em trong suốt quá
trình tìm hiểu, nghiên cứu và hoàn thành luận văn.
Em xin chân thành cảm ơn các thầy giáo, các cô giáo của Học viện Công

nghệ Bưu chính Viễn thông đã cung cấp cho em những kiến thức và tận tình chỉ bảo
cho em trong suốt quá trình em học tập tại trường.
Bên cạnh đó, để vượt qua mọi khó khăn và hoàn thành luận văn trong thời
gian cho phép, em đã nhận được rất nhiều sự giúp đỡ, ủng hộ nhiệt thành từ gia
đình, đồng nghiệp, cơ quan và bạn bè. Em xin chân thành cảm ơn
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức và nghiêm túc
nghiên cứu đề tài, nhưng luận văn khó tránh khỏi những thiếu sót. Em rất mong
nhận được sự thông cảm và góp ý chỉ bảo tận tình của thầy cô và mọi người.
Hà Nội, tháng 11 năm 2017
Họ và tên


iii

MỤC LỤC

LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC ................................................................................................................. iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ 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
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU ........................................5
1.1 Giới thiệu..............................................................................................................5
1.2 Kỹ thuật phân cụm dữ liệu ...................................................................................7
1.2.1 Khái niệm ......................................................................................................7
1.2.2 Các bước cơ bản để phân cụm ......................................................................8
1.2.3 Các loại đặc trưng trong phân cụm ............................................................9
1.2.4 Ứng dụng của kỹ thuật phân cụm ...............................................................10

1.3 Phân loại các thuật toán phân cụm .....................................................................11
1.4 Kết luận ..............................................................................................................14
CHƯƠNG 2: PHÂN CỤM CHO TƯ VẤN LỰA CHỌN ........................................15
NGÀNH NGHỀ ........................................................................................................15
2.1 Giới thiệu............................................................................................................15
2.2 Phương pháp phân hoạch (Partitioning Methods) .............................................15
2.2.1 Thuật toán K – Means .................................................................................16
2.2.2 Thuật toán PAM ..........................................................................................19


iv

2.2.3 Thuật toán CLARA .....................................................................................21
2.3 Phương pháp phân cụm phân cấp (Hierarchical Methods) ...............................22
2.3.1 Thuật toán BIRCH ......................................................................................24
2.3.2 Thuật toán CURE ........................................................................................26
2.4 Phương pháp phân cụm dựa trên lưới (Grid-Based Methods) ...........................28
2.4.1 Thuật toán STING .......................................................................................29
2.4.2 Thuật toán CLIQUE ....................................................................................30
2.5 Phương pháp phân cụm dựa trên mật độ (Density-Based Methods) .................30
2.5.1 Thuật toán DBSCAN (KDD’96).................................................................31
2.5.2 Thuật toán OPTICS .....................................................................................34
2.6 Phương pháp phân cụm dựa trên mô hình (Model-Based Clustering Methods)
...................................................................................................................................35
2.7

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

buộc


(Binding data clustering

Methods)....................................................................................................................36
2.8 Tổng hợp và đánh giá các phương pháp ............................................................37
2.9 Kết luận ..............................................................................................................40
CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ .......................................................41
3.1 Giới thiệu............................................................................................................41
3.2 Lựa chọn thuật toán và mô tả .............................................................................42
3.3 Xây dựng hệ thống .............................................................................................44
3.4 Kết luận ..............................................................................................................57
KẾT LUẬN ...............................................................................................................58
DANH MỤC TÀI LIỆU THAM KHẢO ..................................................................60


v

DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Viết tắt
KPDL
CSDL
PCDL

Tiếng Anh

Tiếng Việt
Khai phá dữ liệu
Cơ sở dữ liệu
Phân cụm dữ liệu



vi

DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng tổng hợp các thuật toán ...................................................................39
Bảng 3.1: Bảng thống kê sinh viên các chuyên ngành trong xây dựng ....................42
Bảng 3.2: Dữ liệu đặc trưng cho các ngành học .......................................................43


vii

DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Ví dụ về phân cụm dữ liệu ..........................................................................7
Hình 1.2: Các bước trong quá trình phân cụm ............................................................9
Hình 2.1: Thuật toán K-Means..................................................................................17
Hình 2.2: Các chiến lược phân cụm phân cấp...........................................................23
Hình 2.3: Cấu trúc phân cụm dựa trên lưới...............................................................28
Hình 3.1: Mô tả dữ liệu mẫu .....................................................................................45
Hình 3.2: Giao diện chương trình nhập dữ liệu ........................................................45
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: ...46
Hình 3.4: Kết quả sau khi đã phân tích dữ liệu đầu vào ...........................................48
Hình 3.5: Biểu đồ đánh giá hệ thống ........................................................................55


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
Kỹ thuật khai phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu,
ứng dụng 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 tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa
vào ứng dụng trong những năm gần đây. Những vấn đề được quan tâm là phân lớp
nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt,…
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 vào 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.
.


3

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.
- 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:
Ngoài phần mở đầu và kết luận, luận văn có cấu trúc gồm 03 chương có nội
dung như sau:


4

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.


5

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 [2]:
− 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 tuần tự hay theo thời gian (Sequential/Temporal
patterns)
− Mô tả khái niệm (Concept description and summarization)
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp các
phương pháp học không giám sát trong học máy. Có rất nhiều định nghĩa khác nhau
về kỹ thuật này, nhưng về bản chất ta có thể hiểu phân cụm là các qui trình tìm
cách nhóm các đối tượng đã cho vào các cụm (clusters), sao cho các đối tượng


6

trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì không
tương tự (Dissimilar) nhau.
Phân cụm dữ liệu là xử lý 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. Số các cụm dữ liệu được phân ở đây có thể được xác
định trước theo kinh nghiệm hoặc có thể được tự động xác định của phương pháp
phân cụm.
Mục đích của phân cụm là tìm ra bản chất bên trong các nhóm của dữ liệu.
Các thuật toán phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters).
Tuy nhiên, không có tiêu chí nào là được xem là tốt nhất để đánh hiệu của của phân
tích phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction,
“natural clusters”, “useful” clusters, outlier detection

Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như [4]:
• Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng
giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch
vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn;

• Biology: Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng;
• Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
• Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ
tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính
• WWW: Phân loại tài liệu (document classification); phân loại người dùng web


7

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 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 (unupervised learning or
automatic classfication) trong trí tuệ nhân tạo. 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ố, tư vấn, dự đoán …

Hình 1.1: Ví dụ về phân cụm dữ liệu

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



8

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 : Các đặc trưng phải được chọn lựa một cách hợp lý
để có thể “mã hoá” nhiều nhất thông tin liên quan đến công việc quan tâm. Mục tiêu
chính là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng. Các đặc trưng cần
được tiền xử lý trước khi dùng trong các bước sau.
• Chọn độ đo gần gũi: Đây là một độ đo chỉ ra mức độ tương tự hay không
tương tự giữa hai vector đặc trưng. Phải đảm bảo rằng tất cả các vector đặc trưng
góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át
hẳn đặc trưng nào. Điều này được đảm nhận bởi quá trình tiền xử lý.
• Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của chuyên
gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho
rằng đang ẩn dấu dưới tập dữ liệu. Chẳng hạn, một cụm loại chặt (compact) của các
vector đặc trưng trong không gian ℓ-chiều có thể dễ nhận thấy theo một tiêu chuẩn,
trong khi một cụm loại “dài và mỏng” lại có thể đươc dễ nhận thấy bởi một tiêu
chuẩn khác. Tiêu chuẩn phân loại có thể được diễn đạt bởi hàm chi phí hay một vài
loại quy tắc khác.
• Thuật toán phân loại: Cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm
làm sáng tỏ cấu trúc cụm của tập dữ liệu.
• Công nhận kết quả: Khi đã có kết quả phân loại thì ta phải kiểm tra tính
đúng đắn của nó. Điều này thường được thực hiện bởi việc dùng các kiểm định phù
hợp.
• Giải thích kết quả: Trong nhiều trường hợp, chuyên gia trong lĩnh vực
ứng dụng phải kết hợp kết quả phân loại với bằng chứng thực nghiệm và phân tích
để đưa ra các kết luận đúng đắn. Trong một số trường hợp, nên có cả bước khuynh
hướng phân cụm; trong bước này có các kiểm định khác nhau để chỉ ra một dữ liệu



9

có hay không một cấu trúc phân cụm. Ví dụ như tập dữ liệu của ta có thể hoàn toàn
ngẫu nhiên vì vậy mọi cố gắng phân cụm đều vô nghĩa. Các lựa chọn khác nhau của
các đặc trưng, độ đo gần gũi, tiêu chuẩn phân cụm có thể dẫn tới các kết quả phân
cụm khác nhau. Do đó, việc lựa chọn một cách hợp lý nhất hoàn toàn dựa vào kiến
thức và kinh nghiệm của người thực hiện.

Knowled

* **
**
* * ** *
** *

*
*

* ** *

Clusters

* ** * ** * **

Algorithm

Hình 1.2: Các bước trong quá trình phân cụm [8]


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ì


10

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


11

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.


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 có thể được xem như các sơ đồ cung cấp cho ta các
cụm “dễ nhận thấy” bởi việc chỉ xem xét một phần của tập chứa tất cả các cách
phân cụm của X. Kết quả phân cụm phụ thuộc vào thuật toán và tiêu chuẩn phân
cụm. Như vậy, một thuật toán phân cụm là một chức năng học cố gắng tìm ra các
đặc trưng riêng biệt của các cụm ẩn dấu dưới tập dữ liệu. Có nhiều cách để phân
loại các thuật toán phân cụm, sau đây là một cách phân loại:


Các thuật toán phân cụm tuần tự (Sequential Algorithms):

Các thuật toán này sinh ra một cách phân cụm duy nhất, chúng là các phương
pháp trực tiếp và thuật toán một hoặc vài lần (không hơn 6 lần). Kết quả cuối cùng
thường phụ thuộc nhanh. Trong hầu hết các thuật toán thuộc loại này, tất cả các
vector đặc trưng tham gia vào vào thứ tự các vector tham gia vào thuật toán. Những
sơ đồ loại này có khuynh hướng sinh ra các cụm có hình dạng chặt siêu cầu hoặc
siêu elipxoit tuỳ theo độ đo được dùng.


12



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):

Chúng sinh ra một dãy cách phân cụm mà số cụm, m, giảm dần ở mỗi bước.
Cách phân cụm ở mỗi bước là kết quả của cách phân cụm ở bước trước đó bằng
việc trộn hai cụm vào một. Các đại diện chính của loại này là thuật toán liên kết đơn

(phù hợp với các cụm dài và mỏng) và thuật toán liên kết đầy đủ (phù hợp với các
cụm chặt). Các thuật toán tích tụ thường dựa trên lý thuyết đồ thị và lý thuyết ma
trận.
- Các thuật toán phân rã (Divise Algorithms):

Sinh ra một dãy cách phân cụm mà số cụm, m, tăng dần ở mỗi bước. Cách
phân cụm ở mỗi bước là kết quả cách phân cụm ở bước trước đó bằng việc chia đôi
một cụm đơn.


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

Hàm chi phí J đo độ “dễ nhận thấy” của các cách phân cụm. Thường thì số
các cụm, m, là cố định. Thuật toán sẽ dùng các khái niệm về phép tính vi phân và
sinh ra các cách phân cụm liên tiếp trong khi cố gắng tối ưu hoá J. Thuật toán sẽ
dừng khi một tối ưu địa phương được xác định. Các thuật toán loại này cũng được
gọi là các sơ đồ tối ưu hoá hàm lặp. Chúng được phân tiếp như sau:
- Các thuật toán phân cụm chặt hay rõ:

Vector thuộc hoàn toàn vào một cụm cụ thể. Việc đưa một vector về các cụm
cụ thể được thực hiện một cách tối ưu theo tiêu chuẩn phân cụm tối ưu.
- Các thuật toán phân cụm theo các hàm xác suất:

Dựa vào lý thuyết phân lớp Bayes và mỗi vector x được phân về cụm thứ i
nếu
p(Ci | x) là lớn nhất (xác suất để x được phân đúng vào cụm Ci).


13


Các thuật toán phân cụm mờ:

-

Các vector thuộc về một cụm nào đó với một độ chắc chắn.
Các thuật toán phân cụm theo khả năng :

-

Trong trường hợp này ta đo khả năng một vector đặc trưng thuộc về một cụm
nào đó.
- Các thuật toán phát hiện biên phân tách :

Các thuật toán này cố gắng đặt các biên phân tách một cách tối ưu giữa các
cụm.


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 này cung cấp cho ta các cách phân cụm tối ưu toàn cục mà
không phải xét tới tất cả các cách phân cụm có thể, với m cố định và một tiêu chuẩn
phân cụm định trước. Nhưng đòi hỏi rất nhiều tính toán.
- Các thuật toán phân cụm di truyền :

Sử dụng dân số ban đầu của các cách phân cụm có thể và sinh ra các số dân
mới một cách lặp đi lặp lại. Số dân mới này nhìn chung chứa các cách phân cụm tốt
hơn so với thế hệ trước, theo một tiêu chuẩn đã định trước.
- Phương pháp thư giãn ngẫu nhiên :


Đảm bảo rằng với các điều kiện chắc chắn, độ hội tụ theo xác suất tới cách
phân cụm tối ưu toàn cục nhưng tốn nhiều thời gian tính toán.
- Thuật toán phân cụm tìm khe :

Xem mỗi vector đặc trưng như là một biến ngẫu nhiên x. Chúng dựa trên một
giả định được công nhận rộng rãi rằng vùng phân bố của x nơi có nhiều vector
tương ứng với vùng mật độ cao của hàm mật độ xác suất (probability density
function), vì vậy việc ước lượng các hàm mật độ xác suất sẽ làm rõ các khu vực nơi


14

các cụm hình thành.
- Thuật toán học cạnh tranh:

Không dùng các hàm chi phí, chúng tạo ra vài cách phân cụm và các cách
này hội tụ tới cách dễ nhận thấy nhất. Các đại diện tiêu biểu của loại này là sơ đồ
học cạnh tranh cơ bản và thuật toán học lỗ rò.
- Các thuật toán dựa trên kỹ thuật biến đổi hình thái học :

Cố gắng đạt được sự phân chia tốt hơn giữa các cụm.

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.



15

CHƯƠNG 2: PHÂN CỤM CHO TƯ VẤN LỰA CHỌN
NGÀNH NGHỀ
2.1 Giới thiệu
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) [4].

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. Tuy nhiên, phương pháp này không thể
xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dầy đặc. Các
thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu
toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân
hoạch có thể được. Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ



16

cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của
cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Như vậy, ý
tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến
lược ăn tham (Greedy) để tìm kiếm nghiệm
Điển hình trong phương pháp tiếp cận theo phân cụm phân họach là các thuật
toán như: K_means, K-medoids, PAM, CLARA (Clustering Large Applications),
CLARANS (Clustering Large Applications based on RAndomized Search) . . .[][]

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
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.
Thuật toán K-Means được mô tả như sau:



×