SlideShare a Scribd company logo
1 of 48
Download to read offline
48
Phân cụm dữ liệu trong Dataming
MỤC LỤC
Chương 1: PHÂN CỤM DỮ LIỆU
1. Khai phá dữ liệu và phân cụm dữ liệu
1.1 Khai phá dữ liệu
1.1.1 Giới thiệu chung
1.1.2 Khai phá dữ liệu là gì
1.2 Quá trình khai phá tri thức trong cơ sơ dữ liệu
1.3 Các dạng dữ liệu có thể khai phá được
1.3.1 Phân cụm dữ liệu
1.3.2 Các đặc trưng cơ bản để phân cụm
2. Các phương pháp phân cụm dữ liệu
2.1 Phương pháp dựa trên phân hoạch
2.1.1 Phương pháp gom cụm k-means
2.1.2 Thuật toán PAM
2.1.3 Thuật toán CLARA
2.1.4 Thuật toán CLARANS
2.1.5 Nhận xét chung về các thuật toán phân hoạch
2.2 Phương pháp dựa trên phân cấp
2.2.1 Thuật toán BIRCH
2.2.2 Thuật toán CURE
2.3 Phương pháp dựa trên mật độ
2.3.1 Thuật toán DBSCAN
2.3.2 Thuật toán OPTICS
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
3. Một số thuật toán phân cụm dữ liệu đặc thù
3.1 Thuật toán STING
3.2 Thuật toán CRIQUE
3.3 Thuật toán EM
4. Phân cụm dữ liệu nhờ mạng nơ-ron
Chương 2: MẠNG NƠ-RON NHÂN TẠO
1. Mang nơ-ron sinh học
1.1 Khái niệm
1.2 Mô hình
2. Mạng nơ-ron nhân tạo
2.1 Khái niệm
2.2 Đặc điểm
2.3 Cấu trúc mạng nơ-ron nhân tạo
2.3.1 Nút
2.3.2 Phân loại cấu trúc mạng nơ-ron
2.3.3 Các hàm hoạt động
2.4 Kiến trúc mạng nơ-ron
2.5 Một số ứng dụng của mạng nơ-ron
2.5.1 Mạng nơ-ron trong phân lớp
2.5.2 Mạng nơ-ron trong nhận dạng
2.5.3 Mạng nơ-ron trong dự báo
2.5.4 Mạng nơ-ron và tối ưu
2.6 Tiến trình học
Chương 3: SOM VÀ THUẬT TOÁN HUẤN LUYỆN MẠNG NÀY
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Lời mở đầu
Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ phần cứng và truyền
thông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế - xã hội cũng không ngừng
tăng lên, lượng dữ liệu được tạo ra ngày càng lớn. Sự phong phú về dữ liệu, thông tin
cùng với khả năng kịp thời khai thác chúng đã mang đến những năng suất và chất
lượng mới cho công tác quản lý, hoạt động kinh doanh,…Nhưng rồi các yêu cầu về
thông tin trong các lĩnh vực hoạt động đó, đặc biệt trong lĩnh vực ra làm quyết định,
ngày càng đòi hỏi cao hơn, người quyết định không những cần dữ liệu mà còn cần có
thêm nhiều hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định của mình. Cho đến
những năm 90 của thế kỷ trước, nhu cầu khám phá tri thức mới thực sự bùng nổ, theo
đó, hàng loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và kho thông tin, các
hệ trợ giúp quyết định, các thuật toán nhận dạng mẫu và phân lớp mẫu, …và đặc biệt là
khai phá dữ liệu (Data Mining) ra đời.
Từ khi ra đời, khai phá dữ liệu đã trở thành một trong những hướng nghiên cứu
phổ biến trong lĩnh vực khoa học máy tính và công nghệ tri thức. Nhiều kết quả nghiên
cứu, ứng dụng của khai phá dữ liệu trong các lĩnh vực khoa học, kinh tế, xã hội. Khai
phá dữ liệu bao hàm nhiều hướng nghiên cứu quan trọng, một trong số đó là phân cụm
dữ liệu (Data Clustering). Phân cụm dữ liệu là quá trình tìm kiếm và phát hiện ra các
cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn. Các kỹ thuật chính được áp
dụng trong phân cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thống liệu cho việc giải
quyết các vấn đề trong các lĩnh vực như tài chính, thông tin địa lý, sinh học, nhận dạng
ảnh,… Trong thời gian gần đây, trong lĩnh vực phân cụm dữ liệu, người ta tập trung
chủ yếu vào nghiên cứu, phân tích các mô hình dữ liệu phức tạp như dữ liệu văn bản,
Web, hình ảnh,…và đặc biệt là mô hình dữ liệu hỗn hợp để áp dụng chúng trong phân
cụm dữ liệu.
Chương 1: PHÂN CỤM DỮ LIỆU
1. Khai phá dữ liệu và phân cụm dữ liệu
1.1. Khai phá dữ liệu
1.1.1 Giới thiệu chung
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Những năm 60 của thế kỉ trước, người ta bắt đầu sử dụng các công cụ tin học để
tổ chức và khai thác các cơ sở dữ liệu. Cùng với sự phát triển vượt bậc của các công
nghệ điện tử và truyền thông, khả năng thu thập, lưu trữ và xử lí dữ liệu cho các hệ
thống tin học không ngừng được nâng cao, theo đó lượng thông tin được lưu trữ trên
các thiết bị nhớ không ngừng được tăng lên. Thống kê sơ bộ cho thấy, lượng thông tin
trên các hệ thống tin học cứ sau 20 tháng lại tăng lên gấp đôi. Cuối thập kỉ 80 của thế kỉ
XX, sự phát triển rộng khắp của các cơ sở dữ liệu ở mọi quy mô đã tạo sự bùng nổ
thông tin trên toàn cầu. Vào thời gian này, người ta bắt đầu đề cập đến khái niệm phân
tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho
người làm quyết định trong các tổ chức tài chính, thương mại, khoa học,…
Đúng như John Naisbett đã cảnh báo “Chúng ta chìm ngập trong dữ liệu mà vẫn
đói tri thức”. Lượng dữ liệu khổng lồ này thực sự là nguồn tài nguyên có nhiều giá trị
bởi thông tin là yếu tố then chốt trong mọi hoạt đọng quản lý, kinh doanh, phát triển
sản xuất và dịch vụ,…nó giúp những người điều hành và quản ly có nhiều hiểu biết về
môi trường và tiến trình hoạt động của tổ chức mình trước khi ra quyết định để tác
động đến quá trình hoạt động nhằm đạt được cá mục tiêu một cách hiệu quả và bền
vững.
Khai phá dữ liệu (Data mining), là một lĩnh vực mới xuất hiện, nhằm tự động
khai thác những thông tin, những tri thức có tính tiềm ẩn, hữu ích từ những cơ sơ dữ
liệu lớn cho các đơn vị, tổ chức, doanh nghiệp,…từ đó làm thức đẩy khả năng sản xuất,
kinh doanh, cạnh tranh cho các đơn vị, tổ chức này. Các kết quả khoa học cùng những
ứng dụng thành công trong khám phá tri thức, cho thấy khai phá dữ liệu là một lĩnh vực
phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, động thời có ưu thế
hơn hẳn so với các công cụ phân tích dữ liệu truyền thống. Hiện nay, khai phá dữ liệu
đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như: thương mại, tài chính, điều trị y
học, viễn thông, tin- sinh,…
1.1.2 Khai phá dữ liệu là gì?
Khai phá dữ liệu là một hướng nghiên cứu mới ra đời hơn một thập niên trở lại
đây, các kĩ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từ lĩnh
vực cơ sơ dữ liệu, máy học, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê, và
tính toán hiệu năng cao. Do sự phát triển nhanh của khai phá dữ liệu về phạm vi ứng
dụng và các phương pháp tìm kiếm tri thức, nên đã có nhiều quan điểm khác nhau về
khai phá dữ liệu. Tuy nhiên ở mức độ trừu tượng nhất định chúng ta định nghĩa khai
phá dữ liệu như sau:
Định nghĩa: Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức
mới, tiềm ẩn, hữu dụng trong cơ sơ dữ liệu lớn.
Khai phá tri thức trong cơ sơ dữ liệu (Knowledge Discovery in Database - KDD)
là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá dữ liệu và KDD
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
được các nhà khoa học trên hai lĩnh vực xem là tương đương nhau. Thế nhưng nếu
phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình KDD.
1.2Quá trình khai phá tri thức trong cơ sơ dữ liệu
Khai phá tri thức trong cơ sơ dữ liệu, KDD, là lĩnh vực liên quan đến các ngành
như: thống kê, học máy, cơ sơ dữ liệu, thuật toán, trực quan hóa dữ liệu, tính toán song
song và hiệu năng cao,..
Quá trình KDD có thể phân chia thành các giai đoạn sau:
 Trích chọn dữ liệu: là bước trích chọn những tập dữ liệu cần được khai phá từ các
tập dữ liệu lớn (database, data warehouse, data repositories) ban đầu theo một số
tiêu chí nhất định.
 Tiền xử lí dữ liệu: là bước làm sạch dữ liệu (xử lí dữ liệu không đầy đủ, dữ liệu
nhiễu, dữ liệu không nhất quán, …) rút gọn dữ liệu, sử dụng hàm nhóm và tính
tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu,…, rời rạc hóa dữ
liệu (rời rạc hóa vào histograms, dựa vào entropy, dựa vào phân khoảng,…). Sau
bước này dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa.
 Biến đổi dữ liệu: đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng
thuận lợi nhất nhằm phục vụ cho các kĩ thuật khai phá ở bước sau.
 Khai phá dữ liệu: đây là bước áp dụng các kĩ thuật phân tích (phần nhiều là các kĩ
thuật của học máy) nhằm để khai thác dữ liệu, trích chọn những mẫu thông tin,
những mối liên hệ đặc biệt trong dữ liệu. Đây được xem là bước quan trọng và tốn
nhiều thời gian nhất của toàn quá trình khai phá tri thức.
 Đánh giá và biểu diễn tri thức: những mẫu thông tin và mối liên hệ trong dữ liệu đã
được khai phá ở bước trên được chuyển dạng và biểu diễn ở một dạng gần gũi với
người sử dụng như đồ thị, cây, bảng biểu, luật,…Đồng thời bước này cũng đánh giá
những tri thức khai phá được theo những tiêu chí nhất định.
Các giai đoạn trong KDD được thể hiện trực quan trong hình 1.1 dưới đây:
Hình 1-1. Các bước thực hiện trong quá trình khai phá tri thức
1.2Các kĩ thuật áp dụng trong khai phá dữ liệu.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Dữ liệu thô
trích chọn dữ
liệu
Dữ
liệu
Tiền xử lý dữ
liệu
Dữ liệu
Tiền xử lý
Biến đổi dữ
liệu
Khai phá dữ
liệu
Các mẫu
Đánh giá và
giải thích
Biểu diễn tri
thức
Tri thức
48
Phân cụm dữ liệu trong Dataming
Khai phá tri thức trong cơ sơ dữ liệu là một lĩnh vực liên ngành, bao gồm: tổ
chức dữ liệu, học máy, trí tuệ nhân tạo và các khoa học khác.
Nếu theo quan điểm của học máy (Machine Learning), thì các kĩ thuật trong khai
phá dữ liệu bao gồm:
• Học có giám sát (Surpervised learning): là một quá trình gán nhãn cho các
phần tử trong cơ sơ dữ liệu dựa trên một tập các ví dụ huấn luyện và các thông tin có
nhãn lớp đã biết.
• Học không có giám sát (Unsupervised learning): là quá trình phân chia một
tập dữ liệu thành các lớp hay các cụm (clustering) dữ liệu tương tự nhau mà chưa được
biết trước các thông tin về lớp hay tập các ví dụ huấn luyện.
• Học nửa giám sát (semi-Surpervised learning): là quá trình phân chia một
tập dữ liệu thành các lớp dựa trên một tập nhỏ các mẫu ví dụ huấn luyện và một số các
thông tin về một số nhãn đã biết trước.
Nếu căn cứ vào lớp các bài toán cần giải quyết, thì khai phá dữ liệu bao gồm các
kĩ thuật áp dụng sau:
• Phân lớp và dự đoán (classification and prediction): xếp một đối tượng vào
một trong những lớp đã biết trước. Ví dụ, phân lớp các dữ liệu bệnh nhân trong hồ sơ
bệnh án. Hướng tiếp cận này sử dụng một số kĩ thuật của học máy như cây quyết đinh
(decision tree), mạng nơ-ron nhân tạo,… Phân lớp và dự báo còn được gọi là học có
giám sát.
• Luật kết hợp (asssociation rules): là dạng luật biểu diễn tri thức ở dạng khá
đơn giản. Ví dụ, “60% nữ giới vào siêu thị mua phấn thì có 80% trong số họ sẽ mua
thêm son”. Luật kết hợp được ứng dụng nhiều trong kinh doanh, y học, tin sinh, tài
chính và thị trường chứng khoán,…
• Phân tích chuỗi theo thời gian (sequential temporal patterns): tương tự như
khai phá luật kết hợp nhưng có thêm tính tương tự và tính thời gian. Hướng tiếp cận
này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có
tính dự báo cao.
• Phân cụm (Clustering/ segmentation): xếp các đối tượng theo từng cụm dữ
liệu tự nhiên. Phân cụm còn được gọi là học không có giám sát.
• Mô tả khái niệm (concept desription and summarization): thiên về mô tả tổng
hợp và tóm tắt khái niệm. Ví dụ, tóm tắt văn bản.
1.3Các dạng dữ liệu có thể khai phá được
Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều
kiểu dữ liệu khác nhau. Một số dạng dữ liệu điển hình: cơ sơ dữ liệu quan hệ, cơ sơ dữ
liệu đa chiều (multidimensional structures, data warehouse), cơ sơ dữ liệu dạng giao
dịch, cơ sơ dữ liệu đa phương tiện, dữ liệu text và web,…
1.3.1 Phân cụm dữ liệu
a. Mục đích của phân cụm dữ liệu.
Phân loại là một trong những hành vi nguyên thủy nhất của con người nhằm
nắm giữ lượng thông tin khổng lồ họ nhận được hằng ngày. Vì sự xử lý mọi thông tin
như một thực thể đơn lẻ là không thể. Phân cụm dữ liệu nhằm mục đích chính là khai
phá cấu trúc của mẫu dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
S
S
S
S
48
Phân cụm dữ liệu trong Dataming
cho phép người ta đi xâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm
khai phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho ra quyết định.
Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính đóng
vai trò ngày càng quan trọng hơn trong hoạt động của tổ chức, doanh nghiệp cũng như
các cơ quan nhà nước. Thậm chí ở một số đơn vị chẳng hạn như công ty hàng không
hoặc các ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển các hoạt
động của toàn doanh nghiệp. Sự ngừng hoạt động của mạng máy tính trong những cơ
quan này cps thể làm tê liệt các hoạt động chính của đơn vị, và thiệt hại khó có thể
lường trước được.
Chúng ta đều biết máy chủ là trái tim của mạng máy tính, nếu máy chủ mạng
hỏng, các hoạt động của hệ thống sẽ bị ngưng trệ. Điều đáng tiếc là dù các hãng sản
xuất đã cố gắng làm mọi cách để nâng cao chất lượng của các thiết bị, nhưng những
hỏng hóc đối với các thiết bị mạng nói chung là các maý chủ nói riêng là điều không
thể tránh khỏi. Do vậy vấn đề đặt ra là cần có một giải pháp đảm bảo cho hệ thống vẫn
hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, và công nghệ
clustering (bó) là câu trả lời cho vấn đề này.
Một vài ví dụ về ý nghĩa thực tiễn của phân cụm như sau:
- Khám phá ra các vị trí địa lý thuận lợi cho việc xây dựng các kho hàng phục vụ
mua hàng của một công ty thương mại.
- Xác định các cụm ảnh như ảnh của các loại động vật như chim, thú,…trong tập
cơ sơ dữ liệu ảnh về động vật nhằm phục vụ cho việc tìm kiếm ảnh.
- Xác định các nhóm người bệnh nhằm cung cấp thông tin cho việc phân phối
các thuốc điều trị trong y tế
- Xác định các nhóm khách hàng trong cơ sơ dữ liệu ngân hàng có vốn các đầu
tư vào bất động sản cao…
Như vậy phân cụm dữ liệu là một phương pháp xử lí thông tin quan trọng và
phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức chúng
thành các cụm tương tự. Thuật ngữ phân cụm được hiểu là phân cụm dữ liệu.
Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng cho các
hệ thống mạng máy tình. Clustering cho phép sử dụng nhiều máy chủ kết hợp với nhau
tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp nhận sai sót (fault-
tolerant) nhằm nâng cao tính sẵn sàng của hệ thống mạng. Cluster là một hệ thống bao
gồm nhiều máy chủ được nối với nhau theo dạng song song hay phân tán và được sử
dụng như một tài nguyên thống nhất. Nếu một máy chủ ngừng hoạt động do bị sự cố
hoặc để nâng cấp, hoặc bảo trì thì toàn bộ công việc mà máy chủ này đảm nhiệm sẽ
được tự động chuyển sang cho máy chủ khác (trong cùng một cụm) mà không làm cho
hoạt động của hệ thống bị ngắt hay gián đoạn. Quá trình này gọi là “fail- over” và việc
phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là “fail- back”.
Việc thiết kế và lắp đặt các cluster cần thỏa mãn các yêu cầu sau:
• Yêu cầu tính sẵn sàng cao (availability). Các tài nguyên mạng phải luôn sẵn
sàng trong khả năng cao nhất để cung cấp và phục các người dùng cuối và giảm thiếu
sự ngưng hoạt động hệ thống ngoài ý muốn.
• Yêu cầu về độ tin cậy cao (reliability): độ tin cậy cao của cluster được hiểu
là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sót
của hệ thống.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
S
S
S
S
48
Phân cụm dữ liệu trong Dataming
• Yêu cầu về khả năng mở rộng được (scalability). Hệ thống phải có khả năng
dễ dàng cho việc nâng cấp, mở rộng trong tương lai. Việc nâng cấp mở rộng bao hàm
cả việc thêm các thiết bị, máy tính vào hệ thống để nâng cao chất lượng dịch vụ, cũng
như việc thêm số lượng người dùng, thêm ứng dụng, dịch vụ và thêm các tài nguyên
mạng khác.
Ba yêu cầu trên được gọi tắt là RAS (Reliability- Availability- Scalability),
những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (cần phân biệt
với Remote Access Service là dịch vụ truy cập từ xa).
Cũng cần chú ý rằng hiệu quả hoạt động của hệ thông Clustering phụ thuộc vào
sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm. Ngoài ra kĩ
thuật Clustering không thể chống lại các sự cố do virus, sai sót của phần mềm hay các
sai sót của người sử dụng. Để chống lại các sự cố này cần xây dựng một cơ sơ dữ liệu
được bảo vệ chắc chắn cũng như có các kế hoạch khôi phục, back up dữ liệu.
1.3.2 Các đặc trưng cơ bản để phân cụm
• Chọn lựa đặc trưng: các đặc trưng phải được lựa chọn một cách hợp lí
để có thể “mã hóa ” 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à 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 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 đặ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.
• 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ủ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 tập dữ liệu có hay
không một cấu trúc phân cụm. Ví dụ như một 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âm cụm đều vô nghĩa.
Các lựa chọn khac 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 qủa khác 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 các chuyên gia. Vì vậy tính
chủ quan (của chuyên gia) là một thực tế mà ta phải chấp nhận.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Data
* ** ** *
* * ** * *
** * * ** *
* ** * ** * **
*
*
*
*
*
Data for
process
Algorithm
results
Final Clusters
Knowledge
Lựa chọn đặc
trưng
Lựa chọn thuật
toán phân cụm
Công nhận kết
quả
Giải thích
kết quả
48
Phân cụm dữ liệu trong Dataming
Hình 1-2. Các bước trong quá trình phân cụm
2. Các phương pháp phân cụm dữ liệu
2.1 Các phương pháp dựa trên phân hoạch
Phương pháp phân hoạch: tạo một phân hoạch của cơ sơ dữ liệu D chứa n đối
tượng thành tập gồm k cụm sao cho:
• Mỗi cụm chứa ít nhất là một đối tượng
• Mỗi đối tượng thuộc về đúng một cụm
Cho k, tìm một phân hoạch có k cụm nhằm tối ưu tiêu chuẩn phân cụm được
chọn.
Tiêu chuẩn suy đoán chất lượng phân hoạch
Tối ưu toàn cụn: liệt kê theo hướng vét cạn tất cả các phân hoạch.
Các phương pháp:
o Phương pháp k-means (MacQueen’ 67): mỗi cụm được đại
diện bằng tâm của cụm (centroid).
o k- medoids (Kuafman & Roosseew’87): mỗi cụm được đại
diện bằng một trong các đối tượng của cụm (medoids)
2.1.1 Phương pháp gom cụn k- means
Trọng tâm của một cụm là một véc tơ, trong đó giá trị của mỗi phần tử của nó là
trung bình cộng của các thành phần tương ứng của các đối tượng vectơ dữ liệu trong
cụm đang xét. Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật
toán là các trọng tâm của các cụm dữ liệu. Độ đo khoảng cách D giữa các đối tượng dữ
liệu thường được sử dụng dụng là khoảng cách Euclide, bởi vì đây là mô hình khoảng
cách dễ để lấy đạo hàm và xác định các cực trị tối thiểu. Hàm tiêu chuẩn và độ đo
khoảng cách có thể được xác định cụ thể hơn tuỳ vào ứng dụng hoặc các quan điểm của
người dùng. Thuật toán k-means bao gồm các bước cơ bản:
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Đầu vào của thuật tóan: số k cụm k và cơ sơ dữ liệu
Thuật toán gồm 4 bước:
1. Phân hoạch đối tượng thành k tập con/ cụm khác rỗng.
2. Tính các điểm hạt giống làm centroid (trung bình của các đối tượng của
cụm) cho từng cụm trong cụm hiện hành.
3. Gán từng đối tượng vào cụm có centroid gần nhất.
4. Quay về bước 2 chấm dứt khi không còn phép gán mới.
BEGIN
1. Write (“Nhập số đối tượng dữ liệu”);readln(n);
2. Nhập n đối tượng dữ liệu;
3. Write (“Nhập số cụm dữ liệu”);readln(k);
4. MSE = + ∞;
5. For i = 1 to k do mi = xi+(i-1)*[n/k]; //Khởi tạo k trọng tâm
6. Do{
7. OldMSE = MSE;
8. MSE' = 0;
9. For j = 1 to k do
10. {m'j =0; n'j = 0;}
11. Endfor;
12. For i = 1 to n do
12. For j = 1 to k do
Tính toán khoảng cách Euclide
14. bình phương : D2
(xi, mj);
15. Endfor
16. Tìm trọng tâm gần nhất mh tới Xi.
17. m'h =m'h + Xi; n'h = n'h + 1;
18. MSE' = MSE' + D2
(xi, mh);
19. Endfor
20. nj = max (n'j, 1); mj =m'j / nj ;
21. Endfor
22. MSE = MSE';
23} while (MSE < OldMSE)
END;
Thuật tóan k-means chi tiết
Các khái niệm biến và hàm sử dụng trong thuật toán k-means trên:
 MSE (Mean Squared Error) được gọi là sai số bình phương trung bình hay còn
gọi là hàm tiêu chuẩn, MSE dùng để lưa giá trị của hàm tiêu chuẩn và được cập nhật
qua mỗi lần lặp. Thuật toán dừng ngay khi giá trị MSE tăng lên so với giá trị MSE cũ
của vòng lặp trước đó.
 D2
(xi, mj): là khoảng cách Euclide từ đối tượng thứ i tới trọng tâm thứ j:
 OldMSE, m’j, n’
j: là các biến tạm lưu giá trị cho các trạng thái trung gian cho các
biến tương ứng: giá trị hàm tiêu chuẩn, giá trị của vectơ tổng của các đối tượng trong
cụm thứ j, số các đối tượng của cụm thứ j;
Thuật toán k-means tuần tự trên được chứng minh là hội tụ và có độ phức tạp
tính toán là : O( T
flop
nkd τ
)
3
( ). Trong đó: n là đối tượng dữ liệu, k là số cụm dữ liệu, d
là số chiều, τ là số vòng lặp, T
flop
là thời gian để thực hiện một phép tính cơ sở như
phép nhân, chia,…Như vậy, do k-means phân tích cụm đơn giản nên có thể áp dụng đối
với tập dữ liệu lớn. Tuy nhiên nhược điểm của k-means là chỉ áp dụng với dữ liệu có
thuộc tính số và khám phá ra các cụm có hình dạng cầu, k-means còn rất nhạy cảm với
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
nhiễu và các phần tử ngoại lai trong dữ liệu. Hình dưới diễn tả mô phỏng về một số
hình dạng cụm dữ liệu khám phá được bởi k-means:
Thí dụ về một số hình dạng dữ liệu được khám phá ra bởi k-means
Hơn nữa, chất lượng phân cụm dữ liệ của thuật toán k-means phụ thuộc nhiều
vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu. Trong trường
hợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì
kết quả phân cụm k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch
so với các cụm trong thực tế. Trên thực tê người ta chưa có một giải pháp tối ưu nào đẻ
chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các
giá trị đầu vào k khác nhau rồi sau đo chinh giải pháp tốt nhất.
Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán k-means áp
dụng trong datamining để giải quyết với tập dữ liệu có kích thước tất lớn được áp dụng
hiệu quả và phổ biến như thuật toán k-modes, PAM, CLARA, CLARANS, k-
prototypes,…
Thuật toán khác cũng gồm 4 bước:
1. Chọn bất kì k đối tượng làm các tâm ban đầu (centroids)
2. Gán hoặc gán lại từng đối tượng vào cụm với khoảng cách gần nhất.
3. Cập nhật centroids
4. Quay về bước 2, dừng khi không còn phép gán mới
b) Ví dụ phương pháp gom cụm k- means
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10 0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
48
Phân cụm dữ liệu trong Dataming
c) Điểm mạnh của phương pháp gom cụm k - means
• Khả năng mở rộng (scalable) tương đối: trong khi xử lí các tập dữ liệu
lớn.
• Hiệu suất tương đối: O(tkn), với n là số đối tượng, k là số cụm, t là số lần
lặp. Thông thường k, t < < n.
Thường kết thúc ở điểm tối ưu cục bộ; có thể tìm được tối ưu toàn cục dùng các
kĩ thuật như thuật toán di truyền
d) Điểm yếu của phương pháp gom cụm k – means
• Có thể áp dụng khi biết được trị trung bình của các đối tượng
• Cần chỉ định trức k, số các cụm
• Không thể xử lí được dữ liệu chuỗi và outlier
• Không phù hợp để khám phá các cụm với dạng không lồi hay cụm có
kích thước khác nhau
e) Các biến đổi của phương pháp gom cụm k means
• Vài biến thể của phương pháp k- means khác nhau ở:
- Chọn k centroids ban đầu.
- Tính toán sự bất tương tự
- Các chiến lược tính centroids cụm
• Xử lí dữ liệu phân nhóm: k- modes (cách thức)
- Thay trị trung bình của cluster bằng modes
- Dùng các độ đo bất tương tự mới cho các đối tượng phân nhóm
- Dùng các phương pháp dựa trên tần số để cập nhật modes của đối
tượng
Một sự kết hợp giữa dữ liệu phân lớp và dữ liệu số: phương pháp k- prototype
f) Phương pháp gom cụm k-medoids
• Đầu vào của thuật toán: số cụm k và cơ sơ dữ liệu có n đối tượng
• Thuật toán gồm 4 bước:
1. Chọn bất kì k đối tượng nào làm medoids ban đầu (các đối tượng đại
diện)
2. Gán từng đối tượng còn lại vào cụm có medoid gần nhất
3. Chọn nonmedoid và thay một trong các medoids bằng nó nếu nó cải
thiện chât lượng cụm
4. Quay về bước 2, dừng khi không còn phép gán mới.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10 0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
48
Phân cụm dữ liệu trong Dataming
2.1.2 Thuật toán PAM
PAM (Partitioning Around Medois) 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, đây là thuật toán phân cụm dữ liệu được đề xuất bởi Kaufman và Rousseeuw. 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 bởi 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 những đ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.
Thí dụ : Nếu Oj là đối tượng không phải là medoid và Om là một đối tượng
medoid, khi đó ta nói Oj thuộc về cụm có đối tượng medoid là Om làm đại diện nếu :
d(Oj, Om) = minOe
)
,
( O
O e
j
d . Trong đó : )
,
( O
O e
j
d là độ phi tương tự giữa Oj và Oe
, minOe là giá trị nhỏ nhất của độ phi tương tự giữa Oj và tất cả các đối tượng medoid
của các cụm dữ liệu. Chất lượng của mỗi cụm được khám phá được đánh giá thông qua
độ phi tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với
cụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất
cả các đối tượng medoid. Độ phi tương tự ở đây thông thường được xác định bằng độ
đo khoảng cách, thuật toán PAM ở đây được áp dụng cho dữ liệu không gian.
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid
bất kỳ. Sau mỗi bước thực hiện, PAM cố gằng hoán chuyển giữa đối tượng medoid Om
và một đối tượng Op không phải là medoid, miễn là sự hoán chuyển này nhằm cải tiến
chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay
đổi. Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân
cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu.
Chúng ta xét ví dụ đơn giản sau : Cho hai đối tượng medoid A và B. Đối với tất cả
các đối tượng Y thuộc cụm với đối tượng medoid đại diện A, chúng ta tìm medoid
của cụm gần nhất để thay thể. Có hai trường hợp có thể xẩy ra, hoặc Y được chuyển tới
cụm dữ liệu có đại diện là B hoặc được chuyển tới cụm dữ liệu có đại diện là M. Tiếp
đến, chúng ta xét lần lượt cho tất cả các đối tượng trong cụm có đại diện là A. Tương
tự như vậy, đối với tất các các đối tượng trong cụm có đối tượng đại diện là B, chúng ta
có thể di chuyển chúng tới cụm có đại diện là M hoặc là chúng ở lại B. Thí dụ này có
thể biểu diễn như hình dưới đây :
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
A
Y
B
M
Case 1
Case 2
A
M
Z
B
Case 3
Case 4
48
Phân cụm dữ liệu trong Dataming
Thí dụ về khả năng thay thế của các đối tượng trung tâm medoid
Sau đây là một số khái niệm biến được sử dụng cho thuật toán PAM :
Om : Là đối tượng medoid hiện thời cần được thay thế
Op : là đối tượng medoid mới thay thế cho Om;
Oj : Là đối tượng dữ liệu (không phải là medoid) có thể được di chuyển sang
cụm khác.
Oj,2 : Là đối tượng medoid hiện thời gần đối tượng Oj nhất mà không phải
là các đối tượng A và M như trong ví dụ trên.
Bốn trường hợp như mô tả trong thí dụ trên, PAM tính giá trị Cjmp cho tất cả các đối
tượng Oj. Cjmp ở đây nhằm để làm căn cứ cho việc hoán chuyển giữa Om và Op. Các
cách tính. Trong mỗi trường hợp Cjmp được tính với 4 cách khác nhau như sau :
Trường hợp 1: Giả sử Oj hiện thời thuộc về cụm có đại diện là Om và Oj
tương tự với Oj, 2 hơn Op (d(Oj, Op)≥ d(Oj, Oj,2)). Trong khi đó, Oj,2 là đối tượng
medoid tương tự xếp thứ 2 tới Oj trong số các medoid. Trong trường hợp này,
chúng ta thay thế Om bởi đối tượng medoid mới Op và Oj sẽ thuộc về cụm có đối
tượng đại diện là Oj,2. Vì vậy, giá trị hoán chuyển Cjmp được xác định như sau :
Cjmp = d(Oj, Oj,2) – d(Oj, Om). (1)
Giá trị Cjmp là không âm.
Trường hợp 2 : Oj hiện thời thuộc về cụm có đại diện là Om , nhưng Oj ít
tương tự với Oj,2 so với Op (Nghĩa là, d(Oj, Op)<d(Oj, Oj,2)) . Nếu Om, được thay
thế bởi Op thì Oj sẽ thuộc về cụm có đại diện là Op. Vì vậy, giá trị Cjmp được xác
định như sau : Cjmp= (Oj, Op) - d(Oj, Om) (2). Cjmp ở đây có thể là âm hoặc
dương.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Trường hợp 3 : Giả sử Oj hiện thời không thuộc về cụm có đối tượng đại
diện là Om mà thuộc về cụm có đại diện là Oj,2. Mặt khác, giả sử Oj tương tự với
Oj,2 hơn so với Op, khi đó, nếu Om được thay thế bởi Op thì Oj vẫn sẽ ở lại trong
cụm có đại diện là Oj,2 . Do đó : Cjmp= 0 (3).
Trường hợp 4 : Oj hiện thời thuộc về cụm có đại diện là Oj,2 nhưng Oj ít
tương tự tới Oj,2 hơn so với Op. Vì vậy, nếu chúng ta thay thế Om bởi Op thì Oj sẽ
chuyển từ cụm Oj,2 sang cụm Op. Do đó, giá trị hoán chuyển Cjmp được xác định
là : Cjmp= (Oj, Op) - d(Oj, Oj,2) (4). Cjmp ở đây luôn âm.
Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển Om bằng Op được
xác định như sau : TCmp =∑
j
jmp
C (5).
Sử dụng các khái niệm trên, thuật toán PAM có các bước thực hiện như hình sau:
Input : Tập dữ liệu có n phần tử, số cụm k
Out Put : k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất.
BEGIN
Bước 1 : Chọn k đối tượng medoid bất kỳ;
Bước 2 : Tính TCmp cho tất cả các cặp đối tượng Om, Op. Trong đó Om là đối tượng medoid và Op
là đối tượng không phải là modoid.
Bước 3 : Chọn cặp đối tượng Om và Op. Tính minOm, minOp, TCmp.
Nếu TCmp là âm, thay thế Om bởi Op và quay lại bước 2. Nếu TCmp dương, chuyển sang bước 4.
Bước 4 : Với mỗi đối tượng không phải là medoid, xác định đối tượng medoid tương tự với nó
nhất đồng thời gán nhãn cụm cho chúng.
END
Các bước thực hiện của thuật toán PAM
Trong bước 2 và 3, có PAM phải duyệt tất cả k(n-k) cặp Om, Op. Với mỗi vặp,
việc tính toán TCmp yêu cầu kiểm tra n-k đối tượng. Vì vậy, độ phức tạp tính toán của
PAM là O(Ik (n-k)2
), trong đó I là số vòng lặp. Như vậy, thuật toán PAM kém hiệu quả
về thời gian tính toán khi giá trị của k và n là lớn[10][16].
2.1.3 Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman đề xuất năm 1990,
thuật toán này nhằm khắc phục nhiệc điểm của thuật toán PAM trong trường hợp giá trị
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
của k và n là lớn. CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng
thuật toán PAM cho mẫu này và tìm ra các đối tượng trọng tâm medoid cho mẫu trích
từ dữ liệu này. Người ta thấy rằng, nếu mẫu dữ liệu được trích theo 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 và thực hiện phân cụm cho mỗi
trường hợp và tiến hành chọn kết qủa 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 đượ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+20k cho các kết quả tốt.
Các bước thực hiện của thuật toán CLARA như sau:
CLARA (5);
BEGIN
1. For i = 1 to 5 do
2. Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và áp dụng thuật toán PAM
cho mẫu dữ liệu này nhằm để tìm các đối tượng medoid đại diện cho các cụm.
3. Đối với mỗi đối tượng Oj trong tập dữ liệu ban đầu, xác định đối tượng medoid tương tự nhất trong
số k đối tượng medoid.
4. Tính độ phi tương tự trung bình cho phân hoạch các đối tượng dành ở bước trước, nếu giá trị này
bé hơn giá trị tối thiểu hiện thời thì sử dụng giá trị này thay cho giá trị tối thiếu ở trạng thái trước, như
vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời điểm này.
5. Quay về bước 1.
END;
Các bước thực hiện thuật toán CLARA
Độ phức tạp tính toán của nó là O(k(40+k)2
+ k(n-k)), và CLARA có thể thực hiện đối
với tập dữ liệu lớn. Chú ý đối với kỹ thuật tạo mẫu trong PCDL : kết quả phân cụm có
thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt tối ưu cục bộ. Thí dụ
như : Nếu các đối tượng medoid của dữ liệu khởi tạo không nằm trong mẫu, khi đó kết
quả thu được không đảm bảo là tốt nhất được.
2.1.4 Thuật toán CLARANS
Thuật toán CLARANS được Ng & Han đề xuất năm 1994, nhằm để cải tiến cho
chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn. CLARANS cũng sử dụng
các đối tượng trung tâm medoids làm đại diện cho các cụm dữ liệu.
Như đã biết, PAM là thuật toán phân hoạch có kiểu k-medoids. Nó bắt đầu khởi
tạo k tâm đại diện medoid và liên tục thay thế mỗi tâm bởi một đối tượng khác trong
cụm cho đến khi là tổng khoảng cách của các đối tượng đến tâm cụm không giảm.
CLARANS là thuật toán phân cụm dữ liệu kết hợp thuật toán PAM với chiến lược tìm
kiếm kinh nghiệm mới. Ý tưởng cơ bản của CLARANS là không xem xét tất cả các
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng khác, nó ngay
lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác động tốt đến chất
lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất. Một phân hoạch
cụm phát hiện được sau khi thay thế đối tượng trung tâm được gọi là láng giềng
(Neighbor) của phân hoạch cụm trước đó. Số các láng giềng được hạn chế bởi tham số
do ngừơi dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn
toàn ngẫu nhiên. Tham số Numlocal cho phép người dùng xác định số vòng lặp tối ưu
cục bộ được tìm kiếm. Không phải tất cả các láng giềng được duyệt mà chỉ có
Maxneighbor số láng giềng được duyệt.
Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như
sau :
Giả sử O là một tập có n đối tượng và M ⊆ Ο là tập các đối tượng tâm medoid, NM = Ο - M
là tập các đối tượng không phải tâm. Các đối tượng dữ liệu sử dụng trong thụât toán
CLARANS là các khối đa diện. Mối đối tượng được diễn tả bằng một tập các cạch, mỗi cạnh
được xác định bằng 2 điểm. Giả sử P ⊆ R3
là một tập tất cả các điểm. Nói chung, các đối
tượng ở đây là các đối tượng dữ liệu không gian và chúng ta định nghĩa tâm của một đối tượng
chính là trung bình cộng toán học của tất cả các đỉnh hay còn gọi là trọng tâm:
Center : O →
 P
Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở đây là khoảng cách
Euclidean : dist: P x P→ R0
+
Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện thông qua hàm tâm :
dist: O x O→ R0
+
sao cho dist (oi, oj) = dist (center(oi), center(oj))
Mỗi đối tượng được được gán cho một tâm medoid của cụm nếu khoảng cách từ trọng tâm của
đối tượng đó tới tâm medoid của nó là nhỏ nhất. Vì vậy, chúng ta định nghĩa một tâm medoid
như sau : medoid: O→ M sao cho medoid (o) = mi, mi ∈M, ∀ mj ∈M: dist (o, mi)
≤ dist (o, mj), o∈ O.
Cuối cùng, chúng ta định nghĩa một cụm với tâm medoid mi tương ứng là một tập con các đối
tượng trong O với medoid(o) = mi.
Giả sử C0 là tập tất cả các phân hoạch của O. Hàm tổng đế đánh giá chất lượng một phân
hoạch được định nghĩa như sau : total_distance: C0→ R0
+
sao cho total_distance(c) = Σ Σ dist
(o, mi) với mi ∈M, ο ∈ cluster(mi ).
Thuật toán chi tiết CLARANS như biểu diễn trong hình sau:
Input : O, k, dist, numlocal, and maxneighbor;
Output : k cụm dữ liệu;
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
CLARANS (int k, function dist, int numlocal, int maxneighbor)
BEGIN
for (i = 1; i <= numlocal; i++) {
current.create_randomly(k);
j = 1;
while (j < maxneighbor) {
current.select_randomly(old, new);
diff = current.calculate_distance_difference(old, new);
if (diff < 0) {
current.exchange(old, new);
j = 1;
}
else j++; // end if
} // end while
dist = current.calculate_total_distance();
if (dist < smallest_dist) {
best = current;
smallest_dist = dist;
} // end if
} // end for
END;
Thuật toán CLARANS
Trong đó :
Create_Randomly(k) : tạo ngẫu nhiên k cụm dữ liệu, nghĩa là thuật toán lựa chọn
ngẫu nhiên k đối tượng medoid từ n đối tượng dữ liệu.
Select_randomly(old, new) : Thay thế một đối tượng tâm cụm medoid old bởi đối
tượng khác new.
Calculate_distance_difference(old, new) : Tính toán sự khác nhau về tổng khoảng
cách giữa phân hoạch hiện thời và láng giềng của nó.
Exchange(old, new) : Hoán đối giữa đối tượng tâm cụm medoid old với đối tượng
không phải là medoid new, sau khi hoán đổi vai trò của chúng cũng được hoán đổi.
Calculate_total_distance() : Tính tổng khoảng cách cho mỗi phân hoạch.
Như vậy, quá trình hoạt động của CLARANS tương tự với quá trình hoạt động của
thuật toán CLARA. Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid của cụm dữ
liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối
tượng của k đối tượng trung tâm medoid của cụm và cố gắng thay thế nó với một đối
tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải pháp nào
tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dùng và cho kết
quả phân cụm tối ưu cục bộ.
Trong trường hợp tệ nhất, CLARANS so sánh một đối tượng với tất các đối tượng
Medoid. Vì vậy, độ phức tạp tính toán của CLARANS là O(kn2
), do vậy CLARANS
không thích hợp với tập dữ liệu lớn (khi trường hợp xấu nhất xẩy ra). CLARANS có
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
ưu điểm là không gian tìm kiếm không bị giới hạn như đối với CLARA, và trong cùng
một lượng thời gian thì chất lượng của các cụm phân được là lớn hơn so với CLARA.
2.1.5. Nhận xét chung về họ các thuật toán phân hoạch
Thuật toán k-means chỉ thích hợp để tìm kiếm các cụm dữ liệu có dạng hình cầu, không
thích hợp cho việc xác định các cụm với hình dạng bất kỳ, nhưng trong trường hợp các
cụm khá gần nhau thì một số đối tượng của một cụm có thể là nằm cuối các trong các
cụm khác. Thuật toán PAM là một cải tiến của k-means nhằm để khắc phục trong
trường hợp dữ liệu chứa nhiễu hoặc các phần tử ngoại lai. CLARA và CLARANS là
các thuật toán dựa trên hàm tiêu chuẩn của thuật toán PAM, đây là các thuật toán có
khả năng áp dụng với tập dữ liệu lớn, nhưng hiệu quả của chúng phụ thuộc vào kích
thước của các mẫu được phân. Thuật toán CLARANS hiệu quả hơn so với thuật toán
CLARA. Hạn chế chung của các thuật toán phân cụm phân hoạch là chỉ thích hợp đối
với dữ liệu số và ít chiều, và chỉ khám phá ra các cụm dạng hình cầu, thế nhưng chúng
lại áp dụng tốt với dữ liệu có các cụm phân bố độc lập và trong mỗi cụm có mật độ
phân bố cao.
2.2Các phương pháp dựa trên phân cấp
Phương pháp phân cấp: tạo phân cấp cụm chứ không phải là một phân hoạch
đơn thuần các đối tượng
Không cần dữ liệu nhập là số cụm k
Dùng ma trận làm tiêu chuẩn gom cụm
Có thể có điều kiện kết thúc (ví dụ số cụm)
• Cây các cụm: phân cấp cụm thường tạo cây các cụm hay còn được gọi là
dendrogram
o Các lá của cây biểu diễn các đối tượng riêng lẻ
o Các nút trong của cây biểu diễn các cụm
• Hai loại phương pháp tạo kiến trúc cụm:
o Gộp- agglomerative (từ dưới lên)
- Đưa từng đối tượng vào cluster riêng của nó
- Trộn ở mỗi bước hai cụm tương tự nhất cho đến khi chỉ còn một cụm
hay thỏa điều kiện kết thúc
o Phân chia – divisive (từ trên xuống)
- Bắt đầu bằng một cụm lớn chứa tất cả các đối tượng
- Phân chia cụm phân biệt nhất thành các cụm nhỏ hơn và xử lý cho
đến khi co n cụm hay thỏa điều kiện kết thúc
Hai loại phương pháp tạo kiến trúc phân cấp cụm
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
• Các khoảng cách trong
Thường có 3 cách được dùng để định nghĩa khoảng cách giữa các cụm:
- Phương pháp liên kết đơn (láng giềng gần nhất):
- Phương pháp liên kết hoàn toàn (láng giềng xa nhất):
- Phương pháp liên kết trung bình (trung bình cặp nhóm không có trọng
):
• Sức mạnh của các phương pháp phân cấp
o Khái niệm đơn giản
o Lý thuyết tốt
o Khi cụm được trộn/ tách, quyết định là vĩnh cửu => số các phương án
khác nhau cần được xem xét bị rút giảm.
• Điểm yếu của phương pháp phân cấp
o Trộn/ tách các cụm là vĩnh cửu => các quyết định sai là không thể khắc
phục về sau
o Các phương pháp phân chia là cần thời gian tính toán
o Các phương pháp là không scalable (mở rộng được) cho các tập dữ liệu
lớn
• Phân tích outlier
o outliers
- Là các đối tượng bất tương tự với
- Có thể gây ra việc đo đạc hay lỗi thực hiện, hay
- Là kết quả của việc biến đổi dữ liệu kế thừa rất nhiều thuật toán khai
phá dữ liệu cố gắng
- Giảm ảnh hưởng của outliers
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Step 0 Step 1 Step 2 Step 3 Step 4
b
d
c
e
a a b
d e
c d e
a b c d e
Step 4 Step 3 Step 2 Step 1 Step 0
G
Gộ
ộp-
p-agglomerative
agglomerative
Ph
Phân chia-
ân chia- divisive
divisive
{ }
)
,
(
min
)
,
( , y
x
d
j
i
d j
i C
y
C
x ∈
∈
=
{ }
)
,
(
max
)
,
( , y
x
d
j
i
d j
i C
y
C
x ∈
∈
=
{ }
)
,
(
)
,
( , y
x
d
avg
j
i
d j
i C
y
C
x ∈
∈
=
48
Phân cụm dữ liệu trong Dataming
- Giảm outliers
o Cực tiểu hóa ảnh hưởng của outliers và/ hay khử đi những outliers có thể
gây ra mất mát thông tin
o Có thể quan tâm đến khai khác outlier mining
o Các ứng dụng của khai thác outlier
- Phát hiện phạm tội
- Tiếp thị
- Xử lý y khoa
2.2.1 Thuật toán BIRCH
BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) là thuật toán
phân cụm phân cấp sử dụng chiến lược phân cụm trên xuống (top down). Ý tưởng của
thuật tóan 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 dữ liệu của các cụm, BIRCH chỉ lưu một
bộ ba (n, LS, SS), trong đó n là đố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ủa 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 (Cluster
Features - CF) và được lưa giữ trong một cây gọi là cây CF (CF tree). Người ta đã
chứng minh rằng, các đại lượng thống kê chuẩn như độ đo khoảng cách, có thể xác
định cây CF. Hình dưới đây biểu thị một ví dụ về cây CF. Chúng ta thấy rằng tất cả các
nút trong cây lưu tổng các đặc trưng cụm CF của nút con, trong khi đó các nút lá lưu
trữ các đặc trưng của cụm dữ liệu
Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm (CF). Cây CF
chứa các nút trong và nút là, nút trong là nút chứa các nút con và nút lá thì không có
con. Nút trong lưu trữ tổng các đặc trưng cụm (CF) của các nút con của nó. Một cây CF
được đặc trưng bởi hai tham số:
 Yếu tố nhánh (Branching Factor - B): nhằm xác định số tối đa các nút
con của mỗi nút trong cây, và
 Ngưỡng (Threshloid-T): Khoảng cách tối đa giữa bất kì một cặp đối
tượng trong nút lá của cây, khoảng cách này còn được gọi là đường kính
của các cụm con được lưu tại các nút lá.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Hai tham số này có ảnh hưởng đến kích thước của cây CF. Thuật toán BIRCH
thực hiện qua giai đoạn sau:
 Giai đoạn 1: BIRCH duyệt qua tất cả các đối tượng trong cơ sở dữ liệu và
xây dựng một cây CF khởi tạo. Trong giai đoạn này, các đối tượng lần lượt được chèn
vào nút lá gần nhất của cây CF (nút lá của cây đóng vai trò là cụm con) sau khi chèn
xong thì tất cả các nút trong cây CF được cập nhật thông tin. Nếu đường kính của cụm
con sau khi chèn là lớn hơn ngưỡng T, thì nút lá được tách.
Quá trình này lặp cho đến khi tất cả các đối tượng đều được chèn vào trong cây.
Ở đây ta thấy rằng, mỗi đối tượng trong cây chỉ được đọc một lần, để lưu toàn bộ cây
CF trong bộ nhớ thì cần phải điều chỉnh kích thước của cây CF thông qua điều chỉnh
ngưỡng T.
 Giai đoạn hai: BIRCH lựa chọn một thuật toán phân cụm dữ liệu (như
thuật toán phân cụm chẳng hạn) để thực hiện phân cụm dữ liệu cho các nút lá của cây.
Thuật toán BIRCH thực hiện qua các bước cơ bản như hình sau:
Với
Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện phân cụm dữ liệu
nhanh và có thể áp dụng đối với tập dữ liệu lớn, đặc biệt, BIRCH hiệu quả khi áp dụng
với tập dữ liệu tăng trưởng theo thời gian. BIRCH chỉ duyệt toàn bộ dữ liệu một lần với
một lần quét thêm tùy chọn, nghĩa là độ phức tạp của nó là O(n), với n là đối tượng dữ
liệu. Nhược điểm của nó là chất lượng của các cụm được khám phá không được tốt.
Nếu BIRCH sử dụng khoảng cách Euclide, nó thực hiện tốt chỉ với dữ liệu số. Mặc
khác, tham số vào T có ảnh hưởng rất lớn tới kích thước và tính tự nhiên của cụm. Việc
ép các đối tượng dữ liệu làm cho các đối tượng của một cụm có thể là đối tượng kết
thúc cụm khác, trong khi các đối tượng gần nhau có thể bị hút bởi các cụm khác nếu
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
1. Các đối tượng dữ liệu lần lượt được chèn vào cây CF, sau khi chèn hết các
đối tượng ta thu được cây CF khởi tạo. Mỗi một đối tượng được chèn vào
nút lá gần nhất tạo thành cụm con. Nếu đường kính của cụm con này lớn
hơn T thì nút lá được tách. Khi một đối tượng thích hợp được chèn vào nút
lá thì tất cả các nút trở tới gốc của cây được cập nhật với các thông tin cần
thiết.
2. Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành dựng cây CF
nhỏ hơn: kích thước của cây CF được điều khiển bởi tham số T và vì vậy
việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụm con thành một
cụm, điều này làm cho cây CF nhỏ hơn. Bước này không cần yêu cầu bắt
đầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ
hơn.
3. Thực hiện phân cụm: các nút lá của cây CF lưu giữ các đại lượng thống kê
của các cụm con. Trong bước này, BIRCH sử dụng các đại lượng thống kê
này để áp dụng một số kĩ thuật phân cụm ví dụ như k-means và tạo ra một
khởi tạo cho phân cụm
4. Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng tâm
cho các cụm đã được khám phá từ bước 3: đây là một bước tùy chọn để
duyệt lại tập dữ liệu và gán nhãn lại cho các đối tượng dữ liệu tới các trọng
tâm gần nhất. Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại
bỏ các đối tượng ngoại lai.
48
Phân cụm dữ liệu trong Dataming
chúng được biểu diễn cho thuật toán theo một thứ tự khác. BIRCH không thích hợp với
dữ liệu đa chiều.
2.2.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) là thuật toán sử dụng chiến
lược dưới lên (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 thuật toán, hai
cụm có cặp đối tượng đại diện gần nhất (đối tượng thuộc về mỗi cụm) sẽ được trộn lại
thành một cụm.
Với cách thức sử dụng nhiều hơn một phần tử đại diện cho các cụm, CURE có
thể khám phá được các cụm có các hình thù và kích thước khác nhau trong cơ sơ dữ
liệu lớn. Việc co các đối tượng đại diện lại có tác dụng làm giảm tác động củ các phần
tử ngoại lai, vì vậy, CURE có khả năng xử lý đối với các phần tử ngoại lai. Hình dưới
đây là ví dụ về các dạng và kích thước cụm dữ liệu được khám phá bởi CURE
2.3Các phương pháp dựa trên mật độ
Các cụm có thể được xem như các vùng có mật độ cao, được tách ra bởi các
vùng không có hoặc ít mật độ. Khái niệm mật độ ở được xem như là các số các đối
tượng láng giềng.
2.3.1 Thuận toán DBSCAN
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). 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. Tìm tất cả các
đối tượng mà các láng giềng của nó thuộc về lớp các đối tượng đã xác định ở trên, một
cụm được xác định bằng một tập tất cả các đối tượng kiên thông mật độ với các láng
giềng của nó. DBSCAN có thể tìm ra các cụm với hình thù bất kì, trong khi đó tại cùng
một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ liệu nhập vào. Khi có
một đối tượng dữ liệu được chèn vào chỉ tác động đến một láng giềng xác định. Mặc
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
khác DBSCAN yêu cầu người dùng xác định bán kính Eps của các láng giềng và số các
láng giềng tối thiểu Minpts, các tham số này khó mà xác định được tối ưu, thông
thường nó được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm. Người ta
áp dụng chỉ số không gian để giúp xác định các láng giềng của một đối tượng dữ liệu
do vậy độ phức tạp của DBSCAN đã được cải tiến là O(nlogn) so với độ phức tạp của
DBSCAN là O(n2
) trong trường hợp nếu không áp dụng cấu trúc chỉ số. Khoảng cách
Euclide được sử dụng để đo sự tương tác giữa các đối tượng nhưng không hiệu quả đối
với dữ liệu đa chiều.
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. Dưới đây là các định nghĩa và bổ đề được sử dụng
trong thuật toán DBSCAN.
Định nghĩa 1: lân cận với ngưỡng Eps của một điểm (Eps – Neighborhood of a
point)
Lân cận với ngưỡng Eps của một điểm P kí hiệu là NEps(p) được xác định như
sau: NEps(p) = {q ∈ D | khoảng cach Dist(p,q) ≤ Eps}, D là tập dữ liệu cho trước.
Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) thì phải có tối thiểu
Minpts điểm. Số điểm tối thiểu được chọn là bao nhiêu cũng là bài toán khó, vì: Nếu số
điểm tối thiểu lớn thì chỉ những điểm nằm thực sự trong cụm C mới đạt đủ tiêu chuẩn,
trong khi đó những điểm nằm ngoài biên của cụm không thể đạt được điều đó. Ngược
lại nếu số điểm tối thiểu là nhỏ thì mọi điểm sẽ rơi vào một cụm.
Theo định nghĩa trên, chỉ những điểm thực sự nằm trong cụm mới thỏa mãn
điều kiện là điểm thuộc vào cụm. Những điểm nằm ở biên của cụm thì không thỏa mãn
điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của điểm biên thì bé hơn
lân cận với ngưỡng của Eps của điểm nhân (Core point).
Để tránh được điều này, chúng ta có thể đưa ra một tiêu chuẩn khác để định
nghĩa một điểm thuộc vào một cụm như sau: Nếu một điểm p muốn thuộc vào cụm C
phải tồn tại một điểm q mà p ∊ NEps(q) và số điểm trong NEps(q) phải lớn hơn số điểm
tối thiểu. Điều này có thể được định nghĩa một cách hình thức như sau:
Định nghĩa 2: Đến được trực tiếp theo mật độ (Directly Density-reachable). Một điểm
p được gọi là đến được trực tiếp từ điểm q với ngưỡng Eps nếu:
1. p ∊ NEps(q)
2. || NEps(q)|| ≥ Minpts (điều kiện nhân)
Điểm q được gọi là điểm nhân (Core point). Có thể thấy là đến được trực tiếp
một hàm phản xạ và đối xứng đối với hai điểm nhân và bất đối xứng nếu nếu một trong
hai điểm đó không phải là điểm nhân.
Định nghĩa 3: Đến được mật độ (Density- Reachable)
Một điểm p được gọi là đến được từ một điểm q theo hai tham số Eps và Minpts nếu
tồn tại một dãy p = p1, p2, ..., pn = q thỏa mãn pi+1 là có thể đến được trực tiếp từ pi với
1
,
1 −
= n
i
Hai điểm biên của một cụm C có thể không đến được nhau bởi vì cả hai có thể
đều không thỏa mãn điều kiện nhân. Mặc dù vậy, phải tồn tại một điểm nhân C mà cả
hai điểm đều có thể đến được từ điểm đó. Để cho thuận tiện chúng ta sẽ đưa ra một
định nghĩa liên thông mật độ (Density- Connectivity)
Định nghĩa 4: Liên thông mật độ (Density- Connectivity)
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Một điểm p được gọi là liên thông với điểm q theo hai tham số Eps với Minpts nếu như
tồn tại một điểm o mà cả hai điểm p, q đều có thể đến được theo tham số Eps và
Minpts. Liên thông mật độ có tính chất đối xứng và phản xạ.
Định nghĩa 5: Cụm (Clustering)
Giả sử D là một tập các điểm dữ liệu. Một tập con C khác rỗng của D được gọi là một
cụm (cluster) thep Eps và Minpts nếu thỏa mãn hai điều kiện:
 Với mọi p,q ∈ D, nếu p ∈ C và q có thể đến được từ p theo Eps và MinPts thì
q∈ C.
 Với mọi p,q ∈ C, p liên thông mật độ với q theo Eps và MinPts.
Định nghĩa 6 : Dữ liệu nhiễu (Noise)
Giả sử C1, C2, …, Ck là các cụm trong tập dữ liệu D theo tham số Eps và MinPts, điểm
dữ liệu nhiễu là điểm dữ liệu không thuộc vào cụm nào trong các cụm C1, C2, …, Ck,
tức là Noise = {p | với mọi i=1..k, p ∉ Ci }
Tiếp theo là hai bổ đề để chứng minh cho việc thuật toán phân cụm DBSCAN. Chúng
phát biểu như sau: Với hai tham số Eps và MinPts cho trước, chúng ta có thể khám phá
các cụm theo hai bước :
 Bước 1 : Chọn một điểm bất kỳ từ tập dữ liệu ban đầu thoả mãn điều kiện nhân
 Bước 2 : Lấy tất cả các điểm đến được mật độ với điểm nhân đã chọn ở trên để
tạo thành cụm
Hai bổ đề này có thể phát biểu một cách hình thức hơn như sau :
Bổ đề 1 : Giả sử p là một điểm trong D trong đó || NEps(p)|| ≥ MinPts, tập O = {o|o∈D
và o có thể đến được mật độ từ p theo Eps và MinPts}là một cụm theo Eps và MinPts.
Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi một điểm trong C đến
được mật độ từ bất cứ một một điểm nhân nào của C, vì vậy C chứa đúng một số điểm
liên thông với điểm nhân tuỳ ý.
Bổ đề 2 : Giả sử C là một cụm theo Eps và MinPts, p là một điểm bất kỳ trong C với ||
NEps(p)|| ≥ MinPts. Khi đó C trùng với tập O = {o|o∈D và o có thể đến được mật độ từ
p theo Eps và MinPts}.
Thuật toán DBSCAN :
DBSCAN khởi tạo điểm p tuỳ ý và lấy tất cả các điểm đến được mật độ từ p với
Eps và MinPts. Nếu p là điểm nhân thì thủ tục trên tạo ra một cụm theo Eps và MinPts
(Bổ đề 2), Nếu p là một điểm biên, không có điểm nào đến được mật độ từ p và
DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu.
Nếu chúng ta chọn sử dụng giá trị trị toàn cục Eps và MinPts, DBSCAN có thể hoà
nhập hai cụm theo định nghĩa 5 thành một cụm nếu mật độ của hai cụm gần bằng nhau.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Giả sử khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là Dist (S1,S2) =
min{dist(p,q)| p∈ S1 và q∈ S2}. Hình sau diễn tả thuật toán DBSCAN chi tiết:
{----------Mô đun chương trình chính-------}
DBSCAN (SetOfPoints, Eps, MinPts)
// SetOfPoints is UNCLASSIFIED
ClusterId := nextId(NOISE);
FOR i FROM 1 TO SetOfPoints.size DO
Point := SetOfPoints.get(i);
IF Point.ClId = UNCLASSIFIED THEN
IF ExpandCluster(SetOfPoints, Point,
ClusterId, Eps, MinPts) THEN
ClusterId := nextId(ClusterId)
END IF
END IF
END FOR
END; // DBSCAN
{--------------Thủ tục Expand -------------}
ExpandCluster(SetOfPoints, Point, ClId,
Eps, MinPts) : Boolean;
seeds:=SetOfPoints.regionQuery(Point,Eps);
IF seeds.size<MinPts THEN // no core point
SetOfPoint.changeClId(Point,NOISE);
RETURN False;
ELSE // all points in seeds are density-
// reachable from Point
SetOfPoints.changeClIds(seeds,ClId);
seeds.delete(Point);
WHILE seeds <> Empty DO
currentP := seeds.first();
result :=
SetOfPoints.regionQuery(currentP,
Eps);
IF result.size >= MinPts THEN
FOR i FROM 1 TO result.size DO
resultP := result.get(i);
IF resultP.ClId
IN {UNCLASSIFIED, NOISE} THEN
IF resultP.ClId = UNCLASSIFIED
THEN
seeds.append(resultP);
END IF;
SetOfPoints.changeClId(resultP,ClId);
END IF; // UNCLASSIFIED or NOISE
END FOR;
END IF; // result.size >= MinPts
seeds.delete(currentP);
END WHILE; // seeds <> Empty
RETURN True;
END IF
END; // ExpandCluster
{--------------End---------------------}
Hình : Thuật toán DBSCAN
Trong đó, SetOfPoints hoặc là tập dữ liệu ban đầu hoặc là cụm được khám phá từ bước
trước, CLId (clusterId) là nhãn đánh dấu phần tử dữ liệu nhiễu có thể thay đổi nếu
chúng có thể đến được mật độ từ một điểm khác từ CSDL, điều này chỉ xẩy ra đối với
các điểm biên của dữ liệu. Hàm SetOfPoints.get(i) trả về phần tử thứ i của SetOfPoints.
Thủ tục SetOfPoints.regionQuery(point, Eps) trả về một danh sách các điểm dữ liệu lân
cận với điểm Point trong ngưỡng Eps từ tập dữ liệu SetOfPoints. Trừ một số trường
hợp ngoại lệ, kết quả của DBSCAN độc lập với thứ tự duyệt các đối tượng dữ liệu. Eps
và MinPts là hai tham số toàn cục được xác định bằng thủ công hoặc theo kinh nghiệm.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Tham số Eps được đưa vào là nhỏ so với kích thước của không gian dữ liệu, thì độ
phức tạp tính toán trung bình của mỗi truy vấn là O(log n).
2.3.2 Thuật toán OPTICS
Đây 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. OPTICS (Ordering Points To Identify the Clustering Structure) sắp
xếp các cụm theo thứ tự tăng dần nhằm tự động phân cụm dữ liệu. 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 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. DBSCAN và OPTICS tương tự
với nhau về cấu trúc và có cùng độ phức tạp : O(nLogn) (N là kích thước của tập dữ
liệu). Hình sau thể hiện về một thí dụ trong PCDL của thuật toán OPTICS [10][16]:
Thứ tự phân cụm của các đối tượng của OPTICS
2.3.3 Thuật toán DENCLUE
DENCLUE (DENsity - Based CLUstEring) là thuật toán PCDL dựa trên một tập các
hàm phân phối mật độ. Ý tưởng chính của thuật toán này như sau [10][16]:
 Sự tác động của một đối tượng tới láng giềng của nó được xác định bởi hàm
ảnh hưởng (Influence Function).
 Mật độ toàn cục của không gian các đối tượng được mô hình như là tổng tất
cả các hàm ảnh hưởng của các đối tượng.
 Các cụm được xác định bởi các đối tượng mật độ cao (density attactors),
các đối tượng này là các điểm cực đại của hàm mật độ toàn cục.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
Chưa
đánh
dấuKh
Khoảng cách đến
được mật độ
thứ tự các cụm dữ
liệu
48
Phân cụm dữ liệu trong Dataming
Hàm ảnh hưởng được định nghĩa như sau : Cho x,y là hai đối tượng trong không gian d
chiều Fd
, hàm ảnh hưởng của đối tượng y lên đối tượng x được xác định như sau : f
y
B
:
Fd
→
 Ro
+
, y = f
y
B
(x). Hàm ảnh hưởng là hàm tuỳ chọn, miễn là nó được xác định
bởi khoảng cách d(x,y) của các đối tượng, thí dụ như khoảng cách Euclide. Một số thí
dụ về hàm ảnh hưởng được cho như sau :
 Hàm sóng ngang : )
,
( y
x
f square
=





≤
>
δ
δ
)
,
(
1
)
,
(
0
y
x
d
if
y
x
d
if
, trong đó δ là một
ngưỡng.
 Hàm Gaussian :
e
f
y
x
d
y
x
Gaussian δ
2
2
2
)
,
(
)
,
(
−
=
Hàm mật độ của một đối tượng x ∈ Fd
được tính bằng tổng tất cả các hàm ảnh hưởng
của các đối tượng lên x. Giả sử ta có một tập dữ liệu D={x1, x2, ..., xn}. Hàm mật độ của
x được xác định như sau : ∑
=
=
n
i
B
D
B
x
x
x f
f i
1
)
(
)
( ;
Hàm mật độ được thành lập dựa trên hàm ảnh hưởng Gauss được xác định như sau :
∑
=
−
=
n
i
D
Gauss e
f
xi
x
d
d
1
2
2
2
)
,
(
)
( δ . Thí dụ về kết quả PCDL của thuật toán DENCLUE với hàm
chi phối Gaussian được biểu diễn như hình 21 sau. Các cực đại mật độ là các giá trị tại
đỉnh của đồ thị. Một cụm cho một cực đại mật độ x*
là tập con C, khi các hàm mật độ
tại x*
không bé hơn ξ :
Hình DENCLUE với hàm phân ph Gaussian
Chúng ta thấy rằng, DENCLUE phụ thuộc nhiều vào ngưỡng nhiễu ξ (Noise
Threshold) và tham số mật độ δ , nhưng DENCLUE có các ưu điểm sau :
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
 Có cơ sở toán học vững chắc
 Có khả năng xử lý các phần tử ngoại lai
 Cho phép khám phá ra các cụm với hình thù bất kì ngay cả đối với các dữ liệu
đa chiều
Độ phức tạp tính toán của DENCLUE là O(nlogn). Các thuật toán dựa trên mật độ
không thực hiện kỹ thuật phân mẫu trên tập dữ liệu như trong các thụât toán phân cụm
phân hoạch, vì điều này có thể làm tăng thêm độ phức tạp do có sự khác nhau giữa mật
độ của các đối tượng trong mẫu với mật độ của toàn bộ dữ liệu.
3 Một số thuật tóan phân cụm dữ liệu đặc thù
Một số thuật toán phân cụm áp dụng trong các trường hợp đặc thù như
STING, CLIQUE, EM, ...
3.1Thuật toán STING
STING (STatistical INformation Grid) là thuật toán dựa vào kỹ thuật phân cụm
dựa trên lưới, STING 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. Giá trị của các tham số
thống kê (như các giá trị trung bình, tối thiểu, tối đa) cho các thuộc tính của đối tượng
dữ liệu được tính toán và lưu trữ thông qua các tham số thống kê ở các cell mức thấp
hơn (điều này giống với cây CF). Các đại tham số này bao gổm : tham số đếm count,
tham số trung bình means, tham số tối đa max tham số tối thiểu min, độ lệch chuẩn s,…
.
Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống kê ở
trên được tính trực tiếp thông qua các đối tượng dữ liệu này. Các truy vấn không gian
được thực hiện bằng cách xét các cell thích hợp tại mỗi mức của phân cấp. Một truy
vấn không gian được xác định như là một thông tin khôi phục lại của dữ liệu không
gian và các quan hệ của chúng. STING có khả năng mở rộng cao, nhưng do sử dụng
phương pháp đa phân giải nên nó phụ thuộc chặt chẽ vào trọng tâm của mức thấp nhất.
Đa phân giải là khả năng phân rã tập dữ liệu thành các mức chi tiết khác nhau. Khi hoà
nhập các cell của cấu trúc lưới để hình thành các cụm, các nút của mức con không được
hoà nhập phù hợp (do chúng chỉ tương ứng với các cha của nó) và hình thù của các
cụm dữ liệu khám phá được có các biên ngang và dọc, theo biên của các cell. STING
sử dụng cấu trúc dữ liệu lưới cho phép khả năng xử lý song song, STING duyệt toàn bộ
dữ liệu một lần nên để tính toán các đại lượng thống kê cho mỗi cell nên độ phức tạp
tính toán của STING là O(n), trong đó n là tổng số đối tượng. Sau khi xây dựng cấu
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
trúc dữ liệu phân cấp, thời gian xử lý cho các truy vấn là O(g) với g là tống số cell tại
mức thấp nhất (g<<n).
3.2 Thuật toán CLIQUE
Trong không gian đa chiều, các cụm có thể tồn tại trong tập con của các chiều hay còn
gọi là là không gian con. Thuật toán CLIQUE là thuật toán phân cụm không gian con.
Nó phân hoạch tập dữ liệu thành các hình hộp chữ nhật và tìm các hình hộp chữ nhật
đặc, nghĩa là các hình hộp này chứa một số các đối tượng dữ liệu trong số các đối
tượng láng giềng cho trước. Hợp các hình hộp này tạo thành các cụm dữ liệu. CLIQUE
trước hết tìm các cell đặc đơn chiều, tiếp đến chúng tìm các hình chữ nhật 2 chiều, rồi 3
chiều,…, cho đến khi hình hộp chữ nhật đặc k chiều được tìm thấy. CLIQUE có khả
năng áp ụng tốt đối với dữ liệu đa chiều, nhưng nó lại rất nhạy cảm với thứ tự của dữ
liệu vào, độ phức tạp tính toán của CLIQUE là O(n).
3.3 Thuật toán EM
Thuật toán EM (Expectation -Maximization) được xem như là thuật toán dựa
trên mô hình hoặc là mở rộng của thuật toán k-means. Thật vậy, EM gán các đối tượng
cho các cụm dữ đã cho theo xác suất phân phối thành phần của đối tượng đó. Phân phối
xác suất thường được sử dụng là phân phối xác suất Gaussian với mục đích là khám
phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là là,f logarit khả
năng củ đoói tượng dữ liệu, dây là hàm tốt để mô hình xác suất cho các dối tượng dữ
liệu. EM có khả năng khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời
gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán
của thuật toán là khá cao: có thể nén,có thể sao lưu trong bộ nhớ và có thể hủy bỏ.
Trong các của tiến nàym các đối tượng bị hủy bỏ khi biết chắc chắn được nhãn phân
cụm của nó, chúng được nén khi không được loại bỏ và thuộc về một cụm quá lớn so
với bộ nhớ và chúng sẽ được lưa giữ lại trong các trường hợp còn lại.
Nói tóm lại, do PCDL là một ngành phát triển dựa trên sự kết hợp các khái niệm
của nhiều ngành như : thống kê, nhận dạng mẫu, CSDL, học máy,... nên có nhiều các
phương pháp cũng như thuật toán PCDL. Bảng dữ liệu sau (bảng 2) cho ta thông tin
tổng quan về các đặc tính của các phương pháp và thuật toán PCDL, nhằm làm căn cứ
cho việc lựa chọn phương pháp khi phát triển các ứng dụng.
Thuật toán Tham số vào Thích hợp với Cấu trúc
cụm
Xử lý
phần tử
ngoại lai
Độ phức tạp
tính toán
Phương pháp phân cụm phân hoạch
K-means Số các cụm Các cụm tách rời Hình cầu Không O(Ikn)
PAM Số các cụm Các cụm tách rời, tập dữ Hình cầu Không O(Ik(n-k)2
)
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
liệu nhỏ
CLARA Số các cụm Tập dữ liệu tương đối lớn Hình cầu Không O(ks2
+k(n-k))
CLARANS Số các cụm, số
tối đa các láng
giềng
Tập dữ liệu không gian,
chất lượng các cụm tốt
hơn PAM và CLARA
Hình cầu Không O(kn2
)
Phương pháp phân cụm phân cấp
BIRCH Yếu tố nhánh,
đường kính
cụm
Tập dữ liệu lớn Hình cầu Có O(n)
CURE Số các cụm, số
cụm đại diện
Tập dữ liệu trung bình,
hình dạng các cụm bất kỳ
Bất kỳ Có O(n2
log n)
Phương pháp phân cụm dựa trên mật độ
DBSCAN Bán kính của
cụm, số tối
thiểu các đối
tượng trong
cụm
Các cụm có hình dạng bất
kỳ, tập dữ liệu lớn
Bất kỳ Có O(n log n)
DENCLUE Bán kính của
các cụm, số tối
thiểu các đối
tượng
Các cụm có hình dạng bất
kỳ, tập dữ liệu lớn
Bất kỳ Có O(n log n)
OPTICS Bán kính của
các cụm (min,
max), số tối
thiểu các đối
tượng
Các cụm có hình dạng bất
kỳ, tập dữ liệu lớn
Bất kỳ Có O(n log n)
Các phương pháp phân cụm khác
STING Số các Cell
trong mức thấp
nhất, số các đối
tượng trong
Cell
Tập dữ liệu không gian
lớn
Giới hạn
đứng và
các giới
hạn ngang
Có O(n)
WaveCluster Số các Cell cho
mỗi chiều,
sóng, số ứng
dụng biến đổi
Các cụm có hình dạng bất
kỳ, tập dữ liệu lớn
Bất kỳ Có O(n)
CLIQUE Kích thước của
lưới, số tối
thiểu các điểm
trong mỗi lưới
Tập dữ liệu lớn đa chiều Bất lỳ Có O(n)
Scalable EM Các tham số
Gauss, giới hạn
hội tụ
Tập dữ liệu lớn với phân
phối đồng nhất xấp xỉ
Hình cầu Không O(n)
4 Phân cụm dữ liệu nhờ mạng nơron nhân tạo
Trong lịch sử, bộ não đã từng được xem là một dạng máy tính, và ngược lại.
Tuy nhiên, điều này chỉ đúng theo nghĩa rộng nhất. Máy tính không phải là mô hình
của bộ não (mặc dù có thể mô tả một quá trình suy luận logic như là một chương trình
máy tính, hoặc có thể kích thích não bằng một cái máy tính) do chúng đã không được
chế tạo với mục đích này.
Tuy nhiên, từ xưa, các mạng nơ-ron dùng trong trí tuệ nhân tạo đã được xem là
các mô hình đơn giản của hoạt động thần kinh trong não. Một chủ đề của các nghiên
cứu hiện nay trong ngành thần kinh học lý thuyết là câu hỏi: mạng nơ-ron cần phức tạp
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
đến đâu và cần có những tính chất gì để có thể tái tạo cái gì đó giống như trí thông
minh của con người.
Vì vậy người ta đã mô hình hóa một mạng lưới gồm các dây mô hình như các
dây thần kinh của bộ não con người và cài vào đó những thuật toán để khám phá ra
những tri thức trong kho tàng tri thức của nhân loại. Đó là mạng nơron nhân tạo.
CHƯƠNG 2: MẠNG NƠRON NHÂN TẠO
1. Mạng nơron sinh học
1.1 Khái niệm:
Mạng nơron sinh học: là một mạng lưới (plexus) các nơron kết nối hoặc có liên
quan về mặc chức năng trực thuộc hệ thần kinh ngoại biên (peripheral nerous system)
hay hệ thần kinh trung ương (central nerous system). Trong ngành thần kinh học nó
thường được dùng để chỉ một nhóm nơ-ron thuộc hệ thần kinh là đối tượng nghiên cứu
khoa học nhất định.
1.2Mô hình
Mô hình mạng nơron sinh học
2. Mạng nơron nhân tạo
2.1Khái niệm:
Mạng nơron nhân tạo- ANN (Artifical Neural Network) là một mô phỏng xử lý
thông tin, được nghiên cứu ra từ hệ thống thần kinh của sinh vật, giống như bộ não
để xử lý thông tin. Nó bao gồm một số lượng lớn các mối gắn kết cấp cao để xử lý
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
các yếu tố làm việc trong mối liên hệ giải quyết vấn đề rõ ràng. ANNs giống như
con người, được học bởi kinh nghiệm, lưu những kinh nghiệm hiều biết và sử dụng
trong những tình huống phù hợp.
Đầu tiên ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren
Mcculloch và nhà logic học Walter Pits. Nhưng với những kĩ thuật trong thời gian
này chưa cho phép họ nghiên cứu được nhiều. Những năm gần đây mô phỏng ANN
xuất hiện và phát triển. Các nghiên cứu ứng dụng đã được thực hiện trong các
ngành: điện, điện tử, kĩ thuật chế tạo, y học, quân sự, kinh tế,..và mới nhất là nghiên
cưú ứng dụng trong quản lý dự án xây dựng. Tại Việt Nam việc nghiên cứu ứng
dụng ANN vào quản lý xây dựng chỉ mới bắt đầu trong vài năm gần đây và cần
được phát triển.
Từ đây chúng ta thống nhất với nhau là khi nhắc tới mạng nơ-ron tức là nói mạng
nơ-ron nhân tạo.
Dưới đây là mô hình toán học một mạng nơ-ron nhân tao:
Các tín hiệu vào ( còn gọi là mẫu vào) pi (i=1..R) được đưa tới đầu vào của nơron S tạo
thành ma trận tín hiệu vào P. Mỗi đầu vào của nơron S sẽ có một trọng số kí hiệu là ws,i
(i=1..R) và các trọng số này tạo thành một ma trận trọng số đầu vào W. Mức ngưỡng θ
của nơron có thể được biểu diễn trong mô hình toán học bằng hệ số bias b (gọi là thế
hiệu dịch). Như vậy tín hiệu vào là nnet sẽ được tính theo công thức sau:
b
p
w
p
w
p
w
n R
R
s
s
s
n et +
+
+
+
= ,
2
2
,
1
1
, ... (2.1)
Viết dưới dạng ma trận sẽ là:
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
net
n W
P b
= + b)
f(WP
)
f(n
a net +
=
=
48
Phân cụm dữ liệu trong Dataming
net
n W P b
= + (2.2)
Xem các biểu thức trên thì ta có thể coi hệ số bias như trọng số của một đầu vào với tín
hiệu bằng 1. Có một số loại nơron có thể bỏ qua hệ số bias này.
Hàm kích hoạt (activation function) hay còn gọi là hàm truyền (transfer function)
được kí hiệu là f sẽ biến đổi tín hiệu đầu vào nnet thành tín hiệu đầu ra nơron a. Ta có
biểu thức:
a=f(nnet )=f(WP+b) (2.3)
Thông thường thì hàm kích hoạt sẽ được chọn bởi người thiết kế tuỳ theo mục
đích của mạng. Các trọng số và hệ số bias là các thông số điều chỉnh được của mạng
nơron. Chúng được điều chỉnh bởi một số luật học (learning rule). Như vậy quan hệ
giữa đầu ra và các đầu vào của nơron sẽ tuỳ thuộc vào việc nơron đó được dùng cho
các mục đích cụ thể nào.
2.2Đặc điểm
Thông thường một mạng nơ-ron bao gồm một hoặc nhiều nhóm các nơ-ron kết
nối vật lý với nhau hoặc có liên quan với nhau về chức năng. Một nơ-ron đơn có thể
được nối với nhiều nơ-ron khác và tổng số nơ-ron và kết nối trong một mạng có thể
là một giá trị cực kì lớn. Các kết nối, gọi là các khớp thần kinh (synapses) thường
nối từ các trục (axon) tới các tế bào gai tua thần kinh (dendrite), tuy có thể có các vi
mạch và các kết nối khác. Ngoài tín hiệu điện, còn có các dạng tín hiệu khác phát
sinh từ việc khuếch tán các chất truyền dẫn. Chúng có ảnh hưởng đối với tín hiệu
điện. Do vậy, cũng như các mạng sinh học khác, mạng nơ-ron vô cùng phức tạp.
Trong khi hiện nay, một mô tả chi tiết của hệ thần kinh có vẻ như chưa thể đạt
được, người ta vẫn ngày càng hiểu tốt hơn về các cơ chế cơ bản.
Giữa mạng nơron nhân tạo và mạng nơron sinh học có 3 điểm chung là
•Mạng được xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau
một cách phức tạp và hoạt động theo nguyên tắc song song.
•Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên
trong các phần tử và mức độ liên kết giữa các phần tử.
• Mức độ liên kết giữa các phần tử được xác định thông qua quá trình học của
mạng ( hay còn gọi là quá trình huấn luyện mạng - training).
Điểm khác nhau về căn bản giữa mạng nơron nhân tạo và mạng nơron sinh học là
ở tốc độ tính toán, độ phức tạp và tính song song. Tuy xét về tốc độ xử lý của các máy
tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con người nhưng bộ
não lại có thể đồng thời kích hoạt toàn bộ các nơron để làm nhiều công việc khác nhau.
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
48
Phân cụm dữ liệu trong Dataming
Điều này mạng nơron nhân tạo không thể thực hiện được. Với sự phát triển nhanh
chóng của khoa học như hiện nay thì ta có thể hi vọng sẽ có những bước đột phá mới
trong lĩnh vực mô phỏng mạng nơron sinh học.
2.3Cấu trúc mạng nơ-ron nhân tạo
2.3.1Nút:
Mỗi Neural (nút) là một đơn vị xử lý thông tin của mạng neural, là yếu tố cơ bản để cấu
tạo nên mạng neural.
Cấu trúc 1 nơ-ron
xi: các tín hiệu input
wkp: trọng số của từng input
f(.): hàm hoạt động
yk: kết xuất của Neural
b: thông số ảnh hưởng đến ngưỡng ra của output
Mạng nơron nhân tạo thường được cấu tạo thành các lớp gồm lớp vào (input
layer) , lớp ra (output layer) và các lớp ẩn (hidden layer). Các nơron trong một lớp chỉ
nối với các nơron lớp tiếp theo, không cho phép có các liên kết giữa các nơron trong
cùng một lớp.
Lớp vào là lớp nhận thông tin từ số liệu gốc. Thông tin này được đưa đến đầu
vào của một số hay toàn bộ các nơron của lớp tiếp theo (lớp ẩn). Như vậy mỗi nơron
của lớp ẩn sẽ nhận được tín hiệu của một số các nơron lớp vào. Các giá trị này sẽ được
nhân với hệ số nhân (trọng số) của các nơron ẩn và đưa vào hàm thế sau khớp nối - PSP
(Post Synaptic Potential function) thực hiện chức năng đầu vào để tạo tín hiệu duy nhất
net. Chức năng kích hoạt đầu ra được thực hiện bằng hàm kích hoạt a(.) (activation
function) hay còn gọi là hàm truyền f(.) (transfer function). Hàm này sẽ nhận tín hiệu
đầu vào net để tạo ra tín hiệu đầu ra của nơron (kết xuất của nơron lớp ẩn). Tín hiệu ra
của các nơron ẩn lại được đưa đến các nơron của lớp tiếp theo. Quá trình xử lý tương
tự cho đến khi tín hiệu được đưa ra tại các nơron lớp ra. Đây chính là tín hiệu đầu ra
của mạng. Nó chính là giá trị của các biến cần tìm.
Mạng nơron có thể tổ chức theo kiểu liên kết đầy đủ (fully connected) tức là đầu
ra của các nơron lớp trước sẽ có liên kết với tất cả các nơron ở lớp tiếp theo hoặc ngược
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
wk1
wk2
wk3
∑ F (.)
48
Phân cụm dữ liệu trong Dataming
lại theo kiểu không đầy đủ-mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo
tuỳ theo chức năng của mạng.
2.3.2 Phân loại cấu trúc mạng nơ-ron
 Mạng dẫn tiến một lớp
Đây là cấu trúc mạng neural đơn giản nhất. Mạng neural này chỉ gồm 1 lớp xuất,
không có lớp ẩn.
Input output
Hình: cấu trúc mạng nơ-ron một lớp
 Mạng dẫn tiến nhiều lớp
Hình: Cấu trúc mạng nơ-ron nhiều lớp
Mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp
ẩn. Các lớp ẩn này xen giữa các input bên ngoài và output của mạng. Càng nhiều lớp ẩn
thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và output.
Ngoài ra còn có mạng hồi quy và mạng Neural dạng lưới.
2.3.3 Các hàm hoạt động
Các hàm hoạt động phải có các đặc tinh sau:
- Hàm bị chặn trên và chặn dưới
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
neuron
neuron
neuron
neuron
48
Phân cụm dữ liệu trong Dataming
- Hàm có tính đơn điệu
- Hàm phải có tính liên tục và trơn
Trong thực tế thông thường người ta thường chọn các hàm sau:
a. Hàm Threhold
1 nếu u > 0
f (u) =
0 nếu u < 0
b. Hàm piecewwise – linear
1 nếu u > 1/2
f (u) = u nếu 1/2 > u > -1/2
0 nếu u < -1/2
c. Hàm sigmoid (logistic)
f (u) = 1
1 + exp (-au)
d. Hàm tang- hyperbol
f (u) = tanh (u) = eu
– e-u
eu
+ e-u
2.4 Kiến trúc mạng nơ-ron
Mạng nơron nhân tạo như đã giới thiệu ở trên là sự liên kết của các nơron nhân
tạo. Sự xắp xếp bố trí các nơron và cách thức liên hệ giữa chúng tạo nên kiến trúc mạng
nơron. Theo cách sắp xếp nơron thì có kiểu kiến trúc một lớp (single layer) và kiến trúc
đa lớp (Multiple layer), còn theo cách liên hệ giữa các nơron thì ta có kiến trúc mạng
truyền thẳng (feedforward) và kiến trúc mạng hồi qui (recurrent). Ngoài ra còn một loại
liên kết theo sự phân bố của các nơron trong không gian hai chiều trong một lớp, gọi là
liên kết bên (lateral connection). Với loại liên kết bên này, Kohonen đã tạo ra loại mạng
tự tổ chức (Self-Organizing Neural Network).
 Theo số lớp
Nếu xét về số lớp thì mạng có cấu trúc là mạng nơron một lớp và mạng nơron
nhiều lớp
Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf
PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf

More Related Content

What's hot

Data mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụngData mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụngPhien Le
 
4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptx4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptxMUyn25
 
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨMPHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨMSoM
 
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdfNghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdfMan_Ebook
 
Ứng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàng
Ứng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàngỨng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàng
Ứng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàngnataliej4
 
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)Trieu Nguyen
 
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...nataliej4
 
Tổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoSTổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoSThieu Mao
 
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử líTiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử líKhoa Hồ Anh
 
Quản lý quan hệ khách hàng
Quản lý quan hệ khách hàngQuản lý quan hệ khách hàng
Quản lý quan hệ khách hàngAn Nguyen
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
 
Báo cáo dự án quản lí thư viện
Báo cáo dự án quản lí thư việnBáo cáo dự án quản lí thư viện
Báo cáo dự án quản lí thư việnQuân Không Quần
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngJojo Kim
 
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfCÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfMan_Ebook
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinVõ Phúc
 

What's hot (20)

Data mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụngData mining - Luật kết hợp và ứng dụng
Data mining - Luật kết hợp và ứng dụng
 
4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptx4 - Phan lop du lieu-Final.pptx
4 - Phan lop du lieu-Final.pptx
 
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨMPHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
PHÂN CỤM DỮ LIỆU ỨNG DỤNG TRONG PHÂN TÍCH DỮ LIỆU CÔNG THỨC DƯỢC PHẨM
 
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdfNghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
 
Ứng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàng
Ứng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàngỨng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàng
Ứng dụng mô hình CSDL phân tán giải quyết bài toán quản lý bán hàng
 
Đề tài: Áp dụng kỹ thuật trong Big data vào lưu trữ dữ liệu, HOT
Đề tài: Áp dụng kỹ thuật trong Big data vào lưu trữ dữ liệu, HOTĐề tài: Áp dụng kỹ thuật trong Big data vào lưu trữ dữ liệu, HOT
Đề tài: Áp dụng kỹ thuật trong Big data vào lưu trữ dữ liệu, HOT
 
Luận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAY
Luận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAYLuận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAY
Luận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAY
 
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
TỔNG QUAN VỀ DỮ LIỆU LỚN (BIGDATA)
 
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT. Giảng viên : PGS.TS. HUỲNH CÔNG ...
 
Tổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoSTổng quan về DoS - DDoS - DRDoS
Tổng quan về DoS - DDoS - DRDoS
 
Đề tài: Thiết kế hệ thống thông tin quản lý phân phối Gas, HOT
Đề tài: Thiết kế hệ thống thông tin quản lý phân phối Gas, HOTĐề tài: Thiết kế hệ thống thông tin quản lý phân phối Gas, HOT
Đề tài: Thiết kế hệ thống thông tin quản lý phân phối Gas, HOT
 
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử líTiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
Tiền xử lí dữ liệu bằng weka và lập trình tiền xử lí
 
Quản lý quan hệ khách hàng
Quản lý quan hệ khách hàngQuản lý quan hệ khách hàng
Quản lý quan hệ khách hàng
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
Báo cáo dự án quản lí thư viện
Báo cáo dự án quản lí thư việnBáo cáo dự án quản lí thư viện
Báo cáo dự án quản lí thư viện
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thống
 
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdfCÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG  DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
CÁC BÀI TOÁN KHAI PHÁ DỮ LIỆU VÀ ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU.pdf
 
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải PhòngĐề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
Đề tài: Hệ thống hỗ trợ điểm danh sinh viên trường ĐH Hải Phòng
 
Giáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tinGiáo trình phân tích thiết kế hệ thống thông tin
Giáo trình phân tích thiết kế hệ thống thông tin
 

Similar to PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf

TÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdf
TÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdfTÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdf
TÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdfMan_Ebook
 
GIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docx
GIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docxGIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docx
GIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docxTopSKKN
 
He ho tro quyet dinh
He ho tro quyet dinhHe ho tro quyet dinh
He ho tro quyet dinhIT
 
Dm -chapter_1_-_overview_0
Dm  -chapter_1_-_overview_0Dm  -chapter_1_-_overview_0
Dm -chapter_1_-_overview_0Phi Phi
 
Khai_pha_d_liu_Data_mining.pdf
Khai_pha_d_liu_Data_mining.pdfKhai_pha_d_liu_Data_mining.pdf
Khai_pha_d_liu_Data_mining.pdfTri Huynh Minh
 
Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành
Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành
Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành nataliej4
 
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdfĐồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdfNuioKila
 
Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...
Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...
Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
Information system introduction
Information system introductionInformation system introduction
Information system introductionTuan Nguyen Van
 
PhanTichThietKeHeThongTT -CHUONG -1.pptx
PhanTichThietKeHeThongTT -CHUONG -1.pptxPhanTichThietKeHeThongTT -CHUONG -1.pptx
PhanTichThietKeHeThongTT -CHUONG -1.pptxDuyNhatNguyen3
 
Bài giảng hệ thống thông tin quản lý 2016
Bài giảng hệ thống thông tin quản lý 2016Bài giảng hệ thống thông tin quản lý 2016
Bài giảng hệ thống thông tin quản lý 2016hung le
 
Chuong trinh hoc phan phan tich thiet ke httt
Chuong trinh hoc phan phan tich thiet ke htttChuong trinh hoc phan phan tich thiet ke httt
Chuong trinh hoc phan phan tich thiet ke htttlvtoi1403
 

Similar to PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf (20)

TÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdf
TÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdfTÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdf
TÌM HIỂU và THỬ NGHIỆM THUẬT TOÁN KHAI PHÁ dữ LIỆU GSP.pdf
 
Luan van
Luan vanLuan van
Luan van
 
GIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docx
GIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docxGIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docx
GIÁO ÁN TIN HỌC 6 KẾT NỐI TRI THỨC.docx
 
Luận văn: Nghiên cứu và cài đặt một số đối tượng phân cụm, phân lớp
Luận văn: Nghiên cứu và cài đặt một số đối tượng phân cụm, phân lớpLuận văn: Nghiên cứu và cài đặt một số đối tượng phân cụm, phân lớp
Luận văn: Nghiên cứu và cài đặt một số đối tượng phân cụm, phân lớp
 
He ho tro quyet dinh
He ho tro quyet dinhHe ho tro quyet dinh
He ho tro quyet dinh
 
Dm -chapter_1_-_overview_0
Dm  -chapter_1_-_overview_0Dm  -chapter_1_-_overview_0
Dm -chapter_1_-_overview_0
 
Đồ-Án-1.docx
Đồ-Án-1.docxĐồ-Án-1.docx
Đồ-Án-1.docx
 
C1
C1C1
C1
 
Khai_pha_d_liu_Data_mining.pdf
Khai_pha_d_liu_Data_mining.pdfKhai_pha_d_liu_Data_mining.pdf
Khai_pha_d_liu_Data_mining.pdf
 
Ứng Dụng Random Forest Để Tư Vấn Chọn Lộ Trình Học Trong Học Chế Tín Chỉ.doc
Ứng Dụng Random Forest Để Tư Vấn Chọn Lộ Trình Học Trong Học Chế Tín Chỉ.docỨng Dụng Random Forest Để Tư Vấn Chọn Lộ Trình Học Trong Học Chế Tín Chỉ.doc
Ứng Dụng Random Forest Để Tư Vấn Chọn Lộ Trình Học Trong Học Chế Tín Chỉ.doc
 
Giao trinhpttkhttt
Giao trinhpttkhtttGiao trinhpttkhttt
Giao trinhpttkhttt
 
Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành
Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành
Các Hệ Thống Quản Lý Tri Thức Và Các Hệ Thống Thông Tin Chuyên Ngành
 
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdfĐồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
Đồ Án Phân Tích Và Thiết Kế Hệ thống Thông Tin Quản Lý Giảng Viên.pdf
 
Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...
Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...
Ứng Dụng Khai Phá Dữ Liệu Xây Dựng Hệ Thống Trợ Giúp Phòng, Chống Và Giảm Nhẹ...
 
Information system introduction
Information system introductionInformation system introduction
Information system introduction
 
PhanTichThietKeHeThongTT -CHUONG -1.pptx
PhanTichThietKeHeThongTT -CHUONG -1.pptxPhanTichThietKeHeThongTT -CHUONG -1.pptx
PhanTichThietKeHeThongTT -CHUONG -1.pptx
 
Bài giảng hệ thống thông tin quản lý 2016
Bài giảng hệ thống thông tin quản lý 2016Bài giảng hệ thống thông tin quản lý 2016
Bài giảng hệ thống thông tin quản lý 2016
 
Chuong trinh hoc phan phan tich thiet ke httt
Chuong trinh hoc phan phan tich thiet ke htttChuong trinh hoc phan phan tich thiet ke httt
Chuong trinh hoc phan phan tich thiet ke httt
 
Luận văn: Tìm hiểu giải thuật tìm kiếm cộng đồng trong mạng xã hội
Luận văn: Tìm hiểu giải thuật tìm kiếm cộng đồng trong mạng xã hộiLuận văn: Tìm hiểu giải thuật tìm kiếm cộng đồng trong mạng xã hội
Luận văn: Tìm hiểu giải thuật tìm kiếm cộng đồng trong mạng xã hội
 
Giao an10
Giao an10Giao an10
Giao an10
 

More from Man_Ebook

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfMan_Ebook
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docMan_Ebook
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfMan_Ebook
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfMan_Ebook
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfMan_Ebook
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfMan_Ebook
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfMan_Ebook
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfMan_Ebook
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdfMan_Ebook
 

More from Man_Ebook (20)

BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdfBÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
BÀI GIẢNG MÔN HỌC CƠ SỞ NGÔN NGỮ, Dùng cho hệ Cao đẳng chuyên nghiệp.pdf
 
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.docTL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
TL Báo cáo Thực tập tại Nissan Đà Nẵng.doc
 
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdfGiáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
Giáo trình thực vật học 2 - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdfGiáo trình mô động vật - Trường ĐH Cần Thơ.pdf
Giáo trình mô động vật - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ hệ thống A - Trường ĐH Cần Thơ.pdf
 
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdfGiáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
Giáo trình ngôn ngữ mô hình hóa UML - Trường ĐH Cần Thơ.pdf
 
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdfGiáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
Giáo trình nguyên lý máy học - Trường ĐH Cần Thơ.pdf
 
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdfGiáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
Giáo trình mô hình hóa quyết định - Trường ĐH Cần Thơ.pdf
 
Giáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdfGiáo trình Linux và phần mềm nguồn mở.pdf
Giáo trình Linux và phần mềm nguồn mở.pdf
 
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdfGiáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
Giáo trình logic học đại cương - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdfGiáo trình lý thuyết điều khiển tự động.pdf
Giáo trình lý thuyết điều khiển tự động.pdf
 
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdfGiáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
Giáo trình mạng máy tính - Trường ĐH Cần Thơ.pdf
 
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdfGiáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
Giáo trình lý thuyết xếp hàng và ứng dụng đánh giá hệ thống.pdf
 
Giáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdfGiáo trình lập trình cho thiết bị di động.pdf
Giáo trình lập trình cho thiết bị di động.pdf
 
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình web  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình web - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình .Net  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình .Net - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song  - Trường ĐH Cần Thơ.pdfGiáo trình lập trình song song  - Trường ĐH Cần Thơ.pdf
Giáo trình lập trình song song - Trường ĐH Cần Thơ.pdf
 
Giáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdfGiáo trình lập trình hướng đối tượng.pdf
Giáo trình lập trình hướng đối tượng.pdf
 
Giáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdfGiáo trình lập trình hướng đối tượng Java.pdf
Giáo trình lập trình hướng đối tượng Java.pdf
 
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdfGiáo trình kỹ thuật phản ứng  - Trường ĐH Cần Thơ.pdf
Giáo trình kỹ thuật phản ứng - Trường ĐH Cần Thơ.pdf
 

Recently uploaded

ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...ThunTrn734461
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNguyễn Đăng Quang
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxAnAn97022
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfVyTng986513
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 

Recently uploaded (20)

ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
QUẢN LÝ HOẠT ĐỘNG GIÁO DỤC KỸ NĂNG SỐNG CHO HỌC SINH CÁC TRƯỜNG TRUNG HỌC CƠ ...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdfNQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
NQA Lợi ích Từ ISO và ESG Tăng Trưởng và Bền Vững ver01.pdf
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
powerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptxpowerpoint lịch sử đảng cộng sản việt nam.pptx
powerpoint lịch sử đảng cộng sản việt nam.pptx
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
Sáng kiến Dạy học theo định hướng STEM một số chủ đề phần “vật sống”, Khoa họ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdfchuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
chuong-7-van-de-gia-dinh-trong-thoi-ky-qua-do-len-cnxh.pdf
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 

PHÂN CỤM DỮ LIỆU TRONG DATAMING.pdf

  • 1. 48 Phân cụm dữ liệu trong Dataming MỤC LỤC Chương 1: PHÂN CỤM DỮ LIỆU 1. Khai phá dữ liệu và phân cụm dữ liệu 1.1 Khai phá dữ liệu 1.1.1 Giới thiệu chung 1.1.2 Khai phá dữ liệu là gì 1.2 Quá trình khai phá tri thức trong cơ sơ dữ liệu 1.3 Các dạng dữ liệu có thể khai phá được 1.3.1 Phân cụm dữ liệu 1.3.2 Các đặc trưng cơ bản để phân cụm 2. Các phương pháp phân cụm dữ liệu 2.1 Phương pháp dựa trên phân hoạch 2.1.1 Phương pháp gom cụm k-means 2.1.2 Thuật toán PAM 2.1.3 Thuật toán CLARA 2.1.4 Thuật toán CLARANS 2.1.5 Nhận xét chung về các thuật toán phân hoạch 2.2 Phương pháp dựa trên phân cấp 2.2.1 Thuật toán BIRCH 2.2.2 Thuật toán CURE 2.3 Phương pháp dựa trên mật độ 2.3.1 Thuật toán DBSCAN 2.3.2 Thuật toán OPTICS Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 2. 48 Phân cụm dữ liệu trong Dataming 3. Một số thuật toán phân cụm dữ liệu đặc thù 3.1 Thuật toán STING 3.2 Thuật toán CRIQUE 3.3 Thuật toán EM 4. Phân cụm dữ liệu nhờ mạng nơ-ron Chương 2: MẠNG NƠ-RON NHÂN TẠO 1. Mang nơ-ron sinh học 1.1 Khái niệm 1.2 Mô hình 2. Mạng nơ-ron nhân tạo 2.1 Khái niệm 2.2 Đặc điểm 2.3 Cấu trúc mạng nơ-ron nhân tạo 2.3.1 Nút 2.3.2 Phân loại cấu trúc mạng nơ-ron 2.3.3 Các hàm hoạt động 2.4 Kiến trúc mạng nơ-ron 2.5 Một số ứng dụng của mạng nơ-ron 2.5.1 Mạng nơ-ron trong phân lớp 2.5.2 Mạng nơ-ron trong nhận dạng 2.5.3 Mạng nơ-ron trong dự báo 2.5.4 Mạng nơ-ron và tối ưu 2.6 Tiến trình học Chương 3: SOM VÀ THUẬT TOÁN HUẤN LUYỆN MẠNG NÀY Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 3. 48 Phân cụm dữ liệu trong Dataming Lời mở đầu Ngày nay, cùng với sự phát triển mạnh mẽ của công nghệ phần cứng và truyền thông, các hệ thống dữ liệu phục vụ cho các lĩnh vực kinh tế - xã hội cũng không ngừng tăng lên, lượng dữ liệu được tạo ra ngày càng lớn. Sự phong phú về dữ liệu, thông tin cùng với khả năng kịp thời khai thác chúng đã mang đến những năng suất và chất lượng mới cho công tác quản lý, hoạt động kinh doanh,…Nhưng rồi các yêu cầu về thông tin trong các lĩnh vực hoạt động đó, đặc biệt trong lĩnh vực ra làm quyết định, ngày càng đòi hỏi cao hơn, người quyết định không những cần dữ liệu mà còn cần có thêm nhiều hiểu biết, nhiều tri thức để hỗ trợ cho việc ra quyết định của mình. Cho đến những năm 90 của thế kỷ trước, nhu cầu khám phá tri thức mới thực sự bùng nổ, theo đó, hàng loạt các lĩnh vực nghiên cứu về tổ chức các kho dữ liệu và kho thông tin, các hệ trợ giúp quyết định, các thuật toán nhận dạng mẫu và phân lớp mẫu, …và đặc biệt là khai phá dữ liệu (Data Mining) ra đời. Từ khi ra đời, khai phá dữ liệu đã trở thành một trong những hướng nghiên cứu phổ biến trong lĩnh vực khoa học máy tính và công nghệ tri thức. Nhiều kết quả nghiên cứu, ứng dụng của khai phá dữ liệu trong các lĩnh vực khoa học, kinh tế, xã hội. Khai phá dữ liệu bao hàm nhiều hướng nghiên cứu quan trọng, một trong số đó là phân cụm dữ liệu (Data Clustering). Phân cụm dữ liệu là quá trình tìm kiếm và phát hiện ra các cụm hoặc các mẫu dữ liệu tự nhiên trong cơ sở dữ liệu lớn. Các kỹ thuật chính được áp dụng trong phân cụm dữ liệu phần lớn được kế thừa từ lĩnh vực thống liệu cho việc giải quyết các vấn đề trong các lĩnh vực như tài chính, thông tin địa lý, sinh học, nhận dạng ảnh,… Trong thời gian gần đây, trong lĩnh vực phân cụm dữ liệu, người ta tập trung chủ yếu vào nghiên cứu, phân tích các mô hình dữ liệu phức tạp như dữ liệu văn bản, Web, hình ảnh,…và đặc biệt là mô hình dữ liệu hỗn hợp để áp dụng chúng trong phân cụm dữ liệu. Chương 1: PHÂN CỤM DỮ LIỆU 1. Khai phá dữ liệu và phân cụm dữ liệu 1.1. Khai phá dữ liệu 1.1.1 Giới thiệu chung Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 4. 48 Phân cụm dữ liệu trong Dataming Những năm 60 của thế kỉ trước, người ta bắt đầu sử dụng các công cụ tin học để tổ chức và khai thác các cơ sở dữ liệu. Cùng với sự phát triển vượt bậc của các công nghệ điện tử và truyền thông, khả năng thu thập, lưu trữ và xử lí dữ liệu cho các hệ thống tin học không ngừng được nâng cao, theo đó lượng thông tin được lưu trữ trên các thiết bị nhớ không ngừng được tăng lên. Thống kê sơ bộ cho thấy, lượng thông tin trên các hệ thống tin học cứ sau 20 tháng lại tăng lên gấp đôi. Cuối thập kỉ 80 của thế kỉ XX, sự phát triển rộng khắp của các cơ sở dữ liệu ở mọi quy mô đã tạo sự bùng nổ thông tin trên toàn cầu. Vào thời gian này, người ta bắt đầu đề cập đến khái niệm phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho người làm quyết định trong các tổ chức tài chính, thương mại, khoa học,… Đúng như John Naisbett đã cảnh báo “Chúng ta chìm ngập trong dữ liệu mà vẫn đói tri thức”. Lượng dữ liệu khổng lồ này thực sự là nguồn tài nguyên có nhiều giá trị bởi thông tin là yếu tố then chốt trong mọi hoạt đọng quản lý, kinh doanh, phát triển sản xuất và dịch vụ,…nó giúp những người điều hành và quản ly có nhiều hiểu biết về môi trường và tiến trình hoạt động của tổ chức mình trước khi ra quyết định để tác động đến quá trình hoạt động nhằm đạt được cá mục tiêu một cách hiệu quả và bền vững. Khai phá dữ liệu (Data mining), là một lĩnh vực mới xuất hiện, nhằm tự động khai thác những thông tin, những tri thức có tính tiềm ẩn, hữu ích từ những cơ sơ dữ liệu lớn cho các đơn vị, tổ chức, doanh nghiệp,…từ đó làm thức đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này. Các kết quả khoa học cùng những ứng dụng thành công trong khám phá tri thức, cho thấy khai phá dữ liệu là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, động thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống. Hiện nay, khai phá dữ liệu đã ứng dụng ngày càng rộng rãi trong các lĩnh vực như: thương mại, tài chính, điều trị y học, viễn thông, tin- sinh,… 1.1.2 Khai phá dữ liệu là gì? Khai phá dữ liệu là một hướng nghiên cứu mới ra đời hơn một thập niên trở lại đây, các kĩ thuật chính được áp dụng trong lĩnh vực này phần lớn được thừa kế từ lĩnh vực cơ sơ dữ liệu, máy học, trí tuệ nhân tạo, lý thuyết thông tin, xác suất thống kê, và tính toán hiệu năng cao. Do sự phát triển nhanh của khai phá dữ liệu về phạm vi ứng dụng và các phương pháp tìm kiếm tri thức, nên đã có nhiều quan điểm khác nhau về khai phá dữ liệu. Tuy nhiên ở mức độ trừu tượng nhất định chúng ta định nghĩa khai phá dữ liệu như sau: Định nghĩa: Khai phá dữ liệu là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu dụng trong cơ sơ dữ liệu lớn. Khai phá tri thức trong cơ sơ dữ liệu (Knowledge Discovery in Database - KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái niệm khai phá dữ liệu và KDD Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 5. 48 Phân cụm dữ liệu trong Dataming được các nhà khoa học trên hai lĩnh vực xem là tương đương nhau. Thế nhưng nếu phân chia một cách chi tiết thì khai phá dữ liệu là một bước chính trong quá trình KDD. 1.2Quá trình khai phá tri thức trong cơ sơ dữ liệu Khai phá tri thức trong cơ sơ dữ liệu, KDD, là lĩnh vực liên quan đến các ngành như: thống kê, học máy, cơ sơ dữ liệu, thuật toán, trực quan hóa dữ liệu, tính toán song song và hiệu năng cao,.. Quá trình KDD có thể phân chia thành các giai đoạn sau:  Trích chọn dữ liệu: là bước trích chọn những tập dữ liệu cần được khai phá từ các tập dữ liệu lớn (database, data warehouse, data repositories) ban đầu theo một số tiêu chí nhất định.  Tiền xử lí dữ liệu: là bước làm sạch dữ liệu (xử lí dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán, …) rút gọn dữ liệu, sử dụng hàm nhóm và tính tổng, các phương pháp nén dữ liệu, sử dụng histograms, lấy mẫu,…, rời rạc hóa dữ liệu (rời rạc hóa vào histograms, dựa vào entropy, dựa vào phân khoảng,…). Sau bước này dữ liệu sẽ nhất quán, đầy đủ, được rút gọn và được rời rạc hóa.  Biến đổi dữ liệu: đây là bước chuẩn hóa và làm mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kĩ thuật khai phá ở bước sau.  Khai phá dữ liệu: đây là bước áp dụng các kĩ thuật phân tích (phần nhiều là các kĩ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn những mẫu thông tin, những mối liên hệ đặc biệt trong dữ liệu. Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của toàn quá trình khai phá tri thức.  Đánh giá và biểu diễn tri thức: những mẫu thông tin và mối liên hệ trong dữ liệu đã được khai phá ở bước trên được chuyển dạng và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị, cây, bảng biểu, luật,…Đồng thời bước này cũng đánh giá những tri thức khai phá được theo những tiêu chí nhất định. Các giai đoạn trong KDD được thể hiện trực quan trong hình 1.1 dưới đây: Hình 1-1. Các bước thực hiện trong quá trình khai phá tri thức 1.2Các kĩ thuật áp dụng trong khai phá dữ liệu. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN Dữ liệu thô trích chọn dữ liệu Dữ liệu Tiền xử lý dữ liệu Dữ liệu Tiền xử lý Biến đổi dữ liệu Khai phá dữ liệu Các mẫu Đánh giá và giải thích Biểu diễn tri thức Tri thức
  • 6. 48 Phân cụm dữ liệu trong Dataming Khai phá tri thức trong cơ sơ dữ liệu là một lĩnh vực liên ngành, bao gồm: tổ chức dữ liệu, học máy, trí tuệ nhân tạo và các khoa học khác. Nếu theo quan điểm của học máy (Machine Learning), thì các kĩ thuật trong khai phá dữ liệu bao gồm: • Học có giám sát (Surpervised learning): là một quá trình gán nhãn cho các phần tử trong cơ sơ dữ liệu dựa trên một tập các ví dụ huấn luyện và các thông tin có nhãn lớp đã biết. • Học không có giám sát (Unsupervised learning): là quá trình phân chia một tập dữ liệu thành các lớp hay các cụm (clustering) dữ liệu tương tự nhau mà chưa được biết trước các thông tin về lớp hay tập các ví dụ huấn luyện. • Học nửa giám sát (semi-Surpervised learning): là quá trình phân chia một tập dữ liệu thành các lớp dựa trên một tập nhỏ các mẫu ví dụ huấn luyện và một số các thông tin về một số nhãn đã biết trước. Nếu căn cứ vào lớp các bài toán cần giải quyết, thì khai phá dữ liệu bao gồm các kĩ thuật áp dụng sau: • Phân lớp và dự đoán (classification and prediction): xếp một đối tượng vào một trong những lớp đã biết trước. Ví dụ, phân lớp các dữ liệu bệnh nhân trong hồ sơ bệnh án. Hướng tiếp cận này sử dụng một số kĩ thuật của học máy như cây quyết đinh (decision tree), mạng nơ-ron nhân tạo,… Phân lớp và dự báo còn được gọi là học có giám sát. • Luật kết hợp (asssociation rules): là dạng luật biểu diễn tri thức ở dạng khá đơn giản. Ví dụ, “60% nữ giới vào siêu thị mua phấn thì có 80% trong số họ sẽ mua thêm son”. Luật kết hợp được ứng dụng nhiều trong kinh doanh, y học, tin sinh, tài chính và thị trường chứng khoán,… • Phân tích chuỗi theo thời gian (sequential temporal patterns): tương tự như khai phá luật kết hợp nhưng có thêm tính tương tự và tính thời gian. Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao. • Phân cụm (Clustering/ segmentation): xếp các đối tượng theo từng cụm dữ liệu tự nhiên. Phân cụm còn được gọi là học không có giám sát. • Mô tả khái niệm (concept desription and summarization): thiên về mô tả tổng hợp và tóm tắt khái niệm. Ví dụ, tóm tắt văn bản. 1.3Các dạng dữ liệu có thể khai phá được Do khai phá dữ liệu được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau. Một số dạng dữ liệu điển hình: cơ sơ dữ liệu quan hệ, cơ sơ dữ liệu đa chiều (multidimensional structures, data warehouse), cơ sơ dữ liệu dạng giao dịch, cơ sơ dữ liệu đa phương tiện, dữ liệu text và web,… 1.3.1 Phân cụm dữ liệu a. Mục đích của phân cụm dữ liệu. Phân loại là một trong những hành vi nguyên thủy nhất của con người nhằm nắm giữ lượng thông tin khổng lồ họ nhận được hằng ngày. Vì sự xử lý mọi thông tin như một thực thể đơn lẻ là không thể. Phân cụm dữ liệu nhằm mục đích chính là khai phá cấu trúc của mẫu dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN S S S S
  • 7. 48 Phân cụm dữ liệu trong Dataming cho phép người ta đi xâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm khai phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho ra quyết định. Trong thời đại bùng nổ của công nghệ thông tin hiện nay, mạng máy tính đóng vai trò ngày càng quan trọng hơn trong hoạt động của tổ chức, doanh nghiệp cũng như các cơ quan nhà nước. Thậm chí ở một số đơn vị chẳng hạn như công ty hàng không hoặc các ngân hàng lớn, mạng máy tính có thể ví như hệ thần kinh điều khiển các hoạt động của toàn doanh nghiệp. Sự ngừng hoạt động của mạng máy tính trong những cơ quan này cps thể làm tê liệt các hoạt động chính của đơn vị, và thiệt hại khó có thể lường trước được. Chúng ta đều biết máy chủ là trái tim của mạng máy tính, nếu máy chủ mạng hỏng, các hoạt động của hệ thống sẽ bị ngưng trệ. Điều đáng tiếc là dù các hãng sản xuất đã cố gắng làm mọi cách để nâng cao chất lượng của các thiết bị, nhưng những hỏng hóc đối với các thiết bị mạng nói chung là các maý chủ nói riêng là điều không thể tránh khỏi. Do vậy vấn đề đặt ra là cần có một giải pháp đảm bảo cho hệ thống vẫn hoạt động tốt ngay cả khi có sự cố xảy ra đối với máy chủ mạng, và công nghệ clustering (bó) là câu trả lời cho vấn đề này. Một vài ví dụ về ý nghĩa thực tiễn của phân cụm như sau: - Khám phá ra các vị trí địa lý thuận lợi cho việc xây dựng các kho hàng phục vụ mua hàng của một công ty thương mại. - Xác định các cụm ảnh như ảnh của các loại động vật như chim, thú,…trong tập cơ sơ dữ liệu ảnh về động vật nhằm phục vụ cho việc tìm kiếm ảnh. - Xác định các nhóm người bệnh nhằm cung cấp thông tin cho việc phân phối các thuốc điều trị trong y tế - Xác định các nhóm khách hàng trong cơ sơ dữ liệu ngân hàng có vốn các đầu tư vào bất động sản cao… Như vậy phân cụm dữ liệu là một phương pháp xử lí thông tin quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức chúng thành các cụm tương tự. Thuật ngữ phân cụm được hiểu là phân cụm dữ liệu. Clustering là một kiến trúc nhằm đảm bảo nâng cao khả năng sẵn sàng cho các hệ thống mạng máy tình. Clustering cho phép sử dụng nhiều máy chủ kết hợp với nhau tạo thành một cụm (cluster) có khả năng chịu đựng hay chấp nhận sai sót (fault- tolerant) nhằm nâng cao tính sẵn sàng của hệ thống mạng. Cluster là một hệ thống bao gồm nhiều máy chủ được nối với nhau theo dạng song song hay phân tán và được sử dụng như một tài nguyên thống nhất. Nếu một máy chủ ngừng hoạt động do bị sự cố hoặc để nâng cấp, hoặc bảo trì thì toàn bộ công việc mà máy chủ này đảm nhiệm sẽ được tự động chuyển sang cho máy chủ khác (trong cùng một cụm) mà không làm cho hoạt động của hệ thống bị ngắt hay gián đoạn. Quá trình này gọi là “fail- over” và việc phục hồi tài nguyên của một máy chủ trong hệ thống (cluster) được gọi là “fail- back”. Việc thiết kế và lắp đặt các cluster cần thỏa mãn các yêu cầu sau: • Yêu cầu tính sẵn sàng cao (availability). Các tài nguyên mạng phải luôn sẵn sàng trong khả năng cao nhất để cung cấp và phục các người dùng cuối và giảm thiếu sự ngưng hoạt động hệ thống ngoài ý muốn. • Yêu cầu về độ tin cậy cao (reliability): độ tin cậy cao của cluster được hiểu là khả năng giảm thiểu tần số xảy ra các sự cố, và nâng cao khả năng chịu đựng sai sót của hệ thống. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN S S S S
  • 8. 48 Phân cụm dữ liệu trong Dataming • Yêu cầu về khả năng mở rộng được (scalability). Hệ thống phải có khả năng dễ dàng cho việc nâng cấp, mở rộng trong tương lai. Việc nâng cấp mở rộng bao hàm cả việc thêm các thiết bị, máy tính vào hệ thống để nâng cao chất lượng dịch vụ, cũng như việc thêm số lượng người dùng, thêm ứng dụng, dịch vụ và thêm các tài nguyên mạng khác. Ba yêu cầu trên được gọi tắt là RAS (Reliability- Availability- Scalability), những hệ thống đáp ứng được ba yêu cầu trên được gọi là hệ thống RAS (cần phân biệt với Remote Access Service là dịch vụ truy cập từ xa). Cũng cần chú ý rằng hiệu quả hoạt động của hệ thông Clustering phụ thuộc vào sự tương thích giữa các ứng dụng và dịch vụ, giữa phần cứng và phần mềm. Ngoài ra kĩ thuật Clustering không thể chống lại các sự cố do virus, sai sót của phần mềm hay các sai sót của người sử dụng. Để chống lại các sự cố này cần xây dựng một cơ sơ dữ liệu được bảo vệ chắc chắn cũng như có các kế hoạch khôi phục, back up dữ liệu. 1.3.2 Các đặc trưng cơ bản để phân cụm • Chọn lựa đặc trưng: các đặc trưng phải được lựa chọn một cách hợp lí để có thể “mã hóa ” 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à 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 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 đặ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. • 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ủ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 tập dữ liệu có hay không một cấu trúc phân cụm. Ví dụ như một 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âm cụm đều vô nghĩa. Các lựa chọn khac 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 qủa khác 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 các chuyên gia. Vì vậy tính chủ quan (của chuyên gia) là một thực tế mà ta phải chấp nhận. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN Data * ** ** * * * ** * * ** * * ** * * ** * ** * ** * * * * * Data for process Algorithm results Final Clusters Knowledge Lựa chọn đặc trưng Lựa chọn thuật toán phân cụm Công nhận kết quả Giải thích kết quả
  • 9. 48 Phân cụm dữ liệu trong Dataming Hình 1-2. Các bước trong quá trình phân cụm 2. Các phương pháp phân cụm dữ liệu 2.1 Các phương pháp dựa trên phân hoạch Phương pháp phân hoạch: tạo một phân hoạch của cơ sơ dữ liệu D chứa n đối tượng thành tập gồm k cụm sao cho: • Mỗi cụm chứa ít nhất là một đối tượng • Mỗi đối tượng thuộc về đúng một cụm Cho k, tìm một phân hoạch có k cụm nhằm tối ưu tiêu chuẩn phân cụm được chọn. Tiêu chuẩn suy đoán chất lượng phân hoạch Tối ưu toàn cụn: liệt kê theo hướng vét cạn tất cả các phân hoạch. Các phương pháp: o Phương pháp k-means (MacQueen’ 67): mỗi cụm được đại diện bằng tâm của cụm (centroid). o k- medoids (Kuafman & Roosseew’87): mỗi cụm được đại diện bằng một trong các đối tượng của cụm (medoids) 2.1.1 Phương pháp gom cụn k- means Trọng tâm của một cụm là một véc tơ, trong đó giá trị của mỗi phần tử của nó là trung bình cộng của các thành phần tương ứng của các đối tượng vectơ dữ liệu trong cụm đang xét. Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu. Độ đo khoảng cách D giữa các đối tượng dữ liệu thường được sử dụng dụng là khoảng cách Euclide, bởi vì đây là mô hình khoảng cách dễ để lấy đạo hàm và xác định các cực trị tối thiểu. Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định cụ thể hơn tuỳ vào ứng dụng hoặc các quan điểm của người dùng. Thuật toán k-means bao gồm các bước cơ bản: Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 10. 48 Phân cụm dữ liệu trong Dataming Đầu vào của thuật tóan: số k cụm k và cơ sơ dữ liệu Thuật toán gồm 4 bước: 1. Phân hoạch đối tượng thành k tập con/ cụm khác rỗng. 2. Tính các điểm hạt giống làm centroid (trung bình của các đối tượng của cụm) cho từng cụm trong cụm hiện hành. 3. Gán từng đối tượng vào cụm có centroid gần nhất. 4. Quay về bước 2 chấm dứt khi không còn phép gán mới. BEGIN 1. Write (“Nhập số đối tượng dữ liệu”);readln(n); 2. Nhập n đối tượng dữ liệu; 3. Write (“Nhập số cụm dữ liệu”);readln(k); 4. MSE = + ∞; 5. For i = 1 to k do mi = xi+(i-1)*[n/k]; //Khởi tạo k trọng tâm 6. Do{ 7. OldMSE = MSE; 8. MSE' = 0; 9. For j = 1 to k do 10. {m'j =0; n'j = 0;} 11. Endfor; 12. For i = 1 to n do 12. For j = 1 to k do Tính toán khoảng cách Euclide 14. bình phương : D2 (xi, mj); 15. Endfor 16. Tìm trọng tâm gần nhất mh tới Xi. 17. m'h =m'h + Xi; n'h = n'h + 1; 18. MSE' = MSE' + D2 (xi, mh); 19. Endfor 20. nj = max (n'j, 1); mj =m'j / nj ; 21. Endfor 22. MSE = MSE'; 23} while (MSE < OldMSE) END; Thuật tóan k-means chi tiết Các khái niệm biến và hàm sử dụng trong thuật toán k-means trên:  MSE (Mean Squared Error) được gọi là sai số bình phương trung bình hay còn gọi là hàm tiêu chuẩn, MSE dùng để lưa giá trị của hàm tiêu chuẩn và được cập nhật qua mỗi lần lặp. Thuật toán dừng ngay khi giá trị MSE tăng lên so với giá trị MSE cũ của vòng lặp trước đó.  D2 (xi, mj): là khoảng cách Euclide từ đối tượng thứ i tới trọng tâm thứ j:  OldMSE, m’j, n’ j: là các biến tạm lưu giá trị cho các trạng thái trung gian cho các biến tương ứng: giá trị hàm tiêu chuẩn, giá trị của vectơ tổng của các đối tượng trong cụm thứ j, số các đối tượng của cụm thứ j; Thuật toán k-means tuần tự trên được chứng minh là hội tụ và có độ phức tạp tính toán là : O( T flop nkd τ ) 3 ( ). Trong đó: n là đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, τ là số vòng lặp, T flop là thời gian để thực hiện một phép tính cơ sở như phép nhân, chia,…Như vậy, do k-means phân tích cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn. Tuy nhiên nhược điểm của k-means là chỉ áp dụng với dữ liệu có thuộc tính số và khám phá ra các cụm có hình dạng cầu, k-means còn rất nhạy cảm với Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 11. 48 Phân cụm dữ liệu trong Dataming nhiễu và các phần tử ngoại lai trong dữ liệu. Hình dưới diễn tả mô phỏng về một số hình dạng cụm dữ liệu khám phá được bởi k-means: Thí dụ về một số hình dạng dữ liệu được khám phá ra bởi k-means Hơn nữa, chất lượng phân cụm dữ liệ của thuật toán k-means phụ thuộc nhiều vào các tham số đầu vào như: số cụm k và k trọng tâm khởi tạo ban đầu. Trong trường hợp, các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm cụm tự nhiên thì kết quả phân cụm k-means là rất thấp, nghĩa là các cụm dữ liệu được khám phá rất lệch so với các cụm trong thực tế. Trên thực tê người ta chưa có một giải pháp tối ưu nào đẻ chọn các tham số đầu vào, giải pháp thường được sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đo chinh giải pháp tốt nhất. Đến nay, đã có rất nhiều thuật toán kế thừa tư tưởng của thuật toán k-means áp dụng trong datamining để giải quyết với tập dữ liệu có kích thước tất lớn được áp dụng hiệu quả và phổ biến như thuật toán k-modes, PAM, CLARA, CLARANS, k- prototypes,… Thuật toán khác cũng gồm 4 bước: 1. Chọn bất kì k đối tượng làm các tâm ban đầu (centroids) 2. Gán hoặc gán lại từng đối tượng vào cụm với khoảng cách gần nhất. 3. Cập nhật centroids 4. Quay về bước 2, dừng khi không còn phép gán mới b) Ví dụ phương pháp gom cụm k- means Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
  • 12. 48 Phân cụm dữ liệu trong Dataming c) Điểm mạnh của phương pháp gom cụm k - means • Khả năng mở rộng (scalable) tương đối: trong khi xử lí các tập dữ liệu lớn. • Hiệu suất tương đối: O(tkn), với n là số đối tượng, k là số cụm, t là số lần lặp. Thông thường k, t < < n. Thường kết thúc ở điểm tối ưu cục bộ; có thể tìm được tối ưu toàn cục dùng các kĩ thuật như thuật toán di truyền d) Điểm yếu của phương pháp gom cụm k – means • Có thể áp dụng khi biết được trị trung bình của các đối tượng • Cần chỉ định trức k, số các cụm • Không thể xử lí được dữ liệu chuỗi và outlier • Không phù hợp để khám phá các cụm với dạng không lồi hay cụm có kích thước khác nhau e) Các biến đổi của phương pháp gom cụm k means • Vài biến thể của phương pháp k- means khác nhau ở: - Chọn k centroids ban đầu. - Tính toán sự bất tương tự - Các chiến lược tính centroids cụm • Xử lí dữ liệu phân nhóm: k- modes (cách thức) - Thay trị trung bình của cluster bằng modes - Dùng các độ đo bất tương tự mới cho các đối tượng phân nhóm - Dùng các phương pháp dựa trên tần số để cập nhật modes của đối tượng Một sự kết hợp giữa dữ liệu phân lớp và dữ liệu số: phương pháp k- prototype f) Phương pháp gom cụm k-medoids • Đầu vào của thuật toán: số cụm k và cơ sơ dữ liệu có n đối tượng • Thuật toán gồm 4 bước: 1. Chọn bất kì k đối tượng nào làm medoids ban đầu (các đối tượng đại diện) 2. Gán từng đối tượng còn lại vào cụm có medoid gần nhất 3. Chọn nonmedoid và thay một trong các medoids bằng nó nếu nó cải thiện chât lượng cụm 4. Quay về bước 2, dừng khi không còn phép gán mới. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
  • 13. 48 Phân cụm dữ liệu trong Dataming 2.1.2 Thuật toán PAM PAM (Partitioning Around Medois) 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, đây là thuật toán phân cụm dữ liệu được đề xuất bởi Kaufman và Rousseeuw. 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 bởi 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 những đ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. Thí dụ : Nếu Oj là đối tượng không phải là medoid và Om là một đối tượng medoid, khi đó ta nói Oj thuộc về cụm có đối tượng medoid là Om làm đại diện nếu : d(Oj, Om) = minOe ) , ( O O e j d . Trong đó : ) , ( O O e j d là độ phi tương tự giữa Oj và Oe , minOe là giá trị nhỏ nhất của độ phi tương tự giữa Oj và tất cả các đối tượng medoid của các cụm dữ liệu. Chất lượng của mỗi cụm được khám phá được đánh giá thông qua độ phi tương tự trung bình giữa một đối tượng và đối tượng medoid tương ứng với cụm của nó, nghĩa là chất lượng phân cụm được đánh giá thông qua chất lượng của tất cả các đối tượng medoid. Độ phi tương tự ở đây thông thường được xác định bằng độ đo khoảng cách, thuật toán PAM ở đây được áp dụng cho dữ liệu không gian. Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid bất kỳ. Sau mỗi bước thực hiện, PAM cố gằng hoán chuyển giữa đối tượng medoid Om và một đối tượng Op không phải là medoid, miễn là sự hoán chuyển này nhằm cải tiến chất lượng của phân cụm, quá trình này kết thúc khi chất lượng phân cụm không thay đổi. Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu. Chúng ta xét ví dụ đơn giản sau : Cho hai đối tượng medoid A và B. Đối với tất cả các đối tượng Y thuộc cụm với đối tượng medoid đại diện A, chúng ta tìm medoid của cụm gần nhất để thay thể. Có hai trường hợp có thể xẩy ra, hoặc Y được chuyển tới cụm dữ liệu có đại diện là B hoặc được chuyển tới cụm dữ liệu có đại diện là M. Tiếp đến, chúng ta xét lần lượt cho tất cả các đối tượng trong cụm có đại diện là A. Tương tự như vậy, đối với tất các các đối tượng trong cụm có đối tượng đại diện là B, chúng ta có thể di chuyển chúng tới cụm có đại diện là M hoặc là chúng ở lại B. Thí dụ này có thể biểu diễn như hình dưới đây : Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN A Y B M Case 1 Case 2 A M Z B Case 3 Case 4
  • 14. 48 Phân cụm dữ liệu trong Dataming Thí dụ về khả năng thay thế của các đối tượng trung tâm medoid Sau đây là một số khái niệm biến được sử dụng cho thuật toán PAM : Om : Là đối tượng medoid hiện thời cần được thay thế Op : là đối tượng medoid mới thay thế cho Om; Oj : Là đối tượng dữ liệu (không phải là medoid) có thể được di chuyển sang cụm khác. Oj,2 : Là đối tượng medoid hiện thời gần đối tượng Oj nhất mà không phải là các đối tượng A và M như trong ví dụ trên. Bốn trường hợp như mô tả trong thí dụ trên, PAM tính giá trị Cjmp cho tất cả các đối tượng Oj. Cjmp ở đây nhằm để làm căn cứ cho việc hoán chuyển giữa Om và Op. Các cách tính. Trong mỗi trường hợp Cjmp được tính với 4 cách khác nhau như sau : Trường hợp 1: Giả sử Oj hiện thời thuộc về cụm có đại diện là Om và Oj tương tự với Oj, 2 hơn Op (d(Oj, Op)≥ d(Oj, Oj,2)). Trong khi đó, Oj,2 là đối tượng medoid tương tự xếp thứ 2 tới Oj trong số các medoid. Trong trường hợp này, chúng ta thay thế Om bởi đối tượng medoid mới Op và Oj sẽ thuộc về cụm có đối tượng đại diện là Oj,2. Vì vậy, giá trị hoán chuyển Cjmp được xác định như sau : Cjmp = d(Oj, Oj,2) – d(Oj, Om). (1) Giá trị Cjmp là không âm. Trường hợp 2 : Oj hiện thời thuộc về cụm có đại diện là Om , nhưng Oj ít tương tự với Oj,2 so với Op (Nghĩa là, d(Oj, Op)<d(Oj, Oj,2)) . Nếu Om, được thay thế bởi Op thì Oj sẽ thuộc về cụm có đại diện là Op. Vì vậy, giá trị Cjmp được xác định như sau : Cjmp= (Oj, Op) - d(Oj, Om) (2). Cjmp ở đây có thể là âm hoặc dương. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 15. 48 Phân cụm dữ liệu trong Dataming Trường hợp 3 : Giả sử Oj hiện thời không thuộc về cụm có đối tượng đại diện là Om mà thuộc về cụm có đại diện là Oj,2. Mặt khác, giả sử Oj tương tự với Oj,2 hơn so với Op, khi đó, nếu Om được thay thế bởi Op thì Oj vẫn sẽ ở lại trong cụm có đại diện là Oj,2 . Do đó : Cjmp= 0 (3). Trường hợp 4 : Oj hiện thời thuộc về cụm có đại diện là Oj,2 nhưng Oj ít tương tự tới Oj,2 hơn so với Op. Vì vậy, nếu chúng ta thay thế Om bởi Op thì Oj sẽ chuyển từ cụm Oj,2 sang cụm Op. Do đó, giá trị hoán chuyển Cjmp được xác định là : Cjmp= (Oj, Op) - d(Oj, Oj,2) (4). Cjmp ở đây luôn âm. Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển Om bằng Op được xác định như sau : TCmp =∑ j jmp C (5). Sử dụng các khái niệm trên, thuật toán PAM có các bước thực hiện như hình sau: Input : Tập dữ liệu có n phần tử, số cụm k Out Put : k cụm dữ liệu sao cho chất lượng phân hoạch là tốt nhất. BEGIN Bước 1 : Chọn k đối tượng medoid bất kỳ; Bước 2 : Tính TCmp cho tất cả các cặp đối tượng Om, Op. Trong đó Om là đối tượng medoid và Op là đối tượng không phải là modoid. Bước 3 : Chọn cặp đối tượng Om và Op. Tính minOm, minOp, TCmp. Nếu TCmp là âm, thay thế Om bởi Op và quay lại bước 2. Nếu TCmp dương, chuyển sang bước 4. Bước 4 : Với mỗi đối tượng không phải là medoid, xác định đối tượng medoid tương tự với nó nhất đồng thời gán nhãn cụm cho chúng. END Các bước thực hiện của thuật toán PAM Trong bước 2 và 3, có PAM phải duyệt tất cả k(n-k) cặp Om, Op. Với mỗi vặp, việc tính toán TCmp yêu cầu kiểm tra n-k đối tượng. Vì vậy, độ phức tạp tính toán của PAM là O(Ik (n-k)2 ), trong đó I là số vòng lặp. Như vậy, thuật toán PAM kém hiệu quả về thời gian tính toán khi giá trị của k và n là lớn[10][16]. 2.1.3 Thuật toán CLARA CLARA (Clustering LARge Application) được Kaufman đề xuất năm 1990, thuật toán này nhằm khắc phục nhiệc điểm của thuật toán PAM trong trường hợp giá trị Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 16. 48 Phân cụm dữ liệu trong Dataming của k và n là lớn. CLARA tiến hành trích mẫu cho tập dữ liệu có n phần tử, nó áp dụng thuật toán PAM cho mẫu này và tìm ra các đối tượng trọng tâm medoid cho mẫu trích từ dữ liệu này. Người ta thấy rằng, nếu mẫu dữ liệu được trích theo 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 và thực hiện phân cụm cho mỗi trường hợp và tiến hành chọn kết qủa 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 đượ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+20k cho các kết quả tốt. Các bước thực hiện của thuật toán CLARA như sau: CLARA (5); BEGIN 1. For i = 1 to 5 do 2. Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và áp dụng thuật toán PAM cho mẫu dữ liệu này nhằm để tìm các đối tượng medoid đại diện cho các cụm. 3. Đối với mỗi đối tượng Oj trong tập dữ liệu ban đầu, xác định đối tượng medoid tương tự nhất trong số k đối tượng medoid. 4. Tính độ phi tương tự trung bình cho phân hoạch các đối tượng dành ở bước trước, nếu giá trị này bé hơn giá trị tối thiểu hiện thời thì sử dụng giá trị này thay cho giá trị tối thiếu ở trạng thái trước, như vậy, tập k đối tượng medoid xác định ở bước này là tốt nhất cho đến thời điểm này. 5. Quay về bước 1. END; Các bước thực hiện thuật toán CLARA Độ phức tạp tính toán của nó là O(k(40+k)2 + k(n-k)), và CLARA có thể thực hiện đối với tập dữ liệu lớn. Chú ý đối với kỹ thuật tạo mẫu trong PCDL : kết quả phân cụm có thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt tối ưu cục bộ. Thí dụ như : Nếu các đối tượng medoid của dữ liệu khởi tạo không nằm trong mẫu, khi đó kết quả thu được không đảm bảo là tốt nhất được. 2.1.4 Thuật toán CLARANS Thuật toán CLARANS được Ng & Han đề xuất năm 1994, nhằm để cải tiến cho chất lượng cũng như mở rộng áp dụng cho tập dữ liệu lớn. CLARANS cũng sử dụng các đối tượng trung tâm medoids làm đại diện cho các cụm dữ liệu. Như đã biết, PAM là thuật toán phân hoạch có kiểu k-medoids. Nó bắt đầu khởi tạo k tâm đại diện medoid và liên tục thay thế mỗi tâm bởi một đối tượng khác trong cụm cho đến khi là tổng khoảng cách của các đối tượng đến tâm cụm không giảm. CLARANS là thuật toán phân cụm dữ liệu kết hợp thuật toán PAM với chiến lược tìm kiếm kinh nghiệm mới. Ý tưởng cơ bản của CLARANS là không xem xét tất cả các Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 17. 48 Phân cụm dữ liệu trong Dataming khả năng có thể thay thế các đối tượng tâm medoids bởi một đối tượng khác, nó ngay lập tức thay thế các đối tượng tâm này nếu việc thay thế này có tác động tốt đến chất lượng phân cụm chứ không cần xác định cách thay thế tối ưu nhất. Một phân hoạch cụm phát hiện được sau khi thay thế đối tượng trung tâm được gọi là láng giềng (Neighbor) của phân hoạch cụm trước đó. Số các láng giềng được hạn chế bởi tham số do ngừơi dùng đưa vào là Maxneighbor, quá trình lựa chọn các láng giềng này là hoàn toàn ngẫu nhiên. Tham số Numlocal cho phép người dùng xác định số vòng lặp tối ưu cục bộ được tìm kiếm. Không phải tất cả các láng giềng được duyệt mà chỉ có Maxneighbor số láng giềng được duyệt. Một số khái niệm sử dụng trong thuật toán CLARANS được định nghĩa như sau : Giả sử O là một tập có n đối tượng và M ⊆ Ο là tập các đối tượng tâm medoid, NM = Ο - M là tập các đối tượng không phải tâm. Các đối tượng dữ liệu sử dụng trong thụât toán CLARANS là các khối đa diện. Mối đối tượng được diễn tả bằng một tập các cạch, mỗi cạnh được xác định bằng 2 điểm. Giả sử P ⊆ R3 là một tập tất cả các điểm. Nói chung, các đối tượng ở đây là các đối tượng dữ liệu không gian và chúng ta định nghĩa tâm của một đối tượng chính là trung bình cộng toán học của tất cả các đỉnh hay còn gọi là trọng tâm: Center : O →  P Giả sử dist là một hàm khoảng cách, khoảng cách thường được chọn ở đây là khoảng cách Euclidean : dist: P x P→ R0 + Hàm khoảng cách dist có thể mở rộng cho các điểm của khối đa diện thông qua hàm tâm : dist: O x O→ R0 + sao cho dist (oi, oj) = dist (center(oi), center(oj)) Mỗi đối tượng được được gán cho một tâm medoid của cụm nếu khoảng cách từ trọng tâm của đối tượng đó tới tâm medoid của nó là nhỏ nhất. Vì vậy, chúng ta định nghĩa một tâm medoid như sau : medoid: O→ M sao cho medoid (o) = mi, mi ∈M, ∀ mj ∈M: dist (o, mi) ≤ dist (o, mj), o∈ O. Cuối cùng, chúng ta định nghĩa một cụm với tâm medoid mi tương ứng là một tập con các đối tượng trong O với medoid(o) = mi. Giả sử C0 là tập tất cả các phân hoạch của O. Hàm tổng đế đánh giá chất lượng một phân hoạch được định nghĩa như sau : total_distance: C0→ R0 + sao cho total_distance(c) = Σ Σ dist (o, mi) với mi ∈M, ο ∈ cluster(mi ). Thuật toán chi tiết CLARANS như biểu diễn trong hình sau: Input : O, k, dist, numlocal, and maxneighbor; Output : k cụm dữ liệu; Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 18. 48 Phân cụm dữ liệu trong Dataming CLARANS (int k, function dist, int numlocal, int maxneighbor) BEGIN for (i = 1; i <= numlocal; i++) { current.create_randomly(k); j = 1; while (j < maxneighbor) { current.select_randomly(old, new); diff = current.calculate_distance_difference(old, new); if (diff < 0) { current.exchange(old, new); j = 1; } else j++; // end if } // end while dist = current.calculate_total_distance(); if (dist < smallest_dist) { best = current; smallest_dist = dist; } // end if } // end for END; Thuật toán CLARANS Trong đó : Create_Randomly(k) : tạo ngẫu nhiên k cụm dữ liệu, nghĩa là thuật toán lựa chọn ngẫu nhiên k đối tượng medoid từ n đối tượng dữ liệu. Select_randomly(old, new) : Thay thế một đối tượng tâm cụm medoid old bởi đối tượng khác new. Calculate_distance_difference(old, new) : Tính toán sự khác nhau về tổng khoảng cách giữa phân hoạch hiện thời và láng giềng của nó. Exchange(old, new) : Hoán đối giữa đối tượng tâm cụm medoid old với đối tượng không phải là medoid new, sau khi hoán đổi vai trò của chúng cũng được hoán đổi. Calculate_total_distance() : Tính tổng khoảng cách cho mỗi phân hoạch. Như vậy, quá trình hoạt động của CLARANS tương tự với quá trình hoạt động của thuật toán CLARA. Tuy nhiên, ở giai đoạn lựa chọn các trung tâm medoid của cụm dữ liệu, CLARANS lựa chọn một giải pháp tốt hơn bằng cách lấy ngẫu nhiên một đối tượng của k đối tượng trung tâm medoid của cụm và cố gắng thay thế nó với một đối tượng được chọn ngẫu nhiên trong (n-k) đối tượng còn lại, nếu không có giải pháp nào tốt hơn sau một số cố gắng lựa chọn ngẫu nhiên xác định, thuật toán dùng và cho kết quả phân cụm tối ưu cục bộ. Trong trường hợp tệ nhất, CLARANS so sánh một đối tượng với tất các đối tượng Medoid. Vì vậy, độ phức tạp tính toán của CLARANS là O(kn2 ), do vậy CLARANS không thích hợp với tập dữ liệu lớn (khi trường hợp xấu nhất xẩy ra). CLARANS có Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 19. 48 Phân cụm dữ liệu trong Dataming ưu điểm là không gian tìm kiếm không bị giới hạn như đối với CLARA, và trong cùng một lượng thời gian thì chất lượng của các cụm phân được là lớn hơn so với CLARA. 2.1.5. Nhận xét chung về họ các thuật toán phân hoạch Thuật toán k-means chỉ thích hợp để tìm kiếm các cụm dữ liệu có dạng hình cầu, không thích hợp cho việc xác định các cụm với hình dạng bất kỳ, nhưng trong trường hợp các cụm khá gần nhau thì một số đối tượng của một cụm có thể là nằm cuối các trong các cụm khác. Thuật toán PAM là một cải tiến của k-means nhằm để khắc phục trong trường hợp dữ liệu chứa nhiễu hoặc các phần tử ngoại lai. CLARA và CLARANS là các thuật toán dựa trên hàm tiêu chuẩn của thuật toán PAM, đây là các thuật toán có khả năng áp dụng với tập dữ liệu lớn, nhưng hiệu quả của chúng phụ thuộc vào kích thước của các mẫu được phân. Thuật toán CLARANS hiệu quả hơn so với thuật toán CLARA. Hạn chế chung của các thuật toán phân cụm phân hoạch là chỉ thích hợp đối với dữ liệu số và ít chiều, và chỉ khám phá ra các cụm dạng hình cầu, thế nhưng chúng lại áp dụng tốt với dữ liệu có các cụm phân bố độc lập và trong mỗi cụm có mật độ phân bố cao. 2.2Các phương pháp dựa trên phân cấp Phương pháp phân cấp: tạo phân cấp cụm chứ không phải là một phân hoạch đơn thuần các đối tượng Không cần dữ liệu nhập là số cụm k Dùng ma trận làm tiêu chuẩn gom cụm Có thể có điều kiện kết thúc (ví dụ số cụm) • Cây các cụm: phân cấp cụm thường tạo cây các cụm hay còn được gọi là dendrogram o Các lá của cây biểu diễn các đối tượng riêng lẻ o Các nút trong của cây biểu diễn các cụm • Hai loại phương pháp tạo kiến trúc cụm: o Gộp- agglomerative (từ dưới lên) - Đưa từng đối tượng vào cluster riêng của nó - Trộn ở mỗi bước hai cụm tương tự nhất cho đến khi chỉ còn một cụm hay thỏa điều kiện kết thúc o Phân chia – divisive (từ trên xuống) - Bắt đầu bằng một cụm lớn chứa tất cả các đối tượng - Phân chia cụm phân biệt nhất thành các cụm nhỏ hơn và xử lý cho đến khi co n cụm hay thỏa điều kiện kết thúc Hai loại phương pháp tạo kiến trúc phân cấp cụm Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 20. 48 Phân cụm dữ liệu trong Dataming • Các khoảng cách trong Thường có 3 cách được dùng để định nghĩa khoảng cách giữa các cụm: - Phương pháp liên kết đơn (láng giềng gần nhất): - Phương pháp liên kết hoàn toàn (láng giềng xa nhất): - Phương pháp liên kết trung bình (trung bình cặp nhóm không có trọng ): • Sức mạnh của các phương pháp phân cấp o Khái niệm đơn giản o Lý thuyết tốt o Khi cụm được trộn/ tách, quyết định là vĩnh cửu => số các phương án khác nhau cần được xem xét bị rút giảm. • Điểm yếu của phương pháp phân cấp o Trộn/ tách các cụm là vĩnh cửu => các quyết định sai là không thể khắc phục về sau o Các phương pháp phân chia là cần thời gian tính toán o Các phương pháp là không scalable (mở rộng được) cho các tập dữ liệu lớn • Phân tích outlier o outliers - Là các đối tượng bất tương tự với - Có thể gây ra việc đo đạc hay lỗi thực hiện, hay - Là kết quả của việc biến đổi dữ liệu kế thừa rất nhiều thuật toán khai phá dữ liệu cố gắng - Giảm ảnh hưởng của outliers Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN Step 0 Step 1 Step 2 Step 3 Step 4 b d c e a a b d e c d e a b c d e Step 4 Step 3 Step 2 Step 1 Step 0 G Gộ ộp- p-agglomerative agglomerative Ph Phân chia- ân chia- divisive divisive { } ) , ( min ) , ( , y x d j i d j i C y C x ∈ ∈ = { } ) , ( max ) , ( , y x d j i d j i C y C x ∈ ∈ = { } ) , ( ) , ( , y x d avg j i d j i C y C x ∈ ∈ =
  • 21. 48 Phân cụm dữ liệu trong Dataming - Giảm outliers o Cực tiểu hóa ảnh hưởng của outliers và/ hay khử đi những outliers có thể gây ra mất mát thông tin o Có thể quan tâm đến khai khác outlier mining o Các ứng dụng của khai thác outlier - Phát hiện phạm tội - Tiếp thị - Xử lý y khoa 2.2.1 Thuật toán BIRCH BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) là thuật toán phân cụm phân cấp sử dụng chiến lược phân cụm trên xuống (top down). Ý tưởng của thuật tóan 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 dữ liệu của các cụm, BIRCH chỉ lưu một bộ ba (n, LS, SS), trong đó n là đố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ủa 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 (Cluster Features - CF) và được lưa giữ trong một cây gọi là cây CF (CF tree). Người ta đã chứng minh rằng, các đại lượng thống kê chuẩn như độ đo khoảng cách, có thể xác định cây CF. Hình dưới đây biểu thị một ví dụ về cây CF. Chúng ta thấy rằng tất cả các nút trong cây lưu tổng các đặc trưng cụm CF của nút con, trong khi đó các nút lá lưu trữ các đặc trưng của cụm dữ liệu Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm (CF). Cây CF chứa các nút trong và nút là, nút trong là nút chứa các nút con và nút lá thì không có con. Nút trong lưu trữ tổng các đặc trưng cụm (CF) của các nút con của nó. Một cây CF được đặc trưng bởi hai tham số:  Yếu tố nhánh (Branching Factor - B): nhằm xác định số tối đa các nút con của mỗi nút trong cây, và  Ngưỡng (Threshloid-T): Khoảng cách tối đa giữa bất kì một cặp đối tượng trong nút lá của cây, khoảng cách này còn được gọi là đường kính của các cụm con được lưu tại các nút lá. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 22. 48 Phân cụm dữ liệu trong Dataming Hai tham số này có ảnh hưởng đến kích thước của cây CF. Thuật toán BIRCH thực hiện qua giai đoạn sau:  Giai đoạn 1: BIRCH duyệt qua tất cả các đối tượng trong cơ sở dữ liệu và xây dựng một cây CF khởi tạo. Trong giai đoạn này, các đối tượng lần lượt được chèn vào nút lá gần nhất của cây CF (nút lá của cây đóng vai trò là cụm con) sau khi chèn xong thì tất cả các nút trong cây CF được cập nhật thông tin. Nếu đường kính của cụm con sau khi chèn là lớn hơn ngưỡng T, thì nút lá được tách. Quá trình này lặp cho đến khi tất cả các đối tượng đều được chèn vào trong cây. Ở đây ta thấy rằng, mỗi đối tượng trong cây chỉ được đọc một lần, để lưu toàn bộ cây CF trong bộ nhớ thì cần phải điều chỉnh kích thước của cây CF thông qua điều chỉnh ngưỡng T.  Giai đoạn hai: BIRCH lựa chọn một thuật toán phân cụm dữ liệu (như thuật toán phân cụm chẳng hạn) để thực hiện phân cụm dữ liệu cho các nút lá của cây. Thuật toán BIRCH thực hiện qua các bước cơ bản như hình sau: Với Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện phân cụm dữ liệu nhanh và có thể áp dụng đối với tập dữ liệu lớn, đặc biệt, BIRCH hiệu quả khi áp dụng với tập dữ liệu tăng trưởng theo thời gian. BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tùy chọn, nghĩa là độ phức tạp của nó là O(n), với n là đối tượng dữ liệu. Nhược điểm của nó là chất lượng của các cụm được khám phá không được tốt. Nếu BIRCH sử dụng khoảng cách Euclide, nó thực hiện tốt chỉ với dữ liệu số. Mặc khác, tham số vào T có ảnh hưởng rất lớn tới kích thước và tính tự nhiên của cụm. Việc ép các đối tượng dữ liệu làm cho các đối tượng của một cụm có thể là đối tượng kết thúc cụm khác, trong khi các đối tượng gần nhau có thể bị hút bởi các cụm khác nếu Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN 1. Các đối tượng dữ liệu lần lượt được chèn vào cây CF, sau khi chèn hết các đối tượng ta thu được cây CF khởi tạo. Mỗi một đối tượng được chèn vào nút lá gần nhất tạo thành cụm con. Nếu đường kính của cụm con này lớn hơn T thì nút lá được tách. Khi một đối tượng thích hợp được chèn vào nút lá thì tất cả các nút trở tới gốc của cây được cập nhật với các thông tin cần thiết. 2. Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành dựng cây CF nhỏ hơn: kích thước của cây CF được điều khiển bởi tham số T và vì vậy việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn. Bước này không cần yêu cầu bắt đầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn. 3. Thực hiện phân cụm: các nút lá của cây CF lưu giữ các đại lượng thống kê của các cụm con. Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số kĩ thuật phân cụm ví dụ như k-means và tạo ra một khởi tạo cho phân cụm 4. Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng tâm cho các cụm đã được khám phá từ bước 3: đây là một bước tùy chọn để duyệt lại tập dữ liệu và gán nhãn lại cho các đối tượng dữ liệu tới các trọng tâm gần nhất. Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại lai.
  • 23. 48 Phân cụm dữ liệu trong Dataming chúng được biểu diễn cho thuật toán theo một thứ tự khác. BIRCH không thích hợp với dữ liệu đa chiều. 2.2.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) là thuật toán sử dụng chiến lược dưới lên (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 thuật toán, hai cụm có cặp đối tượng đại diện gần nhất (đối tượng thuộc về mỗi cụm) sẽ được trộn lại thành một cụm. Với cách thức sử dụng nhiều hơn một phần tử đại diện cho các cụm, CURE có thể khám phá được các cụm có các hình thù và kích thước khác nhau trong cơ sơ dữ liệu lớn. Việc co các đối tượng đại diện lại có tác dụng làm giảm tác động củ các phần tử ngoại lai, vì vậy, CURE có khả năng xử lý đối với các phần tử ngoại lai. Hình dưới đây là ví dụ về các dạng và kích thước cụm dữ liệu được khám phá bởi CURE 2.3Các phương pháp dựa trên mật độ Các cụm có thể được xem như các vùng có mật độ cao, được tách ra bởi các vùng không có hoặc ít mật độ. Khái niệm mật độ ở được xem như là các số các đối tượng láng giềng. 2.3.1 Thuận toán DBSCAN 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). 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. Tìm tất cả các đối tượng mà các láng giềng của nó thuộc về lớp các đối tượng đã xác định ở trên, một cụm được xác định bằng một tập tất cả các đối tượng kiên thông mật độ với các láng giềng của nó. DBSCAN có thể tìm ra các cụm với hình thù bất kì, trong khi đó tại cùng một thời điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ liệu nhập vào. Khi có một đối tượng dữ liệu được chèn vào chỉ tác động đến một láng giềng xác định. Mặc Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 24. 48 Phân cụm dữ liệu trong Dataming khác DBSCAN yêu cầu người dùng xác định bán kính Eps của các láng giềng và số các láng giềng tối thiểu Minpts, các tham số này khó mà xác định được tối ưu, thông thường nó được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh nghiệm. Người ta áp dụng chỉ số không gian để giúp xác định các láng giềng của một đối tượng dữ liệu do vậy độ phức tạp của DBSCAN đã được cải tiến là O(nlogn) so với độ phức tạp của DBSCAN là O(n2 ) trong trường hợp nếu không áp dụng cấu trúc chỉ số. Khoảng cách Euclide được sử dụng để đo sự tương tác giữa các đối tượng nhưng không hiệu quả đối với dữ liệu đa chiều. 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. Dưới đây là các định nghĩa và bổ đề được sử dụng trong thuật toán DBSCAN. Định nghĩa 1: lân cận với ngưỡng Eps của một điểm (Eps – Neighborhood of a point) Lân cận với ngưỡng Eps của một điểm P kí hiệu là NEps(p) được xác định như sau: NEps(p) = {q ∈ D | khoảng cach Dist(p,q) ≤ Eps}, D là tập dữ liệu cho trước. Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) thì phải có tối thiểu Minpts điểm. Số điểm tối thiểu được chọn là bao nhiêu cũng là bài toán khó, vì: Nếu số điểm tối thiểu lớn thì chỉ những điểm nằm thực sự trong cụm C mới đạt đủ tiêu chuẩn, trong khi đó những điểm nằm ngoài biên của cụm không thể đạt được điều đó. Ngược lại nếu số điểm tối thiểu là nhỏ thì mọi điểm sẽ rơi vào một cụm. Theo định nghĩa trên, chỉ những điểm thực sự nằm trong cụm mới thỏa mãn điều kiện là điểm thuộc vào cụm. Những điểm nằm ở biên của cụm thì không thỏa mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của điểm biên thì bé hơn lân cận với ngưỡng của Eps của điểm nhân (Core point). Để tránh được điều này, chúng ta có thể đưa ra một tiêu chuẩn khác để định nghĩa một điểm thuộc vào một cụm như sau: Nếu một điểm p muốn thuộc vào cụm C phải tồn tại một điểm q mà p ∊ NEps(q) và số điểm trong NEps(q) phải lớn hơn số điểm tối thiểu. Điều này có thể được định nghĩa một cách hình thức như sau: Định nghĩa 2: Đến được trực tiếp theo mật độ (Directly Density-reachable). Một điểm p được gọi là đến được trực tiếp từ điểm q với ngưỡng Eps nếu: 1. p ∊ NEps(q) 2. || NEps(q)|| ≥ Minpts (điều kiện nhân) Điểm q được gọi là điểm nhân (Core point). Có thể thấy là đến được trực tiếp một hàm phản xạ và đối xứng đối với hai điểm nhân và bất đối xứng nếu nếu một trong hai điểm đó không phải là điểm nhân. Định nghĩa 3: Đến được mật độ (Density- Reachable) Một điểm p được gọi là đến được từ một điểm q theo hai tham số Eps và Minpts nếu tồn tại một dãy p = p1, p2, ..., pn = q thỏa mãn pi+1 là có thể đến được trực tiếp từ pi với 1 , 1 − = n i Hai điểm biên của một cụm C có thể không đến được nhau bởi vì cả hai có thể đều không thỏa mãn điều kiện nhân. Mặc dù vậy, phải tồn tại một điểm nhân C mà cả hai điểm đều có thể đến được từ điểm đó. Để cho thuận tiện chúng ta sẽ đưa ra một định nghĩa liên thông mật độ (Density- Connectivity) Định nghĩa 4: Liên thông mật độ (Density- Connectivity) Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 25. 48 Phân cụm dữ liệu trong Dataming Một điểm p được gọi là liên thông với điểm q theo hai tham số Eps với Minpts nếu như tồn tại một điểm o mà cả hai điểm p, q đều có thể đến được theo tham số Eps và Minpts. Liên thông mật độ có tính chất đối xứng và phản xạ. Định nghĩa 5: Cụm (Clustering) Giả sử D là một tập các điểm dữ liệu. Một tập con C khác rỗng của D được gọi là một cụm (cluster) thep Eps và Minpts nếu thỏa mãn hai điều kiện:  Với mọi p,q ∈ D, nếu p ∈ C và q có thể đến được từ p theo Eps và MinPts thì q∈ C.  Với mọi p,q ∈ C, p liên thông mật độ với q theo Eps và MinPts. Định nghĩa 6 : Dữ liệu nhiễu (Noise) Giả sử C1, C2, …, Ck là các cụm trong tập dữ liệu D theo tham số Eps và MinPts, điểm dữ liệu nhiễu là điểm dữ liệu không thuộc vào cụm nào trong các cụm C1, C2, …, Ck, tức là Noise = {p | với mọi i=1..k, p ∉ Ci } Tiếp theo là hai bổ đề để chứng minh cho việc thuật toán phân cụm DBSCAN. Chúng phát biểu như sau: Với hai tham số Eps và MinPts cho trước, chúng ta có thể khám phá các cụm theo hai bước :  Bước 1 : Chọn một điểm bất kỳ từ tập dữ liệu ban đầu thoả mãn điều kiện nhân  Bước 2 : Lấy tất cả các điểm đến được mật độ với điểm nhân đã chọn ở trên để tạo thành cụm Hai bổ đề này có thể phát biểu một cách hình thức hơn như sau : Bổ đề 1 : Giả sử p là một điểm trong D trong đó || NEps(p)|| ≥ MinPts, tập O = {o|o∈D và o có thể đến được mật độ từ p theo Eps và MinPts}là một cụm theo Eps và MinPts. Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi một điểm trong C đến được mật độ từ bất cứ một một điểm nhân nào của C, vì vậy C chứa đúng một số điểm liên thông với điểm nhân tuỳ ý. Bổ đề 2 : Giả sử C là một cụm theo Eps và MinPts, p là một điểm bất kỳ trong C với || NEps(p)|| ≥ MinPts. Khi đó C trùng với tập O = {o|o∈D và o có thể đến được mật độ từ p theo Eps và MinPts}. Thuật toán DBSCAN : DBSCAN khởi tạo điểm p tuỳ ý và lấy tất cả các điểm đến được mật độ từ p với Eps và MinPts. Nếu p là điểm nhân thì thủ tục trên tạo ra một cụm theo Eps và MinPts (Bổ đề 2), Nếu p là một điểm biên, không có điểm nào đến được mật độ từ p và DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu. Nếu chúng ta chọn sử dụng giá trị trị toàn cục Eps và MinPts, DBSCAN có thể hoà nhập hai cụm theo định nghĩa 5 thành một cụm nếu mật độ của hai cụm gần bằng nhau. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 26. 48 Phân cụm dữ liệu trong Dataming Giả sử khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là Dist (S1,S2) = min{dist(p,q)| p∈ S1 và q∈ S2}. Hình sau diễn tả thuật toán DBSCAN chi tiết: {----------Mô đun chương trình chính-------} DBSCAN (SetOfPoints, Eps, MinPts) // SetOfPoints is UNCLASSIFIED ClusterId := nextId(NOISE); FOR i FROM 1 TO SetOfPoints.size DO Point := SetOfPoints.get(i); IF Point.ClId = UNCLASSIFIED THEN IF ExpandCluster(SetOfPoints, Point, ClusterId, Eps, MinPts) THEN ClusterId := nextId(ClusterId) END IF END IF END FOR END; // DBSCAN {--------------Thủ tục Expand -------------} ExpandCluster(SetOfPoints, Point, ClId, Eps, MinPts) : Boolean; seeds:=SetOfPoints.regionQuery(Point,Eps); IF seeds.size<MinPts THEN // no core point SetOfPoint.changeClId(Point,NOISE); RETURN False; ELSE // all points in seeds are density- // reachable from Point SetOfPoints.changeClIds(seeds,ClId); seeds.delete(Point); WHILE seeds <> Empty DO currentP := seeds.first(); result := SetOfPoints.regionQuery(currentP, Eps); IF result.size >= MinPts THEN FOR i FROM 1 TO result.size DO resultP := result.get(i); IF resultP.ClId IN {UNCLASSIFIED, NOISE} THEN IF resultP.ClId = UNCLASSIFIED THEN seeds.append(resultP); END IF; SetOfPoints.changeClId(resultP,ClId); END IF; // UNCLASSIFIED or NOISE END FOR; END IF; // result.size >= MinPts seeds.delete(currentP); END WHILE; // seeds <> Empty RETURN True; END IF END; // ExpandCluster {--------------End---------------------} Hình : Thuật toán DBSCAN Trong đó, SetOfPoints hoặc là tập dữ liệu ban đầu hoặc là cụm được khám phá từ bước trước, CLId (clusterId) là nhãn đánh dấu phần tử dữ liệu nhiễu có thể thay đổi nếu chúng có thể đến được mật độ từ một điểm khác từ CSDL, điều này chỉ xẩy ra đối với các điểm biên của dữ liệu. Hàm SetOfPoints.get(i) trả về phần tử thứ i của SetOfPoints. Thủ tục SetOfPoints.regionQuery(point, Eps) trả về một danh sách các điểm dữ liệu lân cận với điểm Point trong ngưỡng Eps từ tập dữ liệu SetOfPoints. Trừ một số trường hợp ngoại lệ, kết quả của DBSCAN độc lập với thứ tự duyệt các đối tượng dữ liệu. Eps và MinPts là hai tham số toàn cục được xác định bằng thủ công hoặc theo kinh nghiệm. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 27. 48 Phân cụm dữ liệu trong Dataming Tham số Eps được đưa vào là nhỏ so với kích thước của không gian dữ liệu, thì độ phức tạp tính toán trung bình của mỗi truy vấn là O(log n). 2.3.2 Thuật toán OPTICS Đây 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. OPTICS (Ordering Points To Identify the Clustering Structure) sắp xếp các cụm theo thứ tự tăng dần nhằm tự động phân cụm dữ liệu. 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 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. DBSCAN và OPTICS tương tự với nhau về cấu trúc và có cùng độ phức tạp : O(nLogn) (N là kích thước của tập dữ liệu). Hình sau thể hiện về một thí dụ trong PCDL của thuật toán OPTICS [10][16]: Thứ tự phân cụm của các đối tượng của OPTICS 2.3.3 Thuật toán DENCLUE DENCLUE (DENsity - Based CLUstEring) là thuật toán PCDL dựa trên một tập các hàm phân phối mật độ. Ý tưởng chính của thuật toán này như sau [10][16]:  Sự tác động của một đối tượng tới láng giềng của nó được xác định bởi hàm ảnh hưởng (Influence Function).  Mật độ toàn cục của không gian các đối tượng được mô hình như là tổng tất cả các hàm ảnh hưởng của các đối tượng.  Các cụm được xác định bởi các đối tượng mật độ cao (density attactors), các đối tượng này là các điểm cực đại của hàm mật độ toàn cục. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN Chưa đánh dấuKh Khoảng cách đến được mật độ thứ tự các cụm dữ liệu
  • 28. 48 Phân cụm dữ liệu trong Dataming Hàm ảnh hưởng được định nghĩa như sau : Cho x,y là hai đối tượng trong không gian d chiều Fd , hàm ảnh hưởng của đối tượng y lên đối tượng x được xác định như sau : f y B : Fd →  Ro + , y = f y B (x). Hàm ảnh hưởng là hàm tuỳ chọn, miễn là nó được xác định bởi khoảng cách d(x,y) của các đối tượng, thí dụ như khoảng cách Euclide. Một số thí dụ về hàm ảnh hưởng được cho như sau :  Hàm sóng ngang : ) , ( y x f square =      ≤ > δ δ ) , ( 1 ) , ( 0 y x d if y x d if , trong đó δ là một ngưỡng.  Hàm Gaussian : e f y x d y x Gaussian δ 2 2 2 ) , ( ) , ( − = Hàm mật độ của một đối tượng x ∈ Fd được tính bằng tổng tất cả các hàm ảnh hưởng của các đối tượng lên x. Giả sử ta có một tập dữ liệu D={x1, x2, ..., xn}. Hàm mật độ của x được xác định như sau : ∑ = = n i B D B x x x f f i 1 ) ( ) ( ; Hàm mật độ được thành lập dựa trên hàm ảnh hưởng Gauss được xác định như sau : ∑ = − = n i D Gauss e f xi x d d 1 2 2 2 ) , ( ) ( δ . Thí dụ về kết quả PCDL của thuật toán DENCLUE với hàm chi phối Gaussian được biểu diễn như hình 21 sau. Các cực đại mật độ là các giá trị tại đỉnh của đồ thị. Một cụm cho một cực đại mật độ x* là tập con C, khi các hàm mật độ tại x* không bé hơn ξ : Hình DENCLUE với hàm phân ph Gaussian Chúng ta thấy rằng, DENCLUE phụ thuộc nhiều vào ngưỡng nhiễu ξ (Noise Threshold) và tham số mật độ δ , nhưng DENCLUE có các ưu điểm sau : Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 29. 48 Phân cụm dữ liệu trong Dataming  Có cơ sở toán học vững chắc  Có khả năng xử lý các phần tử ngoại lai  Cho phép khám phá ra các cụm với hình thù bất kì ngay cả đối với các dữ liệu đa chiều Độ phức tạp tính toán của DENCLUE là O(nlogn). Các thuật toán dựa trên mật độ không thực hiện kỹ thuật phân mẫu trên tập dữ liệu như trong các thụât toán phân cụm phân hoạch, vì điều này có thể làm tăng thêm độ phức tạp do có sự khác nhau giữa mật độ của các đối tượng trong mẫu với mật độ của toàn bộ dữ liệu. 3 Một số thuật tóan phân cụm dữ liệu đặc thù Một số thuật toán phân cụm áp dụng trong các trường hợp đặc thù như STING, CLIQUE, EM, ... 3.1Thuật toán STING STING (STatistical INformation Grid) là thuật toán dựa vào kỹ thuật phân cụm dựa trên lưới, STING 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. Giá trị của các tham số thống kê (như các giá trị trung bình, tối thiểu, tối đa) cho các thuộc tính của đối tượng dữ liệu được tính toán và lưu trữ thông qua các tham số thống kê ở các cell mức thấp hơn (điều này giống với cây CF). Các đại tham số này bao gổm : tham số đếm count, tham số trung bình means, tham số tối đa max tham số tối thiểu min, độ lệch chuẩn s,… . Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống kê ở trên được tính trực tiếp thông qua các đối tượng dữ liệu này. Các truy vấn không gian được thực hiện bằng cách xét các cell thích hợp tại mỗi mức của phân cấp. Một truy vấn không gian được xác định như là một thông tin khôi phục lại của dữ liệu không gian và các quan hệ của chúng. STING có khả năng mở rộng cao, nhưng do sử dụng phương pháp đa phân giải nên nó phụ thuộc chặt chẽ vào trọng tâm của mức thấp nhất. Đa phân giải là khả năng phân rã tập dữ liệu thành các mức chi tiết khác nhau. Khi hoà nhập các cell của cấu trúc lưới để hình thành các cụm, các nút của mức con không được hoà nhập phù hợp (do chúng chỉ tương ứng với các cha của nó) và hình thù của các cụm dữ liệu khám phá được có các biên ngang và dọc, theo biên của các cell. STING sử dụng cấu trúc dữ liệu lưới cho phép khả năng xử lý song song, STING duyệt toàn bộ dữ liệu một lần nên để tính toán các đại lượng thống kê cho mỗi cell nên độ phức tạp tính toán của STING là O(n), trong đó n là tổng số đối tượng. Sau khi xây dựng cấu Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 30. 48 Phân cụm dữ liệu trong Dataming trúc dữ liệu phân cấp, thời gian xử lý cho các truy vấn là O(g) với g là tống số cell tại mức thấp nhất (g<<n). 3.2 Thuật toán CLIQUE Trong không gian đa chiều, các cụm có thể tồn tại trong tập con của các chiều hay còn gọi là là không gian con. Thuật toán CLIQUE là thuật toán phân cụm không gian con. Nó phân hoạch tập dữ liệu thành các hình hộp chữ nhật và tìm các hình hộp chữ nhật đặc, nghĩa là các hình hộp này chứa một số các đối tượng dữ liệu trong số các đối tượng láng giềng cho trước. Hợp các hình hộp này tạo thành các cụm dữ liệu. CLIQUE trước hết tìm các cell đặc đơn chiều, tiếp đến chúng tìm các hình chữ nhật 2 chiều, rồi 3 chiều,…, cho đến khi hình hộp chữ nhật đặc k chiều được tìm thấy. CLIQUE có khả năng áp ụng tốt đối với dữ liệu đa chiều, nhưng nó lại rất nhạy cảm với thứ tự của dữ liệu vào, độ phức tạp tính toán của CLIQUE là O(n). 3.3 Thuật toán EM Thuật toán EM (Expectation -Maximization) được xem như là thuật toán dựa trên mô hình hoặc là mở rộng của thuật toán k-means. Thật vậy, EM gán các đối tượng cho các cụm dữ đã cho theo xác suất phân phối thành phần của đối tượng đó. Phân phối xác suất thường được sử dụng là phân phối xác suất Gaussian với mục đích là khám phá lặp các giá trị tốt cho các tham số của nó bằng hàm tiêu chuẩn là là,f logarit khả năng củ đoói tượng dữ liệu, dây là hàm tốt để mô hình xác suất cho các dối tượng dữ liệu. EM có khả năng khám phá ra nhiều hình dạng cụm khác nhau, tuy nhiên do thời gian lặp của thuật toán khá nhiều nhằm xác định các tham số tốt nên chi phí tính toán của thuật toán là khá cao: có thể nén,có thể sao lưu trong bộ nhớ và có thể hủy bỏ. Trong các của tiến nàym các đối tượng bị hủy bỏ khi biết chắc chắn được nhãn phân cụm của nó, chúng được nén khi không được loại bỏ và thuộc về một cụm quá lớn so với bộ nhớ và chúng sẽ được lưa giữ lại trong các trường hợp còn lại. Nói tóm lại, do PCDL là một ngành phát triển dựa trên sự kết hợp các khái niệm của nhiều ngành như : thống kê, nhận dạng mẫu, CSDL, học máy,... nên có nhiều các phương pháp cũng như thuật toán PCDL. Bảng dữ liệu sau (bảng 2) cho ta thông tin tổng quan về các đặc tính của các phương pháp và thuật toán PCDL, nhằm làm căn cứ cho việc lựa chọn phương pháp khi phát triển các ứng dụng. Thuật toán Tham số vào Thích hợp với Cấu trúc cụm Xử lý phần tử ngoại lai Độ phức tạp tính toán Phương pháp phân cụm phân hoạch K-means Số các cụm Các cụm tách rời Hình cầu Không O(Ikn) PAM Số các cụm Các cụm tách rời, tập dữ Hình cầu Không O(Ik(n-k)2 ) Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 31. 48 Phân cụm dữ liệu trong Dataming liệu nhỏ CLARA Số các cụm Tập dữ liệu tương đối lớn Hình cầu Không O(ks2 +k(n-k)) CLARANS Số các cụm, số tối đa các láng giềng Tập dữ liệu không gian, chất lượng các cụm tốt hơn PAM và CLARA Hình cầu Không O(kn2 ) Phương pháp phân cụm phân cấp BIRCH Yếu tố nhánh, đường kính cụm Tập dữ liệu lớn Hình cầu Có O(n) CURE Số các cụm, số cụm đại diện Tập dữ liệu trung bình, hình dạng các cụm bất kỳ Bất kỳ Có O(n2 log n) Phương pháp phân cụm dựa trên mật độ DBSCAN Bán kính của cụm, số tối thiểu các đối tượng trong cụm Các cụm có hình dạng bất kỳ, tập dữ liệu lớn Bất kỳ Có O(n log n) DENCLUE Bán kính của các cụm, số tối thiểu các đối tượng Các cụm có hình dạng bất kỳ, tập dữ liệu lớn Bất kỳ Có O(n log n) OPTICS Bán kính của các cụm (min, max), số tối thiểu các đối tượng Các cụm có hình dạng bất kỳ, tập dữ liệu lớn Bất kỳ Có O(n log n) Các phương pháp phân cụm khác STING Số các Cell trong mức thấp nhất, số các đối tượng trong Cell Tập dữ liệu không gian lớn Giới hạn đứng và các giới hạn ngang Có O(n) WaveCluster Số các Cell cho mỗi chiều, sóng, số ứng dụng biến đổi Các cụm có hình dạng bất kỳ, tập dữ liệu lớn Bất kỳ Có O(n) CLIQUE Kích thước của lưới, số tối thiểu các điểm trong mỗi lưới Tập dữ liệu lớn đa chiều Bất lỳ Có O(n) Scalable EM Các tham số Gauss, giới hạn hội tụ Tập dữ liệu lớn với phân phối đồng nhất xấp xỉ Hình cầu Không O(n) 4 Phân cụm dữ liệu nhờ mạng nơron nhân tạo Trong lịch sử, bộ não đã từng được xem là một dạng máy tính, và ngược lại. Tuy nhiên, điều này chỉ đúng theo nghĩa rộng nhất. Máy tính không phải là mô hình của bộ não (mặc dù có thể mô tả một quá trình suy luận logic như là một chương trình máy tính, hoặc có thể kích thích não bằng một cái máy tính) do chúng đã không được chế tạo với mục đích này. Tuy nhiên, từ xưa, các mạng nơ-ron dùng trong trí tuệ nhân tạo đã được xem là các mô hình đơn giản của hoạt động thần kinh trong não. Một chủ đề của các nghiên cứu hiện nay trong ngành thần kinh học lý thuyết là câu hỏi: mạng nơ-ron cần phức tạp Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 32. 48 Phân cụm dữ liệu trong Dataming đến đâu và cần có những tính chất gì để có thể tái tạo cái gì đó giống như trí thông minh của con người. Vì vậy người ta đã mô hình hóa một mạng lưới gồm các dây mô hình như các dây thần kinh của bộ não con người và cài vào đó những thuật toán để khám phá ra những tri thức trong kho tàng tri thức của nhân loại. Đó là mạng nơron nhân tạo. CHƯƠNG 2: MẠNG NƠRON NHÂN TẠO 1. Mạng nơron sinh học 1.1 Khái niệm: Mạng nơron sinh học: là một mạng lưới (plexus) các nơron kết nối hoặc có liên quan về mặc chức năng trực thuộc hệ thần kinh ngoại biên (peripheral nerous system) hay hệ thần kinh trung ương (central nerous system). Trong ngành thần kinh học nó thường được dùng để chỉ một nhóm nơ-ron thuộc hệ thần kinh là đối tượng nghiên cứu khoa học nhất định. 1.2Mô hình Mô hình mạng nơron sinh học 2. Mạng nơron nhân tạo 2.1Khái niệm: Mạng nơron nhân tạo- ANN (Artifical Neural Network) là một mô phỏng xử lý thông tin, được nghiên cứu ra từ hệ thống thần kinh của sinh vật, giống như bộ não để xử lý thông tin. Nó bao gồm một số lượng lớn các mối gắn kết cấp cao để xử lý Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 33. 48 Phân cụm dữ liệu trong Dataming các yếu tố làm việc trong mối liên hệ giải quyết vấn đề rõ ràng. ANNs giống như con người, được học bởi kinh nghiệm, lưu những kinh nghiệm hiều biết và sử dụng trong những tình huống phù hợp. Đầu tiên ANN được giới thiệu năm 1943 bởi nhà thần kinh học Warren Mcculloch và nhà logic học Walter Pits. Nhưng với những kĩ thuật trong thời gian này chưa cho phép họ nghiên cứu được nhiều. Những năm gần đây mô phỏng ANN xuất hiện và phát triển. Các nghiên cứu ứng dụng đã được thực hiện trong các ngành: điện, điện tử, kĩ thuật chế tạo, y học, quân sự, kinh tế,..và mới nhất là nghiên cưú ứng dụng trong quản lý dự án xây dựng. Tại Việt Nam việc nghiên cứu ứng dụng ANN vào quản lý xây dựng chỉ mới bắt đầu trong vài năm gần đây và cần được phát triển. Từ đây chúng ta thống nhất với nhau là khi nhắc tới mạng nơ-ron tức là nói mạng nơ-ron nhân tạo. Dưới đây là mô hình toán học một mạng nơ-ron nhân tao: Các tín hiệu vào ( còn gọi là mẫu vào) pi (i=1..R) được đưa tới đầu vào của nơron S tạo thành ma trận tín hiệu vào P. Mỗi đầu vào của nơron S sẽ có một trọng số kí hiệu là ws,i (i=1..R) và các trọng số này tạo thành một ma trận trọng số đầu vào W. Mức ngưỡng θ của nơron có thể được biểu diễn trong mô hình toán học bằng hệ số bias b (gọi là thế hiệu dịch). Như vậy tín hiệu vào là nnet sẽ được tính theo công thức sau: b p w p w p w n R R s s s n et + + + + = , 2 2 , 1 1 , ... (2.1) Viết dưới dạng ma trận sẽ là: Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN net n W P b = + b) f(WP ) f(n a net + = =
  • 34. 48 Phân cụm dữ liệu trong Dataming net n W P b = + (2.2) Xem các biểu thức trên thì ta có thể coi hệ số bias như trọng số của một đầu vào với tín hiệu bằng 1. Có một số loại nơron có thể bỏ qua hệ số bias này. Hàm kích hoạt (activation function) hay còn gọi là hàm truyền (transfer function) được kí hiệu là f sẽ biến đổi tín hiệu đầu vào nnet thành tín hiệu đầu ra nơron a. Ta có biểu thức: a=f(nnet )=f(WP+b) (2.3) Thông thường thì hàm kích hoạt sẽ được chọn bởi người thiết kế tuỳ theo mục đích của mạng. Các trọng số và hệ số bias là các thông số điều chỉnh được của mạng nơron. Chúng được điều chỉnh bởi một số luật học (learning rule). Như vậy quan hệ giữa đầu ra và các đầu vào của nơron sẽ tuỳ thuộc vào việc nơron đó được dùng cho các mục đích cụ thể nào. 2.2Đặc điểm Thông thường một mạng nơ-ron bao gồm một hoặc nhiều nhóm các nơ-ron kết nối vật lý với nhau hoặc có liên quan với nhau về chức năng. Một nơ-ron đơn có thể được nối với nhiều nơ-ron khác và tổng số nơ-ron và kết nối trong một mạng có thể là một giá trị cực kì lớn. Các kết nối, gọi là các khớp thần kinh (synapses) thường nối từ các trục (axon) tới các tế bào gai tua thần kinh (dendrite), tuy có thể có các vi mạch và các kết nối khác. Ngoài tín hiệu điện, còn có các dạng tín hiệu khác phát sinh từ việc khuếch tán các chất truyền dẫn. Chúng có ảnh hưởng đối với tín hiệu điện. Do vậy, cũng như các mạng sinh học khác, mạng nơ-ron vô cùng phức tạp. Trong khi hiện nay, một mô tả chi tiết của hệ thần kinh có vẻ như chưa thể đạt được, người ta vẫn ngày càng hiểu tốt hơn về các cơ chế cơ bản. Giữa mạng nơron nhân tạo và mạng nơron sinh học có 3 điểm chung là •Mạng được xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau một cách phức tạp và hoạt động theo nguyên tắc song song. •Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết giữa các phần tử. • Mức độ liên kết giữa các phần tử được xác định thông qua quá trình học của mạng ( hay còn gọi là quá trình huấn luyện mạng - training). Điểm khác nhau về căn bản giữa mạng nơron nhân tạo và mạng nơron sinh học là ở tốc độ tính toán, độ phức tạp và tính song song. Tuy xét về tốc độ xử lý của các máy tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con người nhưng bộ não lại có thể đồng thời kích hoạt toàn bộ các nơron để làm nhiều công việc khác nhau. Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN
  • 35. 48 Phân cụm dữ liệu trong Dataming Điều này mạng nơron nhân tạo không thể thực hiện được. Với sự phát triển nhanh chóng của khoa học như hiện nay thì ta có thể hi vọng sẽ có những bước đột phá mới trong lĩnh vực mô phỏng mạng nơron sinh học. 2.3Cấu trúc mạng nơ-ron nhân tạo 2.3.1Nút: Mỗi Neural (nút) là một đơn vị xử lý thông tin của mạng neural, là yếu tố cơ bản để cấu tạo nên mạng neural. Cấu trúc 1 nơ-ron xi: các tín hiệu input wkp: trọng số của từng input f(.): hàm hoạt động yk: kết xuất của Neural b: thông số ảnh hưởng đến ngưỡng ra của output Mạng nơron nhân tạo thường được cấu tạo thành các lớp gồm lớp vào (input layer) , lớp ra (output layer) và các lớp ẩn (hidden layer). Các nơron trong một lớp chỉ nối với các nơron lớp tiếp theo, không cho phép có các liên kết giữa các nơron trong cùng một lớp. Lớp vào là lớp nhận thông tin từ số liệu gốc. Thông tin này được đưa đến đầu vào của một số hay toàn bộ các nơron của lớp tiếp theo (lớp ẩn). Như vậy mỗi nơron của lớp ẩn sẽ nhận được tín hiệu của một số các nơron lớp vào. Các giá trị này sẽ được nhân với hệ số nhân (trọng số) của các nơron ẩn và đưa vào hàm thế sau khớp nối - PSP (Post Synaptic Potential function) thực hiện chức năng đầu vào để tạo tín hiệu duy nhất net. Chức năng kích hoạt đầu ra được thực hiện bằng hàm kích hoạt a(.) (activation function) hay còn gọi là hàm truyền f(.) (transfer function). Hàm này sẽ nhận tín hiệu đầu vào net để tạo ra tín hiệu đầu ra của nơron (kết xuất của nơron lớp ẩn). Tín hiệu ra của các nơron ẩn lại được đưa đến các nơron của lớp tiếp theo. Quá trình xử lý tương tự cho đến khi tín hiệu được đưa ra tại các nơron lớp ra. Đây chính là tín hiệu đầu ra của mạng. Nó chính là giá trị của các biến cần tìm. Mạng nơron có thể tổ chức theo kiểu liên kết đầy đủ (fully connected) tức là đầu ra của các nơron lớp trước sẽ có liên kết với tất cả các nơron ở lớp tiếp theo hoặc ngược Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN wk1 wk2 wk3 ∑ F (.)
  • 36. 48 Phân cụm dữ liệu trong Dataming lại theo kiểu không đầy đủ-mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo tuỳ theo chức năng của mạng. 2.3.2 Phân loại cấu trúc mạng nơ-ron  Mạng dẫn tiến một lớp Đây là cấu trúc mạng neural đơn giản nhất. Mạng neural này chỉ gồm 1 lớp xuất, không có lớp ẩn. Input output Hình: cấu trúc mạng nơ-ron một lớp  Mạng dẫn tiến nhiều lớp Hình: Cấu trúc mạng nơ-ron nhiều lớp Mạng neural nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn. Các lớp ẩn này xen giữa các input bên ngoài và output của mạng. Càng nhiều lớp ẩn thì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và output. Ngoài ra còn có mạng hồi quy và mạng Neural dạng lưới. 2.3.3 Các hàm hoạt động Các hàm hoạt động phải có các đặc tinh sau: - Hàm bị chặn trên và chặn dưới Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN neuron neuron neuron neuron
  • 37. 48 Phân cụm dữ liệu trong Dataming - Hàm có tính đơn điệu - Hàm phải có tính liên tục và trơn Trong thực tế thông thường người ta thường chọn các hàm sau: a. Hàm Threhold 1 nếu u > 0 f (u) = 0 nếu u < 0 b. Hàm piecewwise – linear 1 nếu u > 1/2 f (u) = u nếu 1/2 > u > -1/2 0 nếu u < -1/2 c. Hàm sigmoid (logistic) f (u) = 1 1 + exp (-au) d. Hàm tang- hyperbol f (u) = tanh (u) = eu – e-u eu + e-u 2.4 Kiến trúc mạng nơ-ron Mạng nơron nhân tạo như đã giới thiệu ở trên là sự liên kết của các nơron nhân tạo. Sự xắp xếp bố trí các nơron và cách thức liên hệ giữa chúng tạo nên kiến trúc mạng nơron. Theo cách sắp xếp nơron thì có kiểu kiến trúc một lớp (single layer) và kiến trúc đa lớp (Multiple layer), còn theo cách liên hệ giữa các nơron thì ta có kiến trúc mạng truyền thẳng (feedforward) và kiến trúc mạng hồi qui (recurrent). Ngoài ra còn một loại liên kết theo sự phân bố của các nơron trong không gian hai chiều trong một lớp, gọi là liên kết bên (lateral connection). Với loại liên kết bên này, Kohonen đã tạo ra loại mạng tự tổ chức (Self-Organizing Neural Network).  Theo số lớp Nếu xét về số lớp thì mạng có cấu trúc là mạng nơron một lớp và mạng nơron nhiều lớp Sinh Viên thực hiện: Nguyễn Thị Hướng- K54A-CNTT- ĐHSPHN