Khai thác dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời c
Trang 1CHƯƠNG TRÌNH ĐÀO TẠO THẠC SĨ CNTTQM
Trang 2LỜI MỞ ĐẦU
Dữ liệu là nguồn tri thức vô giá của con người nếu được khai thác hiệu quả, trong thời đại công nghệ ngày càng phát triển hiện nay thông tin dữ liệu ngày càng phình to, đó chính là nguồn tài nguyên thông tin đáng để được khai thác, đi đôi với nó là các khoa học công nghệ liên quan đến khai thác dữ liệu cũng phát triển theo, chính vì vậy ngành khai thác dữ liệu đặc biệt là gom cụm dữ liệu sẽ còn phát triển mạnh hơn nữa trong tương lai
Em xin chân thành cảm ơn PGS.TS Đỗ Phúc – Giảng viên môn học Nhà kho dữ liệu
và khai thác dữ liệu- đã truyền đạt những kiến thức vô cùng quý báu, xin chân thành cám ơn ban cố vấn học tập và ban quản trị chương trình đào tạo thạc sĩ Công nghệ thông tin qua mạng của Đại Học Quốc Gia TPHCM đã tạo điều kiện về tài liệu tham khảo để em có thể hoàn thành môn học này
Chân thành cám ơn!
Nguyễn Văn Chung
Trang 3MỤC LỤC
LỜI MỞ ĐẦU 1
NHÀ KHO DỮ LIỆU & KHAI THÁC DỮ LIỆU 2
PHẦN I : TỔNG QUAN KHAI THÁC DỮ LIỆU 3
I GIỚI THIỆU KHAI THÁC DỮ LIỆU 3
I.1 Tại sao cần Khai thác dữ liệu : 3
I.2 Khai thác dữ liệu là gì: 3
I.3 Quá trình khai thác dữ liệu: 4
I.4 Các phương pháp khai thác dữ liệu: 5
I.5 Ứng dụng của khai thác dữ liệu: 6
I.6 Một số thách thức đặt ra cho việc khai phá dữ liệu 6
II GOM CỤM DỮ LIỆU 7
II.1 Giới thiệu: 7
II.2 Các kiểu dữ liệu trong phép phân cụm 7
II.3 Phân loại các phương pháp phân cụm chính 12
PHẦN II : THUẬT TOÁN SOM 15
I Tổng quan mạng Nơron 15
I.1 Giới thiệu: 15
I.2 Kiến trúc tổng quát mạng nơron: 15
I.3 Quá trình xử lý thông tin của một Mạng Nơron 16
I.4 Một số kiến trúc của Mạng Nơron 18
I.5 Quá trình học (Learning Processing) của Mạng nơron: 19
II Thuật toán SOM (Self Organizing Map) 20
II.1 Giới thiệu: 20
II.2 Kiến trúc của SOM 20
II.3 Thuật toán SOM: 21
III CÀI ĐẶT SOM: 25
III.1 Màn hình chính: 25
III.2 Dữ liệu đầu vào 26
III.3 Code chương trình: 26
KẾT LUẬN 30
Trang 4PHẦN I : TỔNG QUAN KHAI THÁC DỮ LIỆU
I GIỚI THIỆU KHAI THÁC DỮ LIỆU
I.1 Tại sao cần Khai thác dữ liệu :
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các thiết bị điện tử (đĩa cứng, CD-ROM, băng từ ) không ngừng tăng lên Sự tích lũy dữ liệu này xảy ra với một tốc độ bùng nổ Người ta ước đoán rằng lượng thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó sốlượng cũng như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng Nói một cách hình ảnh là chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri thức Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ liệu tưởng chừng như “bỏ đi” ấy không?
“Necessity is the mother of invention”- Data Mining ra đời như một hướng giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên Khá nhiều định nghĩa về Data Mining và
sẽ được đề cập ở phần sau, tuy nhiên có thể tạm hiểu rằng Data Mining như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào đó
I.2 Khai thác dữ liệu là gì:
Khai thác dữ liệu (datamining) được định nghĩa như là một quá trình chắt lọc hay khai thác tri thức từ một lượng lớn dữ liệu Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming được ví như công việc "Đãi cát tìm vàng" trong một tập hợp lớn các dữ liệu cho trước Thuật ngữ Dataming ám chỉ việc tìm kiếm một tập hợp nhỏ có giá trị từ một số lượng lớn các dữ liệu thô Có nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining như Knowledge Mining (khai thác tri thức), knowledge extraction (chắt lọc tri thức), data/patern analysis (phân tích
dữ liệu/mẫu), data archaeoloogy (khảo cổdữliệu), data dredging (nạo vét dữ liệu)
Khai thác dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác
và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó
Trang 5I.3 Quá trình khai thác dữ liệu:
Trích chọn dữ liệu: Đây là bước trích chọn những tập dữ liệu cần được
khai thác từ các tập dữ liệu lớn ban đầu theo một số tiêu chí nhất định
Tiền xử lý dữ liệu: Đây là bước làm sạch dữ liệu (xử lý những dữ liệu
không đầy đủ, nhiễ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 dự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ụ quá trình khai thác ở bước sau
Khai thác dữ liệu: Đây là bước áp dụng những kỹ thuật phân tích (như
các kỹ thuật của học máy) nhằm để khai thác dữ liệu, trích chọn được 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 KDD
Đá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 khám thác ở bước trên được biến đổi 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 khám phá được theo những tiêu chí nhất định
Trang 6I.4 Các phương pháp khai thác dữ liệu:
Kỹ thuật khai thác dữ liệu thường được chia làm 2 nhóm chính:
Các nhiệm vụ mô tả về ccác tính chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật này gồm có: phân cụm(clustering), tóm tắt (summerization), trực quan hóa (visualiztion), phân tích sự phát triển và độ lệch (Evolution and deviation analysis), phân tích luật kết hợp(association rules analysis)
…
Có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời Các kỹ thuật này gồm: Phân lớp (classification), hồi quy (regression)… Với hai đích chính của khai thác dữ liệu là Dự đoán (Prediction) và Mô tả (Description), người ta thường sử dụng các kỹ thuật sau cho khai thác dữ liệu:
Phân lớp và dự đoán (classification and prediction): Là việc xếp các
đối tượng vào những lớp đã biết trước Ví dụ, phân lớp các bệnh nhân, phân lớp các loài thực vật Hướng tiếp cận này thường sử dụng một số
kỹ thuật của học máy như cây quyết định (decision tree), mạng nơron nhân tạo (neural network) Phân lớp và dự đoán còn được gọi là học
có giám sát
Phân cụm (clustering / segmentation): Là việc xếp các đối tượng theo
từng cụm tự nhiên
Luật kết hợp (association rules): Là việc phát hiện các luật biểu diễn tri
thức dưới dạng khá đơn giản Ví dụ: “70% nữ giới vào siêu thị mua phấn thì có tới 80% trong số họ cũng mua thêm son”
Phân tích hồi quy (regression analysis): Là việc học một hàm ánh xạ
từ một tập dữ liệu thành một biến dự đoán có giá trị thực Nhiệm vụ của phân tích hồi quy tương tự như của phân lớp, điểm khác nhau là ở chỗ thuộc tính dự báo là liên tục chứ không phải rời rạc
Phân tích các mẫu theo thời gian (sequential/temporal patterns):
Tương tự như khai phá luật kết hợp nhưng có quan tâm đến tính thứ tự theo thời gian
Trang 7 Mô tả khái niệm (concept description and summarization): Thiên về
mô tả, tổng hợp và tóm tắt các khái niệm Ví dụ tóm tắt văn bản
Hiện nay, các kỹ thuật khai thác dữ liệu 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 là: CSDL quan hệ, CSDL đa chiều (Multidimensional Data Structures), CSDL giao tác, CSDL quan hệ hướng đối tượng,
dữ liệu không gian và thời gian, CSDL đa phương tiện, dữ liệu văn bản và web
I.5 Ứng dụng của khai thác dữ liệu:
Khai thác dữ liệu tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều
sự quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn của nó Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:
Phân tích dữliệu và hỗ trợ ra quyết định (data analysis & decision support)
Điều trị y học (medical treatment)
Text mining & Web mining
Tin-sinh (bio-informatics)
Tài chính và thịtrường chứng khoán (finance & stock market)
Bảo hiểm (insurance)
Dữ liệu bị thiếu hoặc nhiễu
Quan hệ giữa các trường phức tạp
Giao tiếp với người sử dụng và kết hợp với các tri thức đã có
Tích hợp với các hệ thống khác…
Trang 8II GOM CỤM DỮ LIỆU
II.1 Giới thiệu:
Gom cụm dữ liệu (Data Clustering) hay gom cụm, cũng có thể gọi là phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương tự Một cụm là một tập hợp các đối tượng dữ liệu mà các phần tử của nó tương tự nhau cùng trong một cụm và phi tương tự với các đối tượng trong các cụm khác Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng
II.2 Các kiểu dữ liệu trong phép phân cụm
Các giải thuật phân cụm dựa trên bộ nhớ chính thao tác trên một trong hai cấu trúc dữ liệu sau:
Ma trận dữ liệu (hay cấu trúc: đối tượng x biến):
Được đại diện bởi n đối tượng, ví dụ như người với p biến (còn được gọi là các
phép đo hay các thuộc tính) như tuổi, chiều cao, giới tính, v.v Cấu trúc có dạng
bảng quan hệ, hay ma trận n x p (n đối tượng x p biến).
Ma trận không tương đồng (hay cấu trúc đối tượng x đối tượng):
Nó lưu trữ một tập hợp các trạng thái (về mặt không gian, thời gian, ) cho tất
cả n cặp đối tượng Nó thường được biểu diễn bởi bảng n x n
với d(i,j) được đo bởi sự khác nhau hay không tương đồng giữa các đối tượng ivà j
Do vậy d(i,j) = d(j,i) và d(i,i) = 0, ta có ma trận trên Các phép đo không tương đồng được thảo luận trong suốt phần này Ma trận dữ liệu thường được gọi là ma trận 2-mode (2 chế độ), trong khi đó ma trận không tương đồng được gọi là ma trận 1-mode (1 chế độ) Nhiều giải thuật phân cụm thao tác trên ma trận không tương đồng Nếu
Trang 9dữliệu được đưa ra dưới dạng ma trận dữ liệu thì nó có thể được chuyển đổi sang ma trận không tương đồng trước khi áp dụng các giải thuật phân cụm
Cụm các đối tượng được tính toán dựa trên sựtương đồng hay không tương đồng của chúng Trong phần này, trước tiên ta thảo luận chất lượng phân cụm có thể được đánh giá dựa trên các hệ số tương quan - có thể chuyển đổi thành các hệ số không tương đồng hay tương đồng Sau đó ta thảo luận làm thế nào để tính độ không tương đồng của các đối tượng được mô tả bởi các biến dựa trên khoảng cách, các biến nhị phân, các biến dựa trên tên, có thứ tựvà tỷ lệ(ratio) hay sự kết hợp của các kiểu biến này
• Độ không tương đồng và tương đồng: Đo chất lượng phân cụm
Phép đo của các hệ số không tương đồng hay tương đồng được dùng để đo chất lượng phân cụm Độ không tương đồng d(i,j) là một số không âm, nó gần bằng 0 khi i, j gần nhau và sẽ lớn hơn khi chúng khác biệt nhau nhiều hơn
Không tương đồng có được bằng các đánh giá chủ quan đơn giản bởi một tập các observer (quan sát viên) hay các chuyên gia trên các đối tượng khác nhau nào đó
Sự không tương đồng được tính toán từ các hệ số tương quan Cho trước n đối tượng đểphân cụm, tương quan Pearson product-moment giữa hai biến f và g được định tại
đó f và g là các biến mô tả các đối tượng, m f và m g là các giá trị trung bình của f và g
và x if là giá trịcủa f cho đối tượng thứ i, x ig là giá trị của g cho đối tượng thứ i
(2.1)Công thức chuyển đổi được dùng để tính hệ số không tương quan d(f,g) từ các hệ số tương quan R(f,g):
(2.2)Các biến với một tương quan dương cao sẽ ấn định hệ số không tương đồng gần bằng 0 Các biến với một tương quan âm mạnh sẽ ấn định hệ số không tương đồng gần bằng 1 (nghĩa là các biến rất khác nhau) Trong nhiều ứng dụng, người dùng thích dùng công thức chuyển đổi (2.3) hơn, tại đó các biến với tương quan âm hay dương cao ấn định cùng một giá trị tương đồng cao
(2.3)
Trang 10Người dùng có thể sử dụng hệ số tương đồng s(i,j) thay cho hệ số không tương đồng Công thức (3.6) được dùng để chuyển đổi giữa hai hệ số.
(2.4)Lưu ý rằng không phải tất cảcác biến đều cần trong phép phân tích cụm
Một biến là vô nghĩa với một phân cụm cho trước thì tính hữu ích sẽ ít hơn, do vậy nó
ẩn đi thông tin hữu ích đã cung cấp bởi các biến khác Ví dụ, số điện thoại của một người thường vô ích trong phân cụm người theo mô tả về họ như tuổi, chiều cao, cân nặng, v.v Kiểu biến "rác" như vậy nên có trọng số 0, trừ khi nó được phép phân cụm
xử lý
• Các biến tỷ lệ khoảng cách
Các biến tỷ lệ khoảng cách là các phép đo liên tục của một tỷ lệ tuyến tính thô Các mẫu điển hình như trọng lượng và chiều cao, sự kết hợp vĩ độ và kinh độ (ví dụ khi phân cụm nhà) và nhiệt độ khí hậu Đơn vị phép đo đã dùng có thể ảnh hưởng đến phép phân cụm Ví dụ, thay đổi các đơn vị đo, như thay đổi từ meter tới inche cho chiều cao hay từ kilogram tới pound cho trọng lượng, có thể dẫn tới một cấu trúc phân cụm rất khác biệt
Nhìn chung, biểu diễn một biến dưới các đơn vị nhỏ hơn sẽ dẫn tới một phạm
vi lớn hơn cho biến đó và do vậy một hiệu ứng lớn hơn trên kết quả cấu trúc phân cụm Để tránh sự phụ thuộc vào việc lựa chọn đơn vị đo, dữ liệu nên được chuẩn hoá Chuẩn hoá các phép đo cố gắng mang lại cho tất cảcác biến một trọng số như nhau Tuy nhiên, trong nhiều ứng dụng, người ta có thể cố ý muốn mang tới trọng số lớn hơn cho một tập các biến nào đó so với các biến khác Ví dụ, khi phân cụm các cầu thủ chơi bóng rổ, người ta có thể thích mang tới trọng số hơn cho biến chiều cao
Đểchuẩn hoá các phép đo, một lựa chọn đó là chuyển đổi các phép đo gốc sang các biến không đơn vị(unitless) Cho trước các phép đo đối với biến f Điều này
có thể được biểu diễn như sau:
Tính trung bình độ lệch tuyệt đối s f
(2.5)
với x 1f , , x nf là nphép đo của f, m f là giá trị trung bình của f, tức là
(2.6)
Trang 11 Tính phép đo chuẩn hoá, gọi là z-score như sau:
(2.7)Thuận lợi của việc sửdụng độlệch tuyệt đối trung bình đó là z-scores của các outlier không trở nên quá nhỏ, do vậy các outlier vẫn dễ nhận thấy Tuy nhiên lựa chọn việc chuẩn hoá và biểu diễn chuẩn hoá như thế nào là thuộc về phía người dùng
Sau khi chuẩn hoá hay không cần chuẩn hoá trong một số ứng dụng nào đó, ta tính độ không tương đồng (hay tương đồng) giữa các đối tượng Cho trước các biến tỷ
lệ khoảng cách, dựa trên khoảng cách giữa từng cặp đối tượng Có một số tiếp cận để định nghĩa khoảng cách giữa các đối tượng Phép đo khoảng cách phổ biến nhất là khoảng cách Euclidean, nó được định nghĩa như sau:
(2.8)với i = (xi1, xi2, , xip) và j=(xj1,xj2, ,xjp) là hai đối tượng dữ liệu p chiều Một metric nổi tiếng khác là khoảng cách Mahattan (hay city block) được định nghĩa bởi:
(2.9)
• Các biến nhị phân
Phần này mô tả làm thế nào để tính toán độ không tương đồng giữa các đối tượng được mô tả bởi các biến nhị phân đối xứng hoặc không đối xứng Một biến nhị phân chỉ có hai trạng thái 0 hay 1, với 0 là biến vắng mặt, 1 là biến có mặt Cho trước biến hút thuốc mô tả một bệnh nhân, ví dụ, 1 chỉ rằng bệnh nhân hút thuốc, 0 cho biết bệnh nhân không hút thuốc Xử lý các biến nhị phân giống như các biến tỷ lệ khoảng cách có thể dẫn tới lạc lối các kết quả phân cụm Bởi vậy, các phương pháp chỉ định cho dữ liệu nhị phân cần phải tính toán độ không tương đồng
Một tiếp cận để tính toán ma trận không tương đồng từ dữ liệu nhị phân đã cho Nếu tất cảcác biến nhị phân được xem nhưlà có cùng trọng số, ta có bảng ngẫu
nhiên 2 x 2, bảng 3.1, với a là số các biến bằng 1 cho cảhai đối tượng i và j, b là số các biến bằng 1cho đối tượng i và 0 cho đối tượng j, clà số các biến bằng 0 cho đối tượng i và 1 cho đối tượng j, d là số các biến bằng 0 cho cả đối
tượng ivà j Tổng số lượng của các biến là p, p= a+ b+ c+ d
Trang 12Bảng 3.1: Bảng ngẫu nhiên cho các biến nhị phân
Một biến nh ịphân là đối xứng nếu như cả hai trạng thái của nó có cùng trị giá
và mang cùng trọng số, do vậy không có sự ưu tiên nên kết quả mã hoá là 0 hay 1
• Các biến tên, có thứ tự và dựa trên tỷ lệ
Phần này thảo luận làm thế nào để tính độ không tương đồng giữa các đối tượng được mô tả bởi các biến tên, có thứ tự và dựa trên tỷ lệ
(3.2)với m là số lượng các đối sánh (tức là số lượng các biến mà I và j có cùng trạng thái)
và p là tổng số của các biến Các trọng số có thể được ấn định để làm tăng hiệu quả của m, hay ấn định trọng số lớn hơn cho các đối sánh trong các biến có sốlượng các trạng thái lớn hơn
Các biến có thứtự:
Biến có thứ tự rời rạc tương tự như một biến tên, loại trừ M trạng thái của giá trị có thứ tự được sắp xếp theo một trật tự có nghĩa Các biến có thứ tự rất
hữu ích cho việc thể hiện các đánh giá chất lượng một cách chủ quan mà không thể
đo được bằng cách khách quan Một biến có thứ tự liên tục trông giống như một tập
dữ liệu liên tục với một tỷ lệ chưa biết, đó là mối quan hệcó thứ tự của các giá trị, là
Trang 13yếu tố cần thiết nhưng không phải là tính chất trọng yếu thực sự của chúng Ví dụ, sắp xếp quan hệ trong một môn thể thao đặc thù thường cần thiết hơn các giá trịthực tếcủa một độ đo đặc thù Các biến có thứtựcó thể cũng đạt được từ việc rời rạc hoá các con
số tỷ lệ khoảng cách bằng cách chia phạm vi giá trịvào trong một sốcác lớp hữu hạn Các giá trịcủa một biến có thứ tựcó thể được ánh xạ tới các hạng (rank) Giả sử rằng
một biến có thứ tự f có M f trạng thái Các trạng thái được sắp xếp định nghĩa có thứ tự
là 1, ,Mf
Các biến dựa trên tỷlệ:
Một biến dựa trên tỷ lệ làm một phép đo dương trên một tỷ lệ không tuyến tính, như tỷ lệ số mũ, xấp xỉ công thức dưới đây:
2 Áp dụng phép biến đổi loga cho một biến dựa trên tỷ lệ f có giá trị xif cho
đối tượng i bằng cách sử dụng công thức y if= log(xif) Các giá trị yif được xử lý như giá trị tỷ lệ khoảng cách trong mục 3.2.2 Lưu ý rằng đối với nhiều biến dựa trên tỷ lệ,
ta cũng có thể áp dụng phép biến đổi log hay các phép biến đổi khác, tuỳ thuộc vào định nghĩa và ứng dụng
3 Xử lý xif như dữ liệu có thứ tự liên tục và xử lý các hạng của chúng như giá trị tỷ lệ khoảng cách Hai phương pháp sau có hiệu quả nhất, mặc dầu việc lựa chọn phương pháp để dùng còn phụ thuộc vào ứng dụng cho trước
II.3 Phân loại các phương pháp phân cụm chính
Hiện có một sốlượng lớn các giải thuật phân cụm trong các tài liệu Việc lựa chọn giải thuật phân cụm tuỳthuộc vào kiểu dữliệu cho sẵn, mục đích riêng và ứng dụng Nếu như phép phân tích cụm được dùng nhưmột công cụ mô tả hay thăm dò thì
có thể thử một vài giải thuật trên cùng dữ liệu để xem xem dữ liệu có thể thể hiện được điều gì
Nhìn chung, các phương pháp phân cụm chính được phân thành các loại sau:
• Các phương pháp phân chia:
Trang 14Cho trước một cơ sở dữ liệu với n đối tượng hay các bộ dữ liệu, một phương pháp phân chia được xây dựng để chia dữ liệu thành k phần, mỗi phần đại diện cho một cụm, k ≤ n Đó là phân loại dữ liệu vào trong k nhóm, chúng thoả các yêu cầu sau: (1) Mỗi nhóm phải chứa ít nhất một đối tượng, (2) Mỗi đối tượng phải thuộc về chính xác một nhóm Lưu ý rằng yêu cầu thứ 2 được nới lỏng trong nhiều kỹ thuật phân chia mờ sẽ được thảo luận ngắn gọn trong chương này Cho trước k là số lượng các phần chia cần xây dựng, phương pháp phân chia tạo lập phép phân chia ban đầu Sau đó nó dùng kỹthuật lặp lại việc định vị, kỹ thuật này cố gắng cải thiện sự phân chia bằng cách gỡ bỏcác đối tượng từ nhóm này sang nhóm khác Tiêu chuẩn chung của một phân chia tốt là các đối tượng trong cùng cụm là "gần" hay có quan hệvới nhau, ngược lại, các đối tượng của các cụm khác nhau lại "tách xa" hay rất khác nhau
Có nhiều tiêu chuẩn khác nhau để đánh giá chất lượng các phép phân chia Trong phân cụm dựa trên phép phân chia, hầu hết các ứng dụng làm theo một trong hai phương pháp heuristic phổ biến: (1) Giải thuật k-means với mỗi cụm được đại diện bởi giá trị trung bình của các đối tượng trong cụm; (2) Giải thuật k-medoidsvới mỗi cụm được đại diện bởi một trong số các đối tượng định vị gần tâm của cụm Các phương pháp phân cụm heuristic này làm việc tốt khi tìm kiếm các cụm có hình cầu trong các cơ sở dữ liệu có kích thước từ nhỏ tới trung bình Đểtìm ra các cụm với các hình dạng phức tạp và phân cụm cho các tập dữ liệu rất lớn, các phương pháp dựa trên phân chia cần được mở rộng
• Các phương pháp phân cấp:
Một phương pháp phân cấp tạo một phân tích phân cấp tập các đối tượng dữ liệu đã cho Một phương pháp phân cấp có thể được phân loại như tích đống hay phân chia, dựa trên việc phân ly phân cấp được hình thành như thế nào Tiếp cận tích đống còn được gọi là tiếp cận "bottom - up", lúc đầu mỗi đối tượng lập thành một nhóm riêng biệt Nó hoà nhập lần lượt các đối tượng hay các nhóm gần nhau với nhau cho tới khi tất cảcác nhóm được hoà nhập thành một (mức cao nhất của hệthống phân cấp), hay cho tới khi một gặp một điều kiện kết thúc
Tiếp cận phân ly còn được gọi là tiếp cận "top - down", lúc đầu tất cả các đối tượng trong cùng một cụm Trong mỗi lần lặp kếtiếp, một cụm được chia vào trong các cụm nhỏ hơn cho tới khi cuối cùng mỗi đối tượng trong một cụm hay cho tới khi gặp một điều kiện kết thúc Sự kết hợp của việc lặp lại việc định vị và phân ly phân
Trang 15cấp sẽ thuận lợi bởi trước tiên sử dụng giải thuật phân ly phân cấp và sau đó cải tiến kết quả sử dụng định vị lặp Nhiều giải thuật phân cụm mở rộng như BIRCH và CURE được phát triển dựa trên một tiếp cận tích hợp như vậy.
• Các phương pháp dựa trên mật độ:
Hầu hết các phương pháp phân chia cụm các đối tượng dựa trên khoảng cách giữa các đối tượng Các phương pháp như vậy có thể chỉ tìm được các cụm có hình cầu và sẽ gặp khó khăn khi các cụm đang khám phá lại có hình dạng tuỳ ý Các phương pháp phân cụm được phát triển dựa trên khái niệm mật độ Ý tưởng chung đó
là tiếp tục phát triển cụm cho trước với điều kiện là mật độ(số các đối tượng hay các điểm dữ liệu) trong "lân cận" vượt quá ngưỡng, tức là đối với mỗi điểm dữ liệu trong phạm vi một cụm cho trước thì lân cận trong vòng bán kính đã cho chứa ít nhất một
số lượng điểm tối thiểu Một phương pháp như vậy có thể được dùng đểlọc ra nhiễu (các outlier) và khám phá ra các cụm có hình dạng bất kỳ DBSCAN là một phương pháp dựa trên mật độ điển hình, nó tăng trưởng các cụm theo một ngưỡng mật độ OPTICS là một phương pháp dựa trên mật độ, nó tính toán một thứtựphân cụm tăng dần cho phép phân tích cụm tự động và tương tác
• Các phương pháp dựa trên lưới:
Một phương pháp dựa trên lưới lượng tửhoá không gian đối tượng vào trong một số hữu hạn các ô hình thành nên một cấu trúc lưới Sau đó nó thực hiện tất cảcác thao tác phân cụm trên cấu trúc lưới (tức là trên không gian đã lượng tử hoá) Thuận lợi chính của tiếp cận này là thời gian xử lý nhanh chóng của nó độc lập với số các đối tượng dữ liệu và chỉ tuỳ thuộc vào số lượng các ô trong mỗi chiều của không gian lượng tử STING là một ví dụ điển hình của phương pháp dựa trên lưới WaveCluster
và CLIQUE là hai giải thuật phân cụm dựa trên cảlưới và mật độ
Nhiều giải thuật phân cụm tích hợp các ý tưởng của một vài phương pháp phân cụm, bởi vậy việc phân loại giải thuật đó không dễ như loại giải thuật chỉ phụ thuộc vào duy nhất một loại phương pháp phân cụm Hơn nữa, nhiều ứng dụng có thểcó giới hạn phân cụm với yêu cầu tích hợp một số kỹ thuật phân cụm
Trang 16PHẦN II : THUẬT TOÁN SOM
I Tổng quan mạng Nơron
I.1 Giới thiệu:
Mạng Neuron nhân tạo (Artificial Neural Network- Mạng Nơron) là mô hình xử
lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các Neuron được gắn kết để xử lý thông tin Mạng nơron giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data)
Các ứng dụng của mạng Neuron được sử dụng trong rất nhiều lĩnh vực như điện, điện tử, kinh tế, quân sự,… để giải quyết các bài toán có độ phức tạp và đòi hỏi có độ chính xác cao như điều khiển tự động, khai phá dữ liệu, nhận dạng,…
I.2 Kiến trúc tổng quát mạng nơron:
Processing Elements (PE): Các PE của Mạng nơron gọi là Neuron, mỗi
Nueron nhận các dữ liệu vào (Inputs) xử lý chúng và cho ra một kết quả (output) duy nhất Kết quả xử lý của một Neuron có thể làm Input cho các Neuron khác
Kiến trúc chung của một Mạng nơron gồm 3 thành phần đó là Input Layer, Hidden Layer và Output Layer
Trong đó, lớp ẩn (Hidden Layer) gồm các Neuron, nhận dữ liệu input từ các Nueron ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một Mạng Nơron có thể có nhiều Hidden Layer