Qua quá trình tìm hiểu, nghiên cứu nội dung ch ơng trình đư học và đ ợc sự đồng ý của Thầy PGS.TS Võ Trung Hùng, tôi đư chọn đề tài: “Nghiên cứu một số thuật toán phân cụm dữ liệu và ứng
Trang 1Đ IăH CăĐĨăN NG
H ăPHÚC
NGHIểNăC UăM TăS ăTHU TăTOÁN
PHỂNăC MăD ăLI UăVĨă NGăD NGăH ăTR ă
BỊNHăS N,ăQU NGăNGĩI
LU NăVĔNăTH CăSƾă
H ăTH NGăTHÔNG TIN
ĐƠăN ngă- Nĕmă2019
Trang 2Đ IăH CăĐĨăN NG
H ăPHÚC
NGHIểNăC UăM TăS ăTHU TăTOÁN
PHỂNăC MăD ăLI UăVĨă NGăD NGăH ăTR ă
BỊNHăS N,ăQU NGăNGĩI
ChuyênăngƠnh:ăH ăth ngăthôngătin
Mưăs :ă848.01.04
LU NăVĔNăTH CăSƾ
Ng iăh ngăd năkhoaăh c:ăPGS.TS Võ Trung Hùng
ĐƠăN ngă- Nĕmă2019
Trang 8M C L C
L IăCAMăĐOAN i
M CăL C ii
DANHăM CăT ăVI TăT T iv
DANHăM CăCÁCăB NG v
DANHăM CăCÁCăHỊNH vi
M ăĐ U 1
1 Lý do chọn đề tài 1
2 Mục tiêu và nhiệm vụ đề tài 2
3 Đối t ợng và phạm vi nghiên cứu 3
4 Ph ơng pháp nghiên cứu 3
5 Mục đích và ý nghĩa của đề tài 3
6 Kết quả dự kiến 4
7 Bố cục của luận văn 4
CH NGă1 T NGăQUANăV ăPHỂNăC MăD ăLI U 5
1.1 Khái niệm và mục tiêu của phân cụm dữ liệu 5
1.2 Các ứng dụng của phân cụm dữ liệu 6
1.3 Các yêu cầu và những vấn đề tồn tại trong phân cụm dữ liệu 7
1.4 Những kỹ thuật tiếp cận trong phân cụm dữ liệu 8
1.4.1 Ph ơng pháp phân cụm phân hoạch 8
1.4.2 Ph ơng pháp phân cụm phân cấp 8
1.4.3 Ph ơng pháp phân cụm dựa trên mật độ 9
1.4.4 Ph ơng pháp phân cụm dựa trên l ới 10
1.4.5 Ph ơng pháp phân cụm dựa trên mô hình 10
1.4.6 Ph ơng pháp phân cụm có dữ liệu ràng buộc 11
1.5 Các kiểu dữ liệu và độ đo 11
1.5.1 Phân loại các kiểu dữ liệu 11
1.5.2 Độ đo t ơng tự và phi t ơng tự 13
1.6 Tổng kết ch ơng 15
CH NGă2 LụăTHUY TăM ăVĨăM TăS ăTHU TăTOÁNăPHỂNăC Mă D ăLI U 17
2.1 Lý thuyết m 17
2.1.1 Tập m 18
2.1.2 Biến ngôn ngữ 20
Trang 92.1.3 Các phép toán logic m 21
2.1.4 Suy diễn m 25
2.1.5 Cấu trúc hệ thống logic m 27
2.2 Thuật toán phân cụm dữ liệu K-Means 28
2.3 Kỹ thuật phân cụm dữ liệu m 32
2.3.1 Tổng quan về phân cụm m 32
2.3.2 M hóa dữ liệu 34
2.3.3 Thuật toán Fuzzy C-Means 39
2.3.4 Thuật toán Fuzzy C-Means m rộng 42
2.3.5 Giải m 46
2.4 Tổng kết ch ơng 47
CH NGă3 PHÁTăTRI Nă NGăD NGăVĨăTH ăNGHI M 48
3.1 Tổng quan về công tác thi đua, khen th ng của ngành giáo dục 48
3.1.1 Một số khái niệm về thi đua, khen th ng 48
3.1.2 Quản lý nhà n ớc về thi đua, khen th ng 49
3.2 Xây dựng các hàm để hỗ trợ phân tích đánh giá 50
3.2.1 Phát biểu bài toán 50
3.2.2 Cơ s thu thập thông tin 50
3.2.3 Mô tả đầu vào, đầu ra 51
3.2.4 Xử lý dữ liệu trên Matlab 52
3.3 Thực nghiệm, đánh giá, nhận xét 59
3.3.1 Thực nghiệm trên bộ dữ liệu của tr ng 59
3.2.2 Đánh giá, nhận xét 66
K TăLU NăVĨăH NGăPHÁTăTRI N 67
TĨIăLI UăTHAMăKH O 68 QUY TăĐ NHăGIAOăĐ TÀI LU NăVĔNă(B n sao)
Trang 10DANH M C T VI T T T
STT T ăVI TăT T Ý NGHƾA
Trang 112.5: Ví dụ tổng hợp nhận xét của ng i theo dõi thi đua 38 2.6: Bảng dữ liệu số đ ợc xây dựng t ơng ứng từ biến ngôn ngữ 39
Trang 13M Đ U
1 Lýădoăch năđ ătƠi
Cải cách hành chính nhà n ớc là một nhiệm vụ mà Đảng và Nhà n ớc rất coi trọng trong giai đoạn hiện nay Trong đó công tác thi đua khen th ng có vị trí vai trò,
ý nghĩa rất quan trọng, là động lực thúc đẩy kinh tế- xư hội phát triển, là biện pháp để
ng i quản lý thực hiện nhiệm vụ chính trị, chuyên môn của đơn vị
khen sẽ phát huy tính tích cực trong công việc đ ợc giao Ng i ch a đ ợc khen cũng
trong th i gian tới
Trong những năm gần đây, tại các tr ng trung học phổ thông (THPT) tỉnh
ngày càng đ ợc áp dụng rộng rãi Hạ tầng kỹ thuật đ ợc đầu t , nâng cấp hoàn thiện hơn Các ứng dụng, cơ s dữ liệu đư đ ợc xây dựng đ a vào khai thác và sử dụng Thế
nh ng hiệu quả mang lại từ việc ứng dụng ch a cao, ứng dụng còn thiếu và ch a đồng
ch a có sự trợ giúp đáng kể của công nghệ thông tin Thông tin phục vụ cho công tác thi đua còn thiếu, dẫn đến việc xử lý công việc chậm trễ, đôi lúc ch a đạt hiệu quả cao Bên cạnh đó thì việc đánh giá thi đua, khen th ng còn mang tính hình thức, tính công
có nhiều thành tích nh ng không đ ợc đánh giá tốt còn những ng i ít thành tích hơn
đ ợc đánh giá tốt dẫn đến có sự “so bì” giữa nhóm giáo viên này với nhóm giáo viên khác
tốt nhất
Tuy nhiên hiện nay việc quản lý thông tin về cán bộ, công chức trong các cơ quan nhà n ớc nói chung, công tác thi đua, khen th ng nói riêng là một bài toán quan
công việc này đòi hỏi mất rất nhiều th i gian và phải hoàn thành đúng th i gian quy định, và cần nhất là “sự công bằng” trong công tác thi đua khen th ng Các tài liệu
Trang 14thi đua, khen th ng có thế mang tính chủ quan
Hiện nay, trên thị tr ng cũng đư có những công cụ hỗ trợ công tác về quản lý thi đua, khen th ng, nh ng mang tính th ơng mại với giá thành cao, và chủ yếu là quản
lý công tác thi đua khen th ng của đơn vị chứ ch a phân nhóm đ ợc đối t ợng thi đua của các đơn vị để tạo sự công bằng trong công tác thi đua Nhà tr ng không đủ kinh phí để mua, còn công cụ miễn phí thì không đáp ứng đ ợc các tiêu chí thi đua của nhà tr ng đư quy định
Khi xét thi đua, khen th ng cần phải đánh giá thành tích của cá nhân trong cơ quan bằng những giá trị định l ợng cụ thể, trong đó có việc theo dõi quá trình công tác
câu nhận xét là những ngôn tự nhiên, ngôn ngữ nói của lãnh đạo cơ quan về thi đua, và đặc biệt là phân nhóm đ ợc các đối t ợng thi đua nhằm tạo sự minh bạch, công bằng trong công tác thi đua, khen th ng Trong quá trình học tập tôi nhận thấy khai phá dữ
(phân cụm dữ liệu rõ và phân cụm dữ liệu m ) Từ đó xây dựng hệ thống phân nhóm đối t ợng thi đua nhằm hỗ trợ cho lưnh đạo đơn vị và hội đồng thi đua của nhà tr ng
có cái nhìn tổng quan và phân nhóm đ ợc các đối t ợng để hỗ trợ trong công tác đánh giá thi đua tạo sự công bằng trong công tác thi đua của đơn vị
hiệu trong công tác quản lý, phân loại thi đua và nhằm tạo cho giáo viên có sự so sánh công bằng trong công tác thi đua của nhà tr ng
Xuất phát từ những nhu cầu thực tế nêu trên, cần thiết phải có công cụ hỗ trợ cho công tác đánh giá thi đua cho nhà tr ng Qua quá trình tìm hiểu, nghiên cứu nội dung
ch ơng trình đư học và đ ợc sự đồng ý của Thầy PGS.TS Võ Trung Hùng, tôi đư chọn
đề tài: “Nghiên cứu một số thuật toán phân cụm dữ liệu và ứng dụng hỗ trợ đánh
giá thi đua tại trường THPT Bình Sơn, Quảng Ngãi”
2 M cătiêuăvƠănhi măv ăđ ătƠi
2.1 Mục tiêu
Biết đ ợc khai phá dữ liệu là gì, phân cụm dữ liệu th ng đ ợc ứng dụng trong lĩnh vực nào, tìm hiểu các kỹ thuật phân cụm dữ liệu đư đ ợc nghiên cứu, biết về logic
m và thuật toán phân cụm dữ liệu m để ứng dụng vào phân cụm dữ liệu thi đua
Ngãi
2.2 Nhiệm vụ
Tìm hiểu kiến thức về phân cụm dữ liệu, tìm hiểu về lý thuyết m và thuật toán
Trang 15phân cụm dữ liệu rõ K-Means và thuật toán phân cụm dữ liệu m Fuzzy C-Means (FCM)
Tìm hiểu về công tác thi đua tr ng trung học phổ thông, cơ s để thu thập thông tin, thu thập đ ợc dữ liệu thi đua của nhà tr ng và ứng dụng đ ợc thuật toán phân cụm dữ liệu m FCM vào viết hàm hỗ trợ phân cụm những giáo viên có thành tích thi đua t ơng đồng nhau từ những nhận xét của bộ phận theo dõi thi đua tại tr ng THPT Bình Sơn, Quảng Ngãi
Viết đ ợc các hàm trên phần mềm MATLAB nhằm ứng dụng phân cụm dữ liệu thi đua tại tr ng THPT Bình Sơn, Quảng Ngưi
3 Đ iăt ngăvƠăph măviănghiênăc u
3.1 Đối tượng nghiên cứu
Nghiên cứu lý thuyết về phân cụm dữ liệu, các kỹ thuật phân cụm dữ liệu, cách xây dựng dữ liệu trong phân cụm dữ liệu Nghiên cứu về lý thuyết m , cách m hóa
dữ liệu và các thuật toán phân cụm dữ liệu K-Means và FCM
Các văn bản h ớng dẫn về thi đua, khen th ng cán bộ, công chức và văn bản
h ớng dẫn thi đua, khen th ng của Bộ Giáo dục và S Giáo dục và Đào tạo Quảng Ngãi
Nghiên cứu ngôn ngữ lập trình MATLAB để xây dựng các hàm hỗ trợ phân cụm
3.2 Phạm vi nghiên cứu
Nghiên cứu tổng quan về lý thuyết PCDL, lý thuyết tập m , các phép toán trên tập m và tập trung nghiên cứu về thuật toán Fuzzy C-Means để phân loại trong đánh giá thi đua của tr ng THPT Bình Sơn, Quảng Ngãi
Dữ liệu phục vụ cho việc đánh giá thi đua của tr ng THPT Bình Sơn, Quảng Ngãi
4 Ph ngăphápănghiênăc u
Tìm hiểu tài liệu về phân cụm dữ liệu, lý thuyết m và lựa chọn thuật toán phân cụm dữ liệu thích hợp với yêu cầu của bài toán đ a ra, thu thập tài liệu về thi đua, khen th ng
Xây dựng các hàm hỗ trợ phân cụm dữ liệu thi đua tại tr ng THPT Bình Sơn, Quảng Ngưi trên phần mềm MATLAB
Phân tích độ t ơng đồng của dữ liệu đư đ ợc phân cụm
5 M căđíchăvƠăýănghƿaăc aăđ ătƠi
5.1 Mục đích
Nghiên cứu tổng quan về phân cụm dữ liệu, lý thuyết m , các thuật toán phân cụm dữ liệu K-Means, Fuzzy C-Means để phân nhóm các đối t ợng thi đua có cùng tính chất trong đơn vị để hỗ trợ cho lưnh đạo và hội đồng thi đua có cơ s đánh giá thi
Trang 16đua giữa các cá nhân, tạo sự công bằng trong công tác đánh giá thi đua
5.2 Ý nghĩa khoa học và thực tiễn đề tài
V khoa h c: Áp dụng các thuật toán phân cụm dữ liệu trong khai phá dữ liệu trên dữ liệu về thi đua khen th ng
V th ực ti n: Phân nhóm các đối t ợng có cùng tính chất về thi đua, khen
th ng trong đơn vị hỗ trợ lưnh đạo các tr ng phổ thông quyết định hình thức thi đua, khen th ng của nhân viên tạo sự minh bạch, công bằng trong công tác thi đua, khen th ng
6 K tăqu ădựăki nă
Hiểu đ ợc tổng quan về phân cụm dữ liệu, lý thuyết m và một số giải thuật phân cụm dữ liệu trong khai phá dữ liệu
Vận dụng đ ợc thuật toán FCM vào bài toán phân cụm dữ liệu thi đua với những nhận xét bằng ngôn ngữ tự nhiên của những ng i theo dõi thi đua khen th ng
Xây dựng đ ợc các hàm phân cụm dữ liệu thi đua của tr ng THPT Bình Sơn, Quảng Ngưi trên phần mềm MATLAB
7 B ăc căc aălu năvĕn
Sau phần m đầu, giới thiệu,…nội dung chính của luận văn đ ợc chia làm 3
ch ơng nh sau:
Ch ngă1:ăT ngăquanăv ăphơnăc măd ăli u
Trong ch ơng này của đề tài chủ yếu trình bày lý thuyết cơ bản về phân cụm dữ liệu nh : khái niệm, ứng dụng của phân cụm, các kỹ thuật phân cụm dữ liệu, các yêu cầu về phân cụm dữ liệu, các kiểu dữ liệu và một số độ đo cơ bản trong phân cụm dữ liệu
Ch ngă2:ăLýăthuy tăm ăvƠăm tăs ăthu tătoánăphơnăc măd ăli u
ngôn ngữ khi xây dựng ma trận dữ liệu phân hoạch trong thuật toán FCM để phân cụm
dữ liệu thực tế ch ơng 3
Trình bày tổng quan về phân cụm m và một số thuật toán phân cụm dữ liệu, đặc biệt nghiên cứu sâu về thuật toán FCM của giáo s Bezdek
Ch ngă3: Phátătri nă ngăd ngăvƠăth ănghi m
Nội dung ch ơng này trình bày về khái niệm thi đua, quản lý nhà n ớc về thi đua
và đ a ra bài toán thực tế và yêu cầu giải quyết bài toán Xây dựng công cụ hỗ trợ giải quyết bài toán trên phần mềm MATLAB, thực nghiệm phân cụm trên bộ dữ liệu thực
K t lu năvƠăh ng phát tri n
Trang 17CH NGă1
T NG QUAN V PHÂN C M D LI U
Trong cuộc sống có những vấn đề cần nhóm các đối t ợng với nhau để giải quyết một vấn đề nào đó nh phân luồng đối t ợng học sinh để dễ trong việc quản lý và giảng dạy, nhóm các đối t ợng sách có cùng đặc điểm hay nhóm các đối t ợng khách hàng trong lĩnh vực kinh doanh…
Trong ch ơng này em trình bày về lý thuyết tổng quan về phân cụm dữ liệu, những lĩnh vực có ứng dụng của phân cụm dữ liệu, các kỹ thuật của phân cụm dữ liệu, kiểu dữ liệu trong phân cụm dữ liệu và cách tính về độ đo làm cơ s đo khoảng cách giữa các điểm với tâm cụm dữ liệu trong ch ơng 2
1.1.ăKháiăni măvƠăm cătiêuăc aăphơnăc măd ăli u
Phân cụm dữ liệu là quá trình nhóm một tập hợp các đối t ợng t ơng tự nhau trong một tập dữ liệu vào các cụm sao cho các đối t ợng thuộc cùng một cụm là t ơng đồng còn các đối t ợng thuộc các cụm khác nhau sẽ không t ơng đồng Phân cụm dữ liệu là một ví dụ của ph ơng pháp học không giám sát Không giống nh phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa tr ớc các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu học bằng ví dụ…
Hình 1.1: Phân cụm dữ liệu
Ngoài ra, phân cụm dữ liệu (PCDL) còn có thể đ ợc sử dụng nh một b ớc tiền
xử lý cho các thuật toán khai phá dữ liệu và khám phá các tri thức [4] khác nh là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm
Kỹ thuật phân cụm đ ợc áp dụng trong rất nhiều lĩnh vực nh khai phá dữ liệu,
Trang 18nhận dạng mẫu, xử lý ảnh,…
Với t cách là một chức năng khai phá dữ liệu, phân tích phân cụm có thể đ ợc
sử dụng nh một công cụ độc lập chuẩn để quan sát đặc tr ng của mỗi cụm thu đ ợc bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của các cụm để giúp cho việc phân tích đạt kết quả Thuật toán phân cụm có nhiều dạng khác nhau [3], [4], [5] từ phân cụm rõ đơn thuần nh K-Means [2] và phát triển đến thuật toán phân cụm m Fuzzy C-Means (Bezdek, 1981) [7][9]
Theo các nghiên cứu cho thấy thì hiện nay ch a có một ph ơng pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc dữ liệu Hơn nữa, các ph ơng pháp phân cụm cần có cách thức biểu diễn cấu trúc của các dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có t ơng ứng một thuật toán phân cụm phù hợp
Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề khó và m , vì chúng ta phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu
1.2 Cácă ngăd ngăc aăphơnăc măd ăli u
PCDL là một trong những công cụ chính của KPDL đ ợc ứng dụng trong nhiều lĩnh vực nh th ơng mại và khoa học Các kỹ thuật PCDL đư đ ợc áp dụng cho một
số ứng dụng điển hình trong các lĩnh vực sau:
- Th ơng mại: Các th ơng nhân, doanh nghiệp dựa vào phân cụm dữ liệu để phân các nhóm khách hàng có các đặc tr ng t ơng đồng nhau và đặc tả họ từ các mẫu mua bán trong CSDL khách hàng để có chiến l ợt đối với từng đối t ợng nhóm khách hàng
với chức năng t ơng đồng và thu đ ợc các cấu trúc trong các mẫu
hỗ trợ cho độc giả
- Y học: Phân cụm các loại triệu chứng có tính chất t ơng đồng gần với các triệu chứng bệnh lí của các loại bệnh nhằm hỗ trợ trong công tác chuẩn đoán, hay phân nhóm các loại thuốc có d ợc tính t ơng đồng
nhằm cung cấp thông tin cho quy hoạch đô thị
thông tin cho nhận dạng các vùng nguy hiểm
- Địa lý: Phân lớp vị trí sinh sống của động vật, thực vật và đ a ra đặc tr ng của
Trang 19chúng
nghĩa trong môi tr ng Web Các lớp tài liệu này trợ giúp cho việc khám phá tri thức
từ dữ liệu Web, khám phá ra các mẫu truy cập của khách hàng đặc biệt hay khám phá
ra cộng đồng Web,…
1 3.ăCácăyêuăc uăvƠănh ngăv năđ ăt năt iătrongăphơnăc măd ăli u
Việc xây dựng, lựa chọn một thuật toán phân cụm là b ớc then chốt cho việc giải quyết vấn đề phân cụm, sự lựa chọn này phụ thuộc vào đặc tính dữ liệu cần phân cụm, mục đích của ứng dụng thực tế hoặc xác định độ u tiên giữa chất l ợng của các cụm hay tốc độ thực hiện thuật toán,…
Hầu hết các nghiên cứu và phát triển thuật toán PCDL đều nhằm thoả mưn các yêu cầu cơ bản sau:
nhỏ (khoảng 200 bản ghi dữ liệu) nh ng không hiệu quả khi áp dụng cho tập dữ liệu lớn (khoảng 1 triệu bản ghi)
cho việc phân cụm các tập dữ liệu với nhiều kiểu dữ liệu khác nhau nh dữ liệu kiểu
số, kiểu nhị phân, dữ liệu định danh, hạng mục, và thích nghi với kiểu dữ liệu hỗn hợp
cụm dữ liệu với các hình thù khác nhau nh : hình lõm, hình cầu, hình que,… Vì vậy,
để khám phá đ ợc các cụm có tính tự nhiên thì các thuật toán phân cụm cần phải có khả năng khám phá ra các cụm dữ liệu có hình thù bất kỳ
vào th ng ảnh h ng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp đối với các CSDL lớn
- Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu, khi đ a vào xử lý
cho thuật toán PCDL với các thứ tự vào của các đối t ợng dữ liệu các lần thực hiện khác nhau thì không ảnh h ng lớn đến kết quả phân cụm
KPDL đều chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu rác Thuật toán phân cụm không những hiệu quả đối với các dữ liệu nhiễu mà còn tránh dẫn đến chất
l ợng phân cụm thấp do nhạy cảm với nhiễu
khác nhau ít gây ra các thay đổi lớn đối với kết quả phân cụm
Trang 20dữ liệu có số chiều khác nhau
- Dễ hiểu, dễ cài đặt và khả thi: Sự phân cụm có thể cần đ ợc giải thích ý nghĩa
và đ ợc ứng dụng rõ ràng
Các yêu cầu này đồng th i là các tiêu chí để đánh giá hiệu quả của các ph ơng
1.4 Nh ngăkỹăthu tăti păc nătrongăphơnăc măd ăli u
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 đến hai mục tiêu chung đó là chất l ợng và tốc độ Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận sau :
1.4.1 Phương pháp phân cụm phân hoạch
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ụm đ ợc thiết lập Số các cụm đ ợc thiết lập là số các đặc tr ng đ ợc thiết lập tr ớc Ph ơng pháp này tốt cho việc thiết lập 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 nhau 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 độ điểm lớn, 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 đề PCDL,
do ph ơng pháp này nó tìm kiếm tất cả 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ộ cho vấn đề này bằng cách sử dụng một hàm tối u tiêu chuẩn để đánh giá chất l ợng của cụm đúng nh để định h ớng 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 tham ăn để tìm kiếm Một số giải thuật trong phân cụm phân hoạch nh K-Mean, PAM, CLARA, CLARANS
1.4.2 Phương pháp phân cụm phân cấp
Ph ơng pháp này xây dựng một phân cấp trên cơ s các đối t ợng dữ liệu đ ợc 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 dữ liệu 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à
Trang 21Hình 1.2: Các chiến lược phân cấp
Trên thực tế áp dụng có nhiều tr ng hợp kết hợp cả hai ph ơng pháp trên, nghĩa
là kết quả thu đ ợc của ph ơng pháp phân cấp có thể cải tiến thông qua các b ớc phân cụm phân hoạch Ph ơng pháp phân cụm phân hoạch và ph ơng pháp phân cụm phân cấp là hai ph ơng pháp phân cụm cổ điển, hiện nay có rất nhiều thuật toán cải tiến dựa trên hai ph ơng pháp này đư đ ợc áp dụng phổ biến trong KPDL Một số giải thuật trong ph ơng pháp phân cụm phân cấp nh CURE, BIRCH, ANGNES…
1.4.3 Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối t ợng dữ liệu dựa trên hàm xác định mật độ, mật độ
cách tiếp cận này, khi một dữ liệu đ ợc xác định thì nó tiếp tục phát triển thêm các đối
t ợng dữ liệu mới, miễn là số đối t ợng lân cận phải lớn hơn một ng ỡng nào đó đ ợc xác định tr ớc Ph ơng pháp PCDL dựa trên mật độ có thể phát hiện ra các cụm dữ liệu dựa trên hình thù bất kỳ Kỹ thuật này có thể khắc phục đ ợc phần tử ngoại lai hoặc phần tử có giá trị nhiễu Tuy nhiên để xác định đ ợc 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 có tác động rất lớn đến kết quả của việc phân cụm Một số giải thuật phân cụm dựa trên mật độ nh DBSCAN, OPTICS, DENCLUDE
Hình 1.3: Phân cụm dựa trên mật độ (DBSCAN)
Trang 221.4.4 Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dữ liệu 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 tập trung chủ yếu để xử lý 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 trên 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ữ liệu này không di chuyển các đối t ợng dữ liệu trong các ô mà xây dựng nhiều mức phân cấp của nhóm đố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 dữ liệu 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 của dữ liệu nhiều chiều mà ph ơng pháp 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 này là xử lý với th i gian nhanh và độc lập với đối t ợng 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 Một số thuật toán phân cụm dựa trên l ới nh : STING, WaveCluster
Hình 1.4: Mô hình cấu trúc phân cụm dựa trên lưới
1.4.5 Phương pháp phân cụm dựa trên mô hình
Ph ơng pháp này giúp khám phá tốt các phép xấp xỉ của các tham số mô hình sao cho khớp với dữ liệu một các gần 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 hợp dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận 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 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 noron Ph ơng pháp này gần giống với ph ơng pháp dữ trên mật
Trang 23độ, 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 Một số thuật toán phân cụm dựa trên mô hình nh EM, COBWEB
1.4.6 Phương pháp phân cụm có dữ liệu ràng buộc
Giải thuật thuộc lớp này sẽ đ ợc bổ sung thêm một số ràng buộc khi thực thi Mỗi ràng buộc sẽ thể hiện một yêu cầu của ng i dùng hay nó mô tả thuộc tính của cụm kết quả Ph ơng pháp này cho phép t ơng tác giữa ng i dùng và giải thuật [2] bằng cách có thể thêm yếu tố quan hệ giữa ng i dùng và giải thuật thông qua các trọng số của thuộc tính Một số thuật toán phân cụm có ràng buộc nh FCM, FCM m rộng (Các thuật toán này sẽ tiếp tục đ ợc đề cập trong ch ơng 2)
1.5 Cácăki uăd ăli uăvƠăđ ăđo
1.5.1 Phân loại các kiểu dữ liệu
Trong phân cụm dữ liệu, các đối t ợng dữ liệu th ng đ ợc diễn tả d ới dạng các đặc tính hay còn gọi là các thuộc tính Các thuộc tính này là các tham số để giải quyết vấn đề phân cụm và sự lựa chọn chúng có tác động đáng kể đến kết quả phân cụm Phân loại các kiểu thuộc tính khác nhau là vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các ph ơng tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu Các thuật toán phân cụm dữ liệu th ng sử dụng một trong 02 cấu trúc dữ liệu sau:
Ma trận dữ liệu (data matrix, object-by-variable structure): là một mảng n hàng, p cột, trong đó p là số thuộc tính của mỗi đối t ợng Mỗi hàng biểu diễn một đối t ợng, các phần tử trong mỗi hàng chỉ giá trị t ơng ứng của đối t ợng đó Mảng đ ợc cho
nh sau :
[
Trang 24
]Phần lớn các thuật toán phân cụm sử dụng cấu trúc ma trận phi t ơng tự Do vậy, Nếu dữ liệu cần phân cụm tổ chức d ới dạng ma trận dữ liệu thì cần biến đổi về dạng
ma trận phi t ơng tự tr ớc khi tiến hành phân cụm
Có hai đặc tr ng để phân loại : kích th ớc miền và hệ đo
Cho một CSDL D chứa n đối t ợng trong không gian k chiều ; x,y,z là các đối
t ợng thuộc D : x=(x1,x2,…xk); y= (y1,y2,…yk); z= (z1,z2,…zk);
Trong đó xi,, yi, zi với i=1,…,k là các đặc tr ng hoặc thuộc tính t ơng ứng của các
đối t ợng x,y,z ; nh vậy sẽ có các kiểu dữ liệu sau :
1.5.1.1, Kiểu dữ liệu dựa trên kích thước miền
là giữa hai giá trị tồn tại vô số các giá trị khác ( ví dụ : các thuộc tính màu sắc, nhiệt
độ, hoặc c ng độ âm thanh…)
- Thuộc tính rời rạc : Nếu miền giá trị của nó là tập hữu hạn, đếm đ ợc (ví dụ :
các thuộc tính số…) Tr ng hợp đặc biệt của thuộc tính r i rạc là thuộc tính nhị phân
mà miền giá trị chủ có hai phần tử (ví dụ : 1/0, Yes/no, True/False, On/off…)
1.5.1.2, Kiểu dữ liệu trên hệ đo
- Thuộc tính định danh: Là dạng thuộc tính khái quát hóa của thuộc tính nhị
phân, trong đó có miền giá trị là r i rạc không phân biệt thứ tự và có nhiều hơn hai phần tử Nếu x và y là hai đối t ợng thuộc tính thì chỉ có xác định là x<> y hoặc x=y
không đ ợc định l ợng Nếu x và y là hai thuộc tính thứ tự thì có thể xác định là x<>y, hoặc x=y hoặc x>y hoặc x<y
- Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với thuộc tính
khoảng có thể xác định một thuộc tính là đứng tr ớc hoặc đứng sau thuộc tính khác với một khoảng bao nhiêu Nếu xi>yi thì có thể nói x cách y một khoảng xi-yi t ơng ứng với thuộc tính i
Việc lựa chọn đơn vị đo cho các thuộc tính cũng ảnh h ng đến chất l ợng phân cụm Nếu đơn vị độ đo của một thuộc tính càng đ ợc chia nhỏ, thì khoảng cách xác định của thuộc tính đó cảng lớn và ảnh h ng nhiều hơn đến kết quả phân cụm Để tránh phụ thuộc vào việc lựa chọn đơn vị đo, dữ liệu cần đ ợc chuẩn hóa Việc chuẩn hóa sẽ gán cho tất cả các thuộc tính một trọng số bằng nhau Tuy nhiên, trong nhiều
Trang 25tr ng hợp ng i sử dụng có thể thay đổi trọng sô cho các thuộc tính u tiên
Để chuẩn hóa các độ đo, một cách làm phổ biến là biến đổi các thuộc tính về
dạng không có đơn vị đo Giả sử đối với thuộc tính f, ta thực hiện nh sau :
Tính độ lệch trung bình :
Trong đó: … là giá trị thuộc tính f của n phần tử dữ liệu và là giá
trị trung bình của f, đ ợc cho nh sau :
- Thuộc tính nhị phân: Là thuộc tính có hai giá trị đúng/sai
so với điểm mốc
Trong các thuộc tính trình bày trên, thuộc tính định danh và thuộc tính có thứ
tự gọi chung là thuộc tính hạng mục, còn thuộc tính khoảng cách và thuộc tính tỉ lệ
đ ợc gọi là thuộc tính số
Đặc biệt còn có dữ liệu không gian là loại dữ liệu có thuộc tính khái quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối t ợng (ví dụ nh : thông tin về hình học, quan hệ metric, quan
hệ vector…) Dữ liệu không gian có thể là dữ liệu liên tục hoặc r i rạc
+ Dữ liệu không gian liên tục: bao chứa một vùng không gian
+ Dữ liệu không gian r i rạc: có thể là một điểm trong không gian nhiều chiều và cho phép xác định khoảng cách giữa các đối t ợng dữ liệu trong không gian
1.5.2 Độ đo tương tự và phi tương tự
1.5.2.1, Độ đo tương tự
Giả sử trong một miền dữ liệu D, một phần tử dữ liệu x đ ợc biểu diễn bằng một vector n chiều (x1,x2,…xn), trong đó mỗi chiều biểu diễn một thuộc tính mô tả phần dữ liệu x Tùy vào kiểu giá trị biểu diễn mà độ t ơng tự giữa hai phần tử dữ liệu x1,x2 có thể đ ợc tính toán bằng các cách khác nhau [2]
- Tr ng hợp các giá trị thuộc tính đ ợc biểu diễn bằng các giá trị nhị phân { }, ta lập bảng mô tả số l ợng các thuộc tính có cùng giá trị và các thuộc tính không cùng giá trị nh bảng (1 1) Khi đó độ đo Jaccard xác định độ đo t ơng tự giữa hai phần tử dữ liệu x1,x2đ ợc xác định nh sau :
Trang 26là {xanh, đỏ, vàng}, khi đó ta biến thuộc tính màu thành 03 thuộc tính xanh, đỏ, vàng
với giá trị của các thuộc tính này là các thuộc tính nhị phân {0,1}
- Trong tr ng hợp giá trị biểu diễn xi các thuộc tính là liên tục thì một trong các công thức hay dùng để đo độ t ơng tự là cosin() :
√∑ √∑ (1.5)
1.5.2.2 Độ đo phi tương tự
Trong nhiều tr ng hợp ta có thể sử dụng độ đo phi t ơng tự thay cho độ đo
t ơng tự: một trong những khác biệt là độ đo khoảng cách T ơng tự, nh độ đo t ơng
tự, tùy thuộc vào giá trị biểu diễn các thuộc tính mà các độ đo khoảng cách sẽ đ ợc tính toán bằng những công thức khác nhau
Tr ng hợp này còn phân nhỏ ra các là thuộc tính đối xứng và thuộc tính bất đối xứng Thuộc tính đối xứng là thuộc tính mà giá trị của nó dù là 0 hay 1 thì ý nghĩa của nó cũng không tạo sự khác biệt Ví dụ trong một cơ s giao dịch mua hàng thì thuộc tính giới tính nam đ ợc biểu diễn bằng 1 và nữ đ ợc biểu diễn bằng 0, thì chúng ta không thấy đ ợc sự khác biệt về ng i mua cho dù đó là nam hay nữ Tuy nhiên nếu xét thuộc tính biểu diễn một giao dịch có mua mặt hàng máy tính hay không thì thuộc tính bằng 1 là mua còn thuộc tính bằng 0 là không mua, nếu xét về mặt thuộc tính nh thế này chúng có ý nghĩa khác nhau rõ rệt Hay xét về kết quả xét nghiệm máu của một bệnh nhân có bị ung th hay không, nếu có là 1 không có là 0 thì ý nghĩa sẽ khác hẳn
Do đó công thức tính độ đo khoảng cách sẽ khác nhau dựa vào ma trận kề nh bảng 1.1
(1.6)
Trang 27+ Nếu là thuộc tính bất đối xứng thì khoảng cách d đ ợc tính bằng công thức :
(1.7)
- Tr ng hợp thuộc tính Ai có giá trị xi đ ợc biểu diễn bằng thuộc tính r i rạc { } thì ta biến thuộc tính Aithành m thuộc tính nhị phân sau đó áp dụng công thức khoảng cách trên để đo độ khác biệt Một ph ơng pháp khác đơn giản hơn
là tìm số l ợng các thuộc tính mà x1 và x2 có cùng giá trị Giả sử chúng có q thuộc tính
có giá trị giống nhau, thì độ đo khoảng cách đ ợc tính bằng :
(1.8) Trong đó, n là số l ợng các thuộc tính
- Trong tr ng hợp giá trị biểu diễn xiđ ợc biểu diễn bằng các giá trị liên tục, thì
ta có một số các công thức đo khoảng cách nh sau :
+ Độ đo khoảng cách Manhattan
đặc biệt của độ đo Minkowski với q=1, còn tr ng hợp q=2 thì nó là độ đo Euclide
- Các độ đo khoảng cách trên đều có đặc điểm sau :
+ Tính độ xác định d ơng : d(xi,xj)>0 nếu i<>jvà d(xi,xj)=0 nếu i=j
+ Tính đối xứng : d(xi,xj)=d(xj,xi)
+ Tính bất đẳng thức tam giác : d(xi,xj)<>d(xi,xk)+ d(xk,xj)
1.6 T ngăk tăch ng
Nh vậy, trong ch ơng 1 em đư nghiên cứu đ ợc khái niệm về vấn đề phân cụm
dữ liệu, mục tiêu của việc phân cụm dùng để làm gì, những vấn đề cần chú ý trong việc phân cụm và nghiên cứu tổng quan các ph ơng pháp phân cụm và dữ liệu xây dựng trong phân cụm dữ liệu Trong công tác thi đua khen th ng, mặt dù đư có luật thi đua khen th ng, thông t 35/2015/TT-BGDĐT và thông t 22/2018/TT-BGDĐT quy định về xét thi đua khen th ng trong ngành giáo dục nh ng thực tế tại các đơn vị khi xét thi đua khen th ng có nhiều mặt Có ng i tốt về mặt này nh ng ch a tốt về mặt khác trong khi đó xét thi đua thì qua nhận xét định tính là chủ yếu, rất ít mặt xét
về định l ợng nên có tr ng hợp ng i này và ng i khác có sự so bì khi xét thi đua Nên dùng ph ơng pháp phân cụm là một trong những ph ơng pháp xác định độ t ơng
Trang 28đồng về thành tích để các cá nhân đ ợc xét thi đua không có sự so bì gây mất đoàn kết
trong đơn vị Trong công tác phân cụm dữ liệu thi đua em sử dụng thuật toán phân
cụm m FCM, thuật toán này sẽ đ ợc nghiên cứu trong ch ơng 2
Trang 29CH NGă2
LÝ THUY T M VÀ M T S THU T TOÁN PHÂN C M D LI U
Trong ch ơng này em nghiên cứu phần lý thuyết m gồm khái niệm về tập m , các phép toán logic m , quá trình m hóa dữ liệu và thuật toán phân cụm dữ liệu rõ K-Means và thuật toán phân cụm m Fuzzy C-Means, cách mư hóa biến ngôn ngữ thành
dữ liệu số và chuyển giá trị từ số thành biến ngôn ngữ để có giá trị đầu ra bằng nhận xét để ứng dụng viết hàm hỗ trợ trong ch ơng 3
2.1 Lýăthuy tăm
Logic m đ ợc phát triển từ lý thuyết tập m để thực hiện một lập luận xấp xỉ thay vì lập luận chính xác theo logic vị từ Logic m có thể đ ợc coi là mặt ứng dụng của lý thuyết tập m để xử lý các giá trị trong thế giới thực cho các bài toán phức tạp
Ý t ng nổi bật của khái niệm tập m của Zadeh [12] là từ những khái niệm trừu
t ợng về ngữ nghĩa của thông tin m , không chắc chắn nh trẻ-già, nhanh-chậm, thấp, xinh đẹp…ông tìm ra cách biểu diễn nó bằng một khái niệm toán học, đ ợc gọi
cao-là tập m , nh cao-là một sự khái quát trực tiếp của khái niệm tập hợp kinh điển để dễ hiểu chúng ta hưy nhớ lại cách nhìn khái niệm tập hợp kinh điển nh là khái niệm các hàm
số
Cho một tập vũ trụ U Tập tất cả các tập con của U ký hiệu là P(U) và nó tr
thành một đại số tập hợp với các phép tính hợp , giao , hiệu \ và lấy phần bù –,
{0, 1} đ ợc xác định nh sau:
{
của tập A Nh vậy tập hợp A có thể đ ợc biểu thị bằng một hàm mà giá trị của nó là
1 thì x A với độ thuộc là 1 hay 100% thuộc vào A, còn nếu λA(x) = 0 thì x A hay x
A với độ thuộc là 0 tức là độ thuộc 0% [1]
Với cách hiểu nh trên, chúng ta hưy chuyển sang việc tìm kiếm cách thức biểu diễn ngữ nghĩa của khái niệm m , chẳng hạn, về lứa tuổi “trẻ” Giả sử tuổi của con
ng i nằm trong khoảng U = [0, 120] tính theo năm Theo ý t ng của Zadeh, khái
của những ng i đ ợc xem là trẻ Vậy, “Một ng i x có tuổi là n đ ợc hiểu là thuộc
Trang 30tập Atrẻ nh thế nào?” Một cách chủ quan, chúng ta có thể hiểu những ng i có tuổi
thuộc vào tập này với độ thuộc 0,0 … Với ý t ng đó, ngữ nghĩa của khái niệm trẻ sẽ
đ ợc biểu diễn bằng một hàm số µtrẻ : U → [0, 1], một dạng khái quát trực tiếp từ khái niệm hàm đặc tr ng λAcủa một tập hợp kinh điển A trên
Một câu hỏi tự nhiên xuất hiện là tại sao ng i có tuổi 30 có lẽ chỉ thuộc vào tập Atrẻ với độ thuộc 0,6 mà không phải là 0,65? Trong lý thuyết tập m chúng ta không có ý định trả l i câu hỏi kiểu nh vậy mà ghi nhận rằng tập m của một khái niệm m phụ thuộc mạnh mẽ vào chủ quan của ng i dùng, hay nói một cách đúng đắn hơn là tùy thuộc vào một ứng dụng cụ thể Khía cạch này cũng thể hiện tính không chính xác về ngữ nghĩa của các khái niệm m Tuy nhiên, thực tế này không ảnh
h ng đến khả năng ứng dụng của lý thuyết tập m vì mỗi giải pháp dựa trên lý thuyết tập m cũng chỉ nhằm vào một miền ứng dụng cụ thể trong đó các khái niệm m trong ứng dụng (hay trong cộng đồng sử dụng ứng dụng đó) sẽ có ý nghĩa chung thống nhất
2.1.1 Tập mờ
Đ nhănghƿaă2.1: Cho tập vũ trụ U Tập m đ ợc xác định b i đẳng thức:
Giá trị tại u đ ợc gọi là độ thuộc của phần tử u thuộc về tập m .[1] Tập m có thể biểu diễn b i nhiều hình dạng, và đ ợc thể hiện cụ thể nh sau:
Hình 2.1: Các dạng hàm thành viên trong tập mờ
Đối với công tác nhận xét một giáo viên thì tập m th ng đ ợc định nghĩa và sử
giác)
Trong đó, tập m có dạng hình thang đ ợc định nghĩa b i bộ 4 giá trị (a,b,c,d), ký hiệu và độ thuộc đ ợc xác định theo công thức sau:
Trang 31Giáătr ăhƠmăthƠnhă viênăc aăt păm
Hình 2.2: Hàm thành viên của số mờ hình thang
(2.3)
Đối với tập m đ ợc định nghĩa b i hình dạng này thì nó đ ợc minh họa cụ thể
mô hình bên d ới sau:
x
Giáătr ăhƠmăthƠnhă viênăc aăt păm
Hình 2.3: Hàm thành viên của số mờ hình tam giác
Đ nhănghƿaă2.2[1]
(i) Giá của tập mờ: Giá của tập m ký hiệu là Support( ), là tập con của
(ii) Độ cao của tập mờ: Độ cao của tập m , ký hiệu là hight( ), là
(iii) Tập mờ chuẩn : Tập m đ ợc gọi là chuẩn
Trang 32nếu Trái lại, tập m đ ợc gọi là dưới chuẩn
(iv) Lõi của tập mờ: Lõi của tập m ,ký hiệu là Core( ), là một tập
con của U đ ợc xác định nh sau:
Trong cơ s dữ liệu quan hệ, các quan hệ hay các bảng dữ liệu chứa các thuộc tính hay các tên cột Nó chỉ tính chất của đối t ợng Các thuộc tính này cũng thể hiện trong ngôn ngữ nh để mô tả tính chất đối t ợng là con ng i, trong ngôn ngữ tự
nhiên chúng ta có những thuộc tính Tuổi, Chiều cao, Lương, Chất lượng chuyên môn, Hiệu quả công việc…Các thuộc tính này có thể đ ợc mô tả bằng giá trị ngôn ngữ nh trẻ, già, rất trẻ, lương cao, lương trung bình, lương thấp, hiệu quả cao, có hiệu quả nhưng chưa cao, có hiệu quả, hiệu quả chưa cao, còn thấp, chưa đạt Vì lý do nh vậy, Zadeh gọi các thuộc tính kiểu nh vậy là biến ngôn ngữ và miền giá trị của chúng
là giá trị ngôn ngữ hay gọi là miền ngôn ngữ (linguistic domain hay term-domain) Tuy nhiên, nh chúng ta đư đề cập trong Mục 2.1.1, vì bản thân giá trị ngôn ngữ không
phải là đối t ợng toán học, ngữ nghĩa của chúng đ ợc biểu thị bằng các tập m hay hàm thuộc Để khái niệm biến ngôn ngữ tr thành một khái niệm toán học, Zadeh hình thức hóa khái niệm này nh sau:
Đ nhănghƿaă2.3 Biến ngôn ngữ là một bộ năm (x, T(x), U, R, M ), trong đó x là
tên biến, T(x) là tập các giá trị ngôn ngữ của biến x, U là không gian tham chiếu của biến cơ s u, mỗi giá trị ngôn ngữ xem nh là một biến m trên U kết hợp với biến cơ
s u, R là một qui tắc cú pháp sinh các giá trị ngôn ngữ của T(x), M là qui tắc ngữ nghĩa gán mỗi giá trị ngôn ngữ trong T(x) với một tập m trên U.[1]
Víăd ă2.1 Các biến ngôn ngữ đ ợc xác định thông qua các tập giá trị m của
nó đây, các tập m mô tả biến “hiệu quả công việc” là không hiệu quả, hiệu quả
Trang 33thấp, có hiệu quả, hiệu quả cao Chúng đ ợc gọi tập ngôn ngữ mang một khoảng giá
trị nào đó của biến ngôn ngữ và cùng đ ợc thể hiện trên cùng một không gian nền U
Hình 2.4: Biến ngôn ngữ
Các đặc tr ng của biến ngôn ngữ: Trong thực tế có rất nhiều biến ngôn ngữ khác
nhau về các giá trị nguyên thuỷ, chẳng hạn nh biến ngôn ngữ số ngày làm việc có giá trị nguyên thuỷ là ít, nhiều, biến ngôn ngữ Lương có giá trị nguyên thuỷ là thấp, trung
bình, cao… Tuy nhiên, những kết quả nghiên cứu đối với một miền trị của một biến ngôn ngữ cụ thể vẫn giữ đ ợc ý nghĩa về mặt cấu trúc đối với miền giá trị của các biến
còn lại Đặc tr ng này đ ợc gọi là tính phổ quát của biến ngôn ngữ
Ngữ nghĩa của các gia tử và các liên từ hoàn toàn độc lập với ngữ cảnh, điều này khác với giá trị nguyên thủy của các biến ngôn ngữ lại phụ thuộc vào ngữ cảnh Ví
dụ ta nói Lương của giáo viên A nào đó là rất cao, khi đó đ ợc hiểu rằng Lương khoảng trên 8.000.000 đồng, nh ng ta nói chiều cao của giáo viên A là rất cao thì
đ ợc hiểu rằng Chiều cao khoảng trên 1.8 m Do đó khi tìm kiếm mô hình cho các gia
tử và các liên từ chúng ta không quan tâm đến giá trị nguyên thuỷ của biến ngôn ngữ đang xét Đặc tr ng này đ ợc gọi là tính độc lập ngữ cảnh của gia tử và liên từ Các đặc tr ng trên cho phép chúng ta sử dụng cùng một tập các gia tử và xây dựng một cấu trúc toán học duy nhất cho miền giá trị của các biến ngôn ngữ khác nhau
2.1.3 Các phép toán logic mờ
2.1.3.1 Phép hợp ̃
Cho hai tập m và trên tập vũ trụ U Hợp của hai tập m này chính là một
Trang 34Hưy xác định hợp của hai tập m trên
2 ngôi trên tập cơ s là khoảng đơn vị: u: [0, 1] x [0, 1] [0, 1]
Hàm thành viên có thể suy ra từ hàm hợp u nh sau:
Tuy nhiên, hàm hợp th ng dùng là hàm hợp chuẩn và cụ thể đ ợc định nghĩa
nh sau:
Trang 35Bên cạnh đó còn có một số hàm hợp khác chẳng hạn nh :
2.1.3.2 Phép giao ̃
Víăd ă2.3 Xét hai tập m đ ợc cho b i bảng 2.1, hưy xác định giá trị thành viên
của phép toán này đối với hai tập m trên
Nh vậy, sau khi chúng ta thực hiện phép toán giao của hai tập m theo định nghĩa trên và kết quả đạt đ ợc nh sau
Bảng 2.3: Ví dụ kết quả giao của hai tập mờ
Nó là tập m d ới chuẩn vì Hight( ̃ ) = 0.3 < 1
Core ( ̃ ) = {5}
Count ( ̃ ) = ∑ = 0.6
các hàm thành viên và nh sau:
sử dụng hàm giao i là hàm hai ngôi trên tập cơ s là khoảng đơn vị:
i: [0, 1] x [0, 1] [0, 1]
Trang 36Vậy, hàm thành viên của tập giao m từ hàm giao i chính là:
một tập m với hàm thuộc đ ợc xác định bằng đẳng thức sau:
Víăd ă2.4 Chúng ta xét hai tập m và đ ợc cho b i bảng 2.1 Khi sử dụng
Trang 37Hàm thành viên của tập bù đ ợc xác định nh sau:
đề Mức chân trị của mệnh đề P Q đ ợc xác định theo mức chân trị của mệnh đề thành phần tiền và hậu đề Giả sử gọi mức chân trị của các mệnh đề P và Q lần l ợt là
Đồng th i có thể xây dựng hàm kéo theo m b i các hàm tập m nh hàm bù m
c, hàm giao m i, hàm hội m u Nhìn chung, việc xây dựng các hàm kéo theo m hầu
Với luật a b ̅ b ta có họ hàm J(a,b) = u(c(a),b) (2.28) Họ hàm này đ ợc gọi là họ hàm kéo theo m S chẳng hạn có những hàm kéo theo m sau:
Trang 38Khi i là hàm tích đại số và u là hàm tổng đại số ta có hàm sau:
Với luật a b ( ̅ ̅) ta có họ hàm kéo theo chính là:
Ngoài ra, một hàm kéo theo m khác đ ợc sử dụng rộng rãi nhất trong các hệ m
đó chính là hàm kéo theo m Mamdani Kéo theo m này đ ợc hiểu nh quan hệ R
Chúng ta nhận thấy rằng, tập m và sau khi chúng ta biểu diễn d ới dạng
Trang 39Suy diễn m bao gồm 3 luật suy diễn th ng gặp, đó là
th i nó sử dụng một ngôn ngữ rất dễ hiểu của con ng i để mô tả đầu vào và đầu ra, nhằm cung cấp một ph ơng pháp đơn giản để đạt đ ợc một kết luận từ thông tin đầu
Hệ thống logic m có thể nói nó đ ợc cấu thành từ 3 giai đoạn chính, và đ ợc thể hiện cụ thể thông qua một mô hình sau
Fuzzy hóa
Đầu ra giá trị rõ y(F)
Hình 2.5: Cấu trúc hệ thống logic mờ
Trong đó, giai đoạn Fuzzy hóa có nhiệm vụ chuyển đổi một giá trị rõ đầu vào x(T) thành một vector X(T) gồm các giá trị thể hiện mức độ phụ thuộc của giá trị rõ đầu vào theo các giá trị m đư đ ợc định nghĩa cho các biến ngôn ngữ đầu vào Còn đối với giai đoạn suy diễn m , giai đoạn này đ ợc thực hiện b i các tri thức mà chúng
tắc này cụ thể nh một bộ s u tập của các luật If Then If Then đ ợc gọi là các tiền
điều kiện, giữa các tiền điều kiện có thể kết hợp với các phép toán AND – OR hoặc cũng có thể sử dụng các ph ơng thức Max – Min giữa các tiền điều kiện Kết quả của giai đoạn này sẽ sinh ra các giá trị trong tập m F với các biến ngôn ngữ đầu ra Giai đoạn cuối cùng chính là khâu giải m , giai đoạn này sẽ có nhiệm vụ chuyển đổi những giá trị trong tập m F thành một giá trị rõ cụ thể là y(F) và đồng th i kết hợp tất cả các kết luận từ mô hình luật của hệ thống xây dựng để có một giá trị kết luận cuối cùng
Trang 402.2 Thu tătoánăphơnăc măd ăli uăK-Means
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ế, tuy nhiên 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, với rất nhiều ph ơng pháp phân cụm nh ng trong ch ơng này chỉ tập trung giới thiệu về ph ơng pháp phân cụm phân hoạch
Kỹ thuật này có thể hình dung việc 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 đ ợc đánh giá là tốt cho việc tìm các cụm hình cầu và hình tròn 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 PCDL, 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ộ 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 Có thể nói, ý 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 tham ăn để tìm kiếm nghiệm
Tiêu biểu đối với các thuật toán phân cụm phân hoạch là thuật toán K-means Thuật toán này dựa trên độ đo khoảng cách của các đối t ợng dữ liệu trong cụm Trong thực tế, nó đo khoảng cách tới giá trị trung bình của các đối t ợng dữ liệu trong cụm Nó
đ ợc xem nh là trọng tâm của cụm Nh vậy, nó cần kh i tạo một tập trọng tâm các cụm ban đầu, và thông qua đó nó lặp lại các b ớc gồm gán mỗi đối t ợng tới cụm mà trọng tâm gần, và đồng th i tính toán lại trọng tâm của mỗi cụm trên cơ s gán mới cho các đối t ợng Quá trình lặp này dừng khi các trọng tâm hội tụ
Mục đích của thuật toán K-Means [2] là sinh k cụm dữ liệu {C1, C2, , Ck} từ một
tập dữ liệu chứa n đối t ợng trong không gian d chiều xi = {xi1, xi2, , xid}, i = 1 ÷ n sao cho hàm mục tiêu đạt giá trị tối thiểu:
Trong đó: cj là trọng tâm của cụm Cj
D là khoảng cách giữa hai đối t ợng