1. Trang chủ
  2. » Luận Văn - Báo Cáo

Mạng kohonen và ứng dụng cho việc đánh giá trình độ học vấn của các dân tộc tỉnh yên bái

71 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 2,14 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỞ ĐẦU Mạng nơron nhân tạo nói chung, mạng KOHONEN nói riêng đã và đang được nghiên cứu, ứng dụng mạnh mẽ và thành công ở nhiều lĩnh vực trong những năm gần đây, là công cụ tốt trong việ

Trang 1

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân tôi, không sao chép của ai do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp và thực hiện Nội dung lý thuyết trong luận văn tôi có sử dụng một số tài liệu tham khảo như đã trình bày trong phần tài liệu tham khảo Các số liệu, chương trình phần mềm và những kết quả trong luận văn là trung thực và chưa được công bố trong bất kỳ một công trình nào khác

Thái Nguyên, tháng 4 năm 2016

Học viên thực hiện

Đặng Trung Kiên

LỜI CẢM ƠN

Trang 3

Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Lê Bá Dũng người

đã tận tình hướng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm luận văn

Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy cô Viện Công nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt quá trình học của mình

Tôi cũng xin gửi lời cảm ơn tới Ban Giám đốc Sở Giáo dục Yên Bái đã tạo điều kiện thuận lợi cho tôi tham gia khóa học và trong suốt quá trình hoàn thành luận văn

Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn bè những người đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có được kết quả như ngày hôm nay

Thái Nguyên, tháng 4 năm 2016

Học viên

Đặng Trung Kiên

Trang 4

MỤC LỤC

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC i

THUẬT NGỮ TIẾNG ANH iii

MỞ ĐẦU 1

Chương 1: MẠNG NƠRON VÀ BÀI TOÁN PHÂN CỤM DỮ LIỆU 3

1.1 Cấu trúc và mô hình mạng Nơron 3

1.1.1 Mô hình một nơron sinh học 3

1.1.2 Cấu trúc và mô hình của một nơron nhân tạo 4

1.2 Mạng Nơron Kohonen và bài toán phân cụm dữ liệu 7

1.2.1 Giới thiệu mạng Kohonen (SOM - Self Organizing Maps) 7

1.2.2 Bài toán phân cụm dữ liệu 10

Chương 2: PHÂN CỤM DỮ LIỆU BẰNG MẠNG KOHONEN 16

2.1 Thuật toán phân cụm dữ liệu 16

2.2 Một số thuật toán trong phân cụm dữ liệu 17

2.2.1 Thuật toán phân cụm phân cấp 17

2.2.2 Thuật toán phân cụm phân hoạch (Thuật toán K-means) 18

2.2.3 Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN) 22

2.2.4 Thuật toán phân cụm dựa trên lưới (Thuật toán STING) 24

2.2.5 Các thuật toán phân cụm dựa trên mô hình (Thuật toán EM) 25

2.3 Thuật toán phân cụm bằng mạng Kohonen 26

2.3.1 Cấu trúc của mạng nơron Kohonen 26

2.3.2 Thuật toán phân cụm bằng mạng Kohonen 27

2.4 Phân cụm bằng mạng Kohonen 31

2.4.1 Khởi tạo mạng Kohonen (SOM) 31

2.4.2 Huấn luyện mạng Kohonen 32

2.4.3 Tỉ lệ học 32

2.4.4 Cập nhật lại trọng số 33

Trang 5

2.4.5 Xác định nơron chiến thắng 34

Chương 3: ỨNG DỤNG MẠNG KOHONEN (SOM) TRONG PHÂN TÍCH ĐÁNH GIÁ TRÌNH ĐỘ HỌC VẤN CÁC DÂN TỘC Ở TỈNH YÊN BÁI 35

3.1 Mô tả bài toán 35

3.1.1 Khái quát điều kiện tự nhiên, tình hình kinh tế-xã hội và giáo dục tỉnh Yên Bái 35

3.1.2 Trình độ học vấn 36

3.2 Thu thập dữ liệu 37

3.3 Mạng Kohonen cho phân tích đánh giá trình độ học vấn các dân tộc ở tỉnh Yên Bái 42

3.3.1 Cấu trúc mạng 42

3.3.2 Giới thiệu công cụ SOM Toolbox 42

3.3.3 Chuẩn bị dữ liệu 48

3.3.4 Mô hình mạng Kohonen 49

3.3.5 Chương trình ứng dụng mô hình mạng Kohonen 51

3.3.6 Kết quả sau khi huấn luyện mô hình mạng Kohonen 52

3.3.7 Đánh giá kết quả 57

Tài liệu tham khảo 64

Trang 6

THUẬT NGỮ TIẾNG ANH

SOM (Self-Organizing Maps) Mạng nơron tự tổ chức

PE (Processing element) Phần tử xử lý

U-matrix (unified distance matrix) Ma trận thống nhất khoảng cách

EM (Expectation maximization) Thuật toán tối đa hóa

MST (Minimum spanning tree) Thuật toán tối thiểu cây mở rộng BMU (Best - Matching unit) Đơn vị phù hợp nhất

DBSCAN (Density Based Spatial

Clustering of Applications with

Noise)

Phân cụm dữ liệu dựa trên không gian mật độ ứng dụng với nhiễu

Trang 7

CÁC HÌNH VẼ, BẢNG BIỂU TRONG LUẬN VĂN

Hình 1.1 Một nơron sinh học 3

Hình 1.2 Sự liên kết các nơron 4

Hình 1.3 Mô hình một nơron nhân tạo 5

Hình 1.4 Đồ thị các dạng hàm truyền 7

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

Hình 1.6 Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách 12

Hình 1.7 Ví dụ phân cụm các ngôi nhà dựa trên kích cỡ 13

Hình 2.1 Các chiến lược phân cụm phân cấp 17

Hình 2.2 Các thiết lập để xác định ranh giới các cụm ban đầu 129

Hình 2.3 Tính toán trọng tâm của các cụm mới 20

Hình 2.4 Hình dạng các cụm được khám phá bởi thuật toán DBSCAN 23

Hình 2.5 Một dạng mạng nơron Kohonen 27

Hình 2.6 Phần tử nơron chiến thắng BMU 28

Hình 2.7 Các vùng lân cận 28

Hình 3.1 Thuật toán phân cụm trình độ học vấn của các dân tộc ở tỉnh Yên Bái 51 Hình 3.2 Giao diện chương trình 52

Hình 3.3 Hình ảnh phân cụm trình độ học vấn các dân tộc 53

Hình 3.4 Hình ảnh cụm theo lớp của các dân tộc 54

Hình 3.5 Hình ảnh phân cụm trình độ học vấn các nữ dân tộc 55

Hình 3.6 Hình ảnh cụm theo lớp của các nữ dân tộc 56

Bảng 3.1 Trình độ học vấn các dân tộc 38

Bảng 3.2 Trình độ học vấn các nữ dân tộc 40

Trang 8

MỞ ĐẦU

Mạng nơron nhân tạo nói chung, mạng KOHONEN nói riêng đã và đang được nghiên cứu, ứng dụng mạnh mẽ và thành công ở nhiều lĩnh vực trong những năm gần đây, là công cụ tốt trong việc giải quyết các bài toán như: hợp và phân lớp đối tượng, phân cụm dữ liệu, Nó thay thế hiệu quả các công cụ tính toán truyền thống để giải quyết các bài toán này

Mạng nơron SOM được giáo sư Teuvo Kohonen của trường đại học Helsinki Phần Lan phát triển vào những năm 80 của thế kỷ 20 [9] Đây là mạng truyền thẳng

sử dụng thuật học cạnh tranh, không giám sát có khả năng phân cụm dữ liệu với một lượng lớn dữ liệu đầu vào

Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người và được

sử dụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu,

xử lý ảnh, nghiên cứu thị trường [1] phân cụm dữ liệu có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô

tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm Với tư cách là một chức năng khai phá dữ liệu, phân tích phân cụm có thể được sử dụng như một công cụ độc lập chuẩn để quan sát đặc trưng của mỗi cụm thu được bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệt của các cụm để giúp cho việc phân tích đạt kết quả

Hiện nay có khá nhiều thuật toán đã được đưa ra để áp dụng cho bài toán phân cụm, tuy nhiên mỗi giải thuật đều có những ưu, nhược điểm riêng Dựa trên các đặc tính của mạng nơron Kohonen thì việc lựa chọn giải thuật này cho bài toán phân cụm dựa trên tập dữ liệu trình độ học vấn phổ thông của các dân tộc tỉnh Yên Bái là một hướng đi mới, có nhiều hứa hẹn Qua những phân tích ở trên cho thấy có thể phân cụm dựa trên tập dữ liệu trình độ học vấn phổ thông của các dân tộc tỉnh Yên Bái Điều này có ý nghĩa quan trọng trong công tác quản lý, giúp cho ngành giáo dục và đào tạo có thể thấy được toàn cảnh về trình độ học vấn của các dân tộc

ở các vùng miền trong tỉnh, qua đó có sự đánh giá chính xác về trình độ học vấn

Trang 9

giữa các dân tộc, giữa các khu vực trong tỉnh để từ đó có thể đưa ra các định hướng phát triển giáo dục dân tộc giữa các vùng miền trong tỉnh cho phù hợp Ngoài ra, việc phân cụm cũng có thể giúp định hướng công tác xoá mù chữ, phổ cập giáo dục tiểu học, phổ cập giáo dục trung học cơ sở đạt kết quả và bền vững

Như vậy, nội dung nghiên cứu của đề tài là giải quyết bước đầu trong vấn đề

về khai phá dữ liệu, có vai trò cũng như đóng góp rất quan trọng trong việc nâng cao hiệu quả cho các bước phân tích dữ liệu phía sau

Được sự gợi ý của thầy hướng dẫn và nhận thấy tính thiết thực của vấn đề

em chọn đề tài: “Mạng Kohonen và ứng dụng cho việc đánh giá trình độ học vấn của các dân tộc tỉnh Yên Bái”

Phương pháp nghiên cứu chính là tìm hiểu về mạng Nơron Kohonen qua các tài liệu, bài báo viết về mạng SOM và sử dụng công cụ SOM Toolbox để huấn luyện mạng SOM phân cụm dữ liệu

Nội dung luận văn gồm có 3 chương:

Chương 1: Tìm hiểu cấu trúc, mô hình mạng Nơron, mạng Nơron Kohonen, bài toán phân cụm dữ liệu

Chương 2: Giới thiệu một số thuật toán phân cụm phổ biến Trong chương này trình bày về mạng SOM: Giới thiệu về cấu trúc của SOM, thuật toán SOM, sử dụng SOM trong phân cụm dữ liệu

Chương 3: Ứng dụng mạng Nơron Kohonen trong đánh giá trình độ học vấn của các dân tộc tỉnh Yên Bái

Trang 10

Chương 1 : MẠNG NƠRON VÀ BÀI TOÁN PHÂN CỤM DỮ LIỆU

1.1 Cấu trúc và mô hình mạng Nơron

1.1.1 Mô hình một nơron sinh học

Phần tử xử lý cơ bản của một mạng nơron sinh học là một nơron, phần tử này có thể chia làm bốn thành phần cơ bản như sau: dendrites, soma, axon, và synapses

- Dendrites: là phần nhận tín hiệu đầu vào

- Soma: là hạt nhân

- Axon: là phần dẫn ra tín hiệu xử lý

- Synapses: là đường tín hiệu điện hóa giao tiếp giữa các nơron

Kiến trúc cơ sở này của bộ não con người có một vài đặc tính chung Một cách tổng quát, thì một nơron sinh học nhận đầu vào từ các nguồn khác nhau, kết hợp chúng tại với nhau, thực thi tổ hợp phi tuyến chúng để cho ra kết quả cuối cùng

ở đầu ra Hình 1.1 chỉ ra mối quan hệ giữa bốn phần tử của một nơron sinh học

Hình 1.1 Một nơron sinh học

Trang 11

Một nơron sinh học chỉ có một số chức năng cơ bản như vậy, ta nhận thấy khả năng xử lý thông tin của nó là rất yếu Để có được khả năng xử lý thông tin hoàn hảo như bộ não con người, thì các nơron phải kết hợp và trao đổi thông tin với nhau Ta hình dung sơ đồ liên kết, và trao đổi thông tin giữa hai nơron như hình 1.2

Hình 1.2 Sự liên kết các nơron

1.1.2 Cấu trúc và mô hình của một nơron nhân tạo

Mô hình toán học của mạng nơron sinh học được đề xuất bởi McCulloch và Pitts [1], [2], thường được gọi là nơron M-P, ngoài ra nó còn được gọi là phần tử xử

lý và được ký hiệu là PE (Processing Element)

Mô hình nơron có m đầu vào x1, x2, , xm, và một đầu ra yi như sau:

Trang 12

Hình 1.3 Mô hình một nơron nhân tạo

Giải thích các thành phần cơ bản:

- Tập các đầu vào: Là các tín hiệu vào của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector m chiều

- Tập các liên kết (các trọng số): Mỗi liên kết được thể hiện bởi một trọng

số (thường được gọi là trọng số liên kết) Trọng số liên kết giữa tín hiệu vào thứ j cho nơron i thường được ký hiệu là wij Thông thường các trọng

số này được khởi tạo ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình học mạng

- Bộ tổng (Hàm tổng): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó

- Ngưỡng: Ngưỡng này thường được đưa vào như một thành phần của hàm truyền

- Hàm truyền: Hàm này dùng để giới hạn phạm vi đầu ra của mỗi nơron

Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho Thông thường, phạm vi đầu ra của mỗi nơron được giới hạn trong đoạn [0,1] hoặc [-1,1] Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến Việc lựa chọn hàm truyền tùy thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng

- Đầu ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa một đầu ra

Trang 13

Về mặt toán học, cấu trúc của một nơron i được mô tả bằng cặp biểu thức sau:

y if(net i i) và j

n j ij

Như vậy, tương tự như nơron sinh học, nơron nhân tạo cũng nhận các tín hiệu đầu vào, xử lý (nhân các tín hiệu này với trọng số liên kết, tính tổng các tích thu được rồi gửi kết quả đến hàm truyền), và cho một tín hiệu đầu ra (là kết quả của hàm truyền)

01

x khi

x khi

01

)sgn(

x khi

x khi x

10

11

)sgn(

x khi

x khi

x

x khi x

- Hàm ngưỡng hai cực

11

Trang 14

Hình 1.4 Đồ thị các dạng hàm truyền

1.2 Mạng Nơron Kohonen và bài toán phân cụm dữ liệu

1.2.1 Giới thiệu mạng Kohonen (SOM - Self Organizing Maps)

Trong các kiểu khác nhau của mạng nơron, mạng nơron Kohonen giống với mạng nơron sinh học hơn cả về cấu tạo lẫn cơ chế học Mạng nơron nhân tạo này lần đầu tiên được giới thiệu bởi Kohonen vào năm 1982, nó được biết đến như là ánh xạ đặc trưng tự tổ chức (SOM) Ánh xạ tự tổ chức của Kohonen còn được biết đến là một trong những mô hình khá đơn giản của mạng nơron, và người ta thường gọi đó là mạng nơron Kohonen

Mạng nơron Kohonen (hay nơron tự tổ chức) mô hình hóa cách hoạt động bộ não của con người, mặc dù nó khá đơn giản Chúng ta có thể nhận được một số ý tưởng cách bộ não lưu trữ hình ảnh và cách nó nhận dạng các hình ảnh

Cách xử lý thông tin các mạng nơron khác thường chỉ quan tâm đến giá trị và dấu hiệu của thông tin đầu vào, chưa quan tâm khai thác các mối liên hệ có tính chất cấu trúc trong lân cận của các vùng dữ liệu mẫu, hay toàn thể không gian Nhưng trong mạng nơron Kohonen đã quan tâm đến các yếu tố này

Tự tổ chức trong mạng nơron là một trong những chủ đề cuốn hút trong mạng nơron Một mạng nơron như vậy có thể được luyện để tìm ra các quy luật và các tương quan, các giá trị nhập vào và dự đoán các kết quả tiếp theo Các nơron

Trang 15

của mạng thông qua quá trình luyện cạnh tranh để nhận ra một nhóm các đối tượng đầu vào tương đương nhau Mục đích chính của việc luyện trong mạng nơron Kohonen là nhận dạng một nhóm các vector đầu vào cùng loại

Việc thi hành mạng nơron Kohonen có thể được thay thế bởi một thuật toán tương ứng mà dễ dàng thi hành, và luôn luôn được sử dụng trong các ứng dụng của mạng nơron Kohonen Chúng ta gọi thuật toán đó là thuật toán mạng nơron tự tổ chức (Kohonen, 1988) hay ánh xạ tự tổ chức SOM Ý tưởng đáng chú ý của thuật toán này là ánh xạ các đặc trưng topo tự tổ chức nhằm bảo toàn trật tự sắp xếp các mẫu trong không gian biểu diễn nhiều chiều sang một không gian mới với các mảng nơron có số chiều nhỏ hơn, thường là hai chiều Đây là một phép chiếu phi tuyến đem lại một “ánh xạ đặc trưng” hai chiều, nó có thể được sử dụng trong việc phát hiện và phân tích những đặc trưng trong không gian đầu vào Ta hiểu điều này như

là bảo toàn cấu trúc các đặc trưng Trong mạng nơron Kohonen, các vector tín hiệu đầu vào gần nhau sẽ được ánh xạ sang các nơron lân cận trong mạng

Kỹ thuật SOM đã được áp dụng thành công trong một số lĩnh vực như nhận dạng, phân cụm dữ liệu, dự đoán chuỗi và khai phá dữ liệu, [8, 9] Mẫu được nhận dạng có thể là ảnh, âm thanh hoặc văn bản, Có thể xem SOM là một lớp điển hình, nhưng rất đơn giản của các mạng nơron Kohonen

Mạng luyện không có thầy hướng dẫn, là một kiểu luyện mà ở đó các nơron

tự xoay xở với các dữ liệu mẫu mà nó có được chứ không có “Ông thầy” gợi ý cần luyện theo hướng nào

Tự mình khám phá những quan hệ đang được quan tâm, ví dụ về các dạng (patterns), các đặc trưng (features) từ dữ liệu vào (input data) sau đó chuyển thành cái ra (outputs) Như vậy thực chất: đó là các mạng tự tổ chức (hay mạng nơron Kohonen)

Mạng noron Kohonen là mạng có khả năng sử dụng những kinh nghiệm của quá khứ để thích ứng với những biến đổi của môi trường (không dự báo trước) Loại mạng này thuộc nhóm hệ học, thích nghi không cần có tín hiệu chỉ đạo từ bên ngoài

Trang 16

Trong phần này chúng ta sẽ trình bày một số quy trình luyện tham số của luyện không có thầy như sau:

Có m tín hiệu vào {x1, x2, , xm},wij là trọng số liên kết từ xj với PEi

Gọi s(x), s(y) là hàm chuyển tín hiệu, giả thiết đó là hàm đơn điệu không giảm liên tục như dạng hàm Sigmoid

Phương thức biến đổi trọng số được gọi là luật luyện Hebb, quy tắc luyện đơn giản theo dạng Hebb cho bởi phương trình:

)()

()

(

'

j j i i ij ij

dt

t dw

w    Bây giờ ta xét một số trường hợp riêng:

- Quy tắc luyện cạnh tranh (Competitive Learning Rule - Grossberg 1969, Rumelhart 1986)

) ) ( )(

(

'

ij j j i i

- Nếu dùng s xj( j)  xj ta thu được :

Quy tắc luyện cạnh tranh tuyến tính (the Linear competitive learning rule)

) )(

(

'

ij j i i

Trang 17

Bước 1: Bước tìm cái khớp nhất (matching) - tìm nơron tạm gọi là nơron thắng (theo nghĩa gần mẫu nhất), sử dụng công thức sau:

x

w x y y

y max( 1 m) . , (Phương pháp tính tích vô hướng)

Bước 2: Tính toán sai số và điều chỉnh trọng số

Ký hiệu ej là sai số ở cột thứ j, wij là biểu diễn cho cột thứ j của ma trận trọng

số w, sai số này được tính theo công thức sau:

ej = ||x-wij||

Nếu tổng sai số chưa nằm dưới mức cho phép, ta điều chỉnh trọng số theo công thức:

)(

ij i k

ij k

w     với k =1,…,m

Khi một mẫu được đưa tới một mạng Kohonen, những nơron được chọn là nơron thắng (winner) (nơron thích hợp nhất theo nghĩa mà ta đặt ra) Nơron thắng này là dữ liệu đầu ra từ mạng Kohonen Thông thường, các nơron thắng này tương ứng với các nhóm trong dữ liệu đưa vào mạng Kohonen

Mạng Kohonen được huấn luyện trong một chế độ không có giám sát Sử dụng mạng Kohonen này, dữ liệu có thể được phân loại thành từng cụm

1.2.2 Bài toán phân cụm dữ liệu

1.2.2.1 Khái niệm

Phân cụm dữ liệu là một kỹ thuật trong Data mining nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho việc ra quyết định [5]

Phân cụm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các nhóm dữ liệu với trong đó các đối tượng tương tự như nhau Trong mỗi nhóm, một

số chi tiết có thể không quan tâm đến để đổi lấy dữ liệu đơn giản hóa Hay ta

có thể hiểu “Phân cụm dữ liệu là quá trình tổ chức các đối tượng thành từng nhóm

mà các đối tượng ở mỗi nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương tự tính chất sẽ ở nhóm khác” [5]

Trang 18

Phân cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng Phân cụm dữ liệu là một ví dụ của phương pháp học không có thầy Không giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coi phân cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ Ngoài ra phân cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho các thuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra các cụm

Như vậy, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các đối tượng trong một cụm “tương tự” (Similar) với nhau và các đối tượng trong các cụm khác nhau sẽ “không tương tự” (Dissimilar) với nhau Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định

Chúng ta có thể thấy điều này với một ví dụ đơn giản như sau:

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

Trong trường hợp này, chúng ta dễ dàng xác định được 4 cụm dựa vào các

dữ liệu đã cho; các tiêu chí “tương tự” để phân cụm trong trường hợp này là khoảng cách: hai hoặc nhiều đối tượng thuộc nhóm của chúng được “đóng gói”

Trang 19

theo một khoảng cách nhất định Điều này được gọi là phân cụm dựa trên khoảng cách

Một kiểu khác của phân cụm dữ liệu là phân cụm dữ liệu dựa vào khái niệm: hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm chung cho tất cả các đối tượng trong đó Nói cách khác, đối tượng của nhóm phải phù hợp với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo những biện pháp đơn giản tương tự

1.2.2.2 Mục tiêu của phân cụm dữ liệu

Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bên trong một

bộ dữ liệu không có nhãn Nhưng để có thể quyết định được cái gì tạo thành một cụm tốt Nhưng làm thế nào để quyết định cái gì đã tạo nên một phân cụm dữ liệu tốt

? Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệt đối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của phân cụm dữ liệu Do đó, mà người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của phân cụm dữ liệu sẽ phù hợp với nhu cầu của họ cần

Ví dụ, chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho các nhóm đồng nhất trong “các cụm tự nhiên” và mô tả thuộc tính không biết của chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu)

Hình 1.6: Ví dụ phân cụm các ngôi nhà dựa trên khoảng cách

Trang 20

Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu Nhiễu ở đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng nhiễu bằng giá trị thuộc tính tương ứng Ngoài ra, dò tìm đối tượng ngoại lai cũng là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu trong cơ sở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của phân cụm

Hình 1.7: Ví dụ phân cụm các ngôi nhà dựa trên kích cỡ

Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc

cơ sở dữ liệu Hơn nữa, đối với các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp Vì vậy phân cụm dữ liệu vẫn đang

Trang 21

là một vấn đề khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn trong lĩnh vực khai phá dữ liệu

1.2.2.3 Ứng dụng của phân cụm dữ liệu

Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:

- Thương mại: Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị, phân loại và dự đoán hành vi khách hàng,…) sử dụng sản phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn;

- Sinh học: Phân nhóm động vật và thực vật dựa vào các thuộc tính của chúng;

- Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;

- Bảo hiểm, tài chính: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian lận tài chính (identifying frauds);

- WWW: Phân loại tài liệu (document classification); phân loại người dùng web (clustering weblog);…

- Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý…nhằm cung cấp thông tin cho quy hoạch đô thị

- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung cấp thông tin cho nhận dạng những vùng nguy hiểm

1.2.2.4 Các yêu cầu khi phân cụm

Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềm năng của chúng được đưa ra ngay chính những yêu cầu đặc biệt của chúng Sau đây là những yêu cầu cơ bản của phân cụm trong khai phá dữ liệu:

- Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo kích thước của dữ liệu

- Thuật toán phải xử lý và áp dụng được với cơ sở dữ liệu nhiều nhiễu, phức tạp bao gồm cả dữ liệu không gian, phi không gian, dữ liệu số, phi số,

Trang 22

kiểu nhị phân, dữ liệu định danh, hạng mục, thích nghi với kiểu dữ liệu hỗn hợp

- Thuật toán phải có khả năng xác định được với những cụm với hình dáng bất kỳ bao gồm cả những cụm có hình dáng lồng nhau, cụm có hình dạng lõm, hình cầu, hình que…

- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào Do các giá trị đầu vào thường thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp với cơ sở dữ liệu (CSDL) lớn

- Thuật toán phải thực hiện với mọi thứ tự đầu vào dữ liệu Nói cách khác kết quả của thuật toán nên độc lập với dữ liệu đầu vào

- Thuật toán không đòi hỏi những tri thức về CSDL từ người dùng

- Thuật toán phải làm việc được với CSDL chứa nhiều lớp đối tượng dữ liệu phức tạp và có tính chất khác nhau

- Thuật toán phải thích nghi với dữ liệu đa chiều: Thuật toán có khả năng áp dụng hiệu quả cho dữ liệu có số chiều khác nhau

- Thuật toán phải dễ hiểu, dễ cài đặt và khả thi: Người sử dụng có thể chờ đợi các kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng rõ ràng Việc nghiên cứu để một ứng dụng đạt được mục tiêu rất quan trọng có thể gây ảnh hưởng tới sự lựa chọn các phương pháp phân cụm

Trang 23

Chương 2 : PHÂN CỤM DỮ LIỆU BẰNG MẠNG KOHONEN

2.1 Thuật toán phân cụm dữ liệu

Phân cụm dữ liệu là kỹ thuật sử dụng quan sát đối tượng, mục đích để tổ chức một tập các đối tượng cụ thể hoặc trừu tượng vào các nhóm, cụm phân biệt Bài toán phân cụm thường được thực hiện khi chúng ta không biết được nội dung thông tin của các thành phần thuộc cụm để định nghĩa trước các lớp Vì lý do này

mà công việc phân cụm thường được nhìn dưới con mắt của học máy không giám sát, phương pháp học mà khi ta cho trước một mẫu chỉ gồm các đối tượng cần tìm một cấu trúc đáng quan tâm của dữ liệu và nhóm lại các dữ liệu giống nhau

Thuật toán phân cụm phát triển có thể cho kết quả tốt nhất với một loại tập hợp dữ liệu, nhưng có thể thất bại hoặc cho kết quả kém với các dữ liệu của các loại khác Mặc dù đã có nhiều nỗ lực để tiêu chuẩn hóa các thuật toán có thể thực hiện tốt trong tất cả các trường hợp tình huống tuy nhiên vẫn chưa đạt được kết quả như mong muốn Nhiều thuật toán phân cụm đã được đề xuất, mỗi thuật toán có giá trị riêng và điểm yếu riêng và không thể làm việc cho tất cả các tình huống thực tế Phân cụm là quá trình phân vùng dữ liệu được thiết lập thành các nhóm dựa trên những đặc điểm tương tự nhau Đây là vấn đề quan trọng trong học không giám sát Nó thực hiện công việc với cấu trúc tìm kiếm trong một bộ dữ liệu không được dán nhãn Để thực hiện tốt các thuật toán phân cụm thì cần phải có những điều kiện:

- Khả năng mở rộng - dữ liệu phải được mở rộng nếu không sẽ đưa ra kết quả sai

- Thuật toán phân cụm phải có khả năng giải quyết với các loại thuộc tính khác nhau

- Thuật toán phân cụm phải tìm ra các cụm dữ liệu với những hình dạng khác nhau

- Thuật toán phân cụm không bị ảnh hưởng bởi nhiễu và giá trị ngoại lệ

- Kết quả thu được có thể giải thích được và có thể sử dụng để hiểu biết tối

Trang 24

đa các thông số đầu vào

- Thuật toán phân cụm phải có khả năng giải quyết tập dữ liệu đa chiều

2.2 Một số thuật toán trong phân cụm dữ liệu

2.2.1 Thuật toán phân cụm phân cấp

Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Có hai cách tiếp cận phổ biến của kỹ thuật này đó là: hòa nhập nhóm, thường được gọi là tiếp cận (Bottom-Up); phân chia nhóm, thường được gọi là tiếp cận (Top-Down)

- Phương pháp “dưới lên” (Bottom up): Phương pháp này bắt đầu với mỗi

đối tượng được khởi tạo tương ứng với các cụm riêng biệt, sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của hai nhóm) [4], [5], [6], quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết thúc thỏa mãn Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình phân cụm

Hình 2.1: Các chiến lược phân cụm phân cấp

- Phương pháp “trên xuống” (Top Down): Bắt đầu với trạng thái là tất cả

các đối tượng được xếp trong cùng một cụm Mỗi vòng lặp thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừng thỏa mãn [4], [5], [6] Cách tiếp cận này sử dụng chiến lược chia để trị trong quá trình phân

Trang 25

cụm

Thuật toán:

Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu

Bước 1: Bắt đầu với phân chia các nhóm có mức L(0) = 0 và dãy số m = 0 Bước 2: Tìm khoảng cách tối thiểu của cụm trong cụm hiện tại biểu diễn

bằng cặp (r), (s) theo công thức d[(r),(s)]=min d[i,j] là nhỏ nhất so với các cụm hiện tại

Bước 3: Tăng số thứ tự m=m+1 Hợp nhất các cụm (r) và (s) vào một cụm

duy nhất hình thành m cụm tiếp theo Thiết lập mức của nhóm này là L (m)=d[(r),(s)]

Bước 4: Cập nhật ma trận khoảng cách D bằng cách xóa các hàng và

cột tương ứng với cụm (r) và (s) và thêm một hàng và cột tương ứng với cụm mới được thành lập Khoảng cách giữa cụm mới ký hiệu là (r,s) và cụm cũ (k) được định nghĩa d[(k),(r,s)] = min(d[(k),(r)],d[(k),(s)])

Bước 5: Nếu tất cả các điểm dữ liệu trong một cụm thì dừng lại nếu không

lặp lại từ bước 2

Thực tế áp dụng, có nhiều trường hợp kết hợp cả hai phương pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch Phân cụm phân hoạch và phân cụm phân cấp là hai phương pháp phân cụm dữ liệu cổ điển, hiện đã có rất nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến trong khai phá dữ liệu

2.2.2 Thuật toán phân cụm phân hoạch (Thuật toán K-means)

Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho đến khi xác định số các cụm được thiết lập Số các cụm được thiết lập là các đặc trưng được lựa chọn trước Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean Ngoài ra, phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ là gần nhau với mỗi điểm khác và các điểm dữ liệu nào không có quan hệ hoặc có

Trang 26

quan hệ là xa nhau so với mỗi điểm khác Tuy nhiên, phương pháp này không thể

xử lí các cụm có hình dạng kỳ quặc hoặc các cụm có mật độ các điểm dầy đặc Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Như vậy, ý tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm [2]

Điển hình trong phương pháp tiếp cận theo phân cụm phân hoạch là các thuật toán như: K_means, K-medoids, CLARA (Clustering Large Applications), CLARANS (Clustering Large Applications based on RAndomized Search)

Thuật toán k-mean

Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu đến phần tử là trung tâm của cụm chứa nó

Hình 2.2 Các thiết lập để xác định ranh giới các cụm ban đầu

Thuật toán k-means lấy tham số đầu vào là k và phân chia một tập n đối tượng vào trong k cụm để cho kết quả độ tương đồng trong cụm là cao trong khi độ tương đồng ngoài cụm là thấp Độ tương đồng cụm được đo khi đánh giá giá trị

Trang 27

trung bình của các đối tượng trong cụm, nó có thể được quan sát như là “trọng tâm” của cụm

Giải thuật xử lý như sau: trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối tượng đại diện cho một trung bình cụm hay tâm cụm Đối với những đối tượng còn lại, mỗi đối tượng sẽ được ấn định vào một cụm mà nó giống nhất dựa trên khoảng cách giữa đối tượng và trung bình cụm Sau đó sẽ tính lại trung bình cụm mới cho mỗi cụm Xử lý này sẽ được lặp lại cho tới khi hàm tiêu chuẩn hội tụ Bình phương sai số thường dùng làm hàm tiêu chuẩn hội tụ, định nghĩa như sau :

Với x là điểm trong không gian đại diện cho đối tượng cho trước, mi là trung bình cụm Ci (cà x và mi đều là đa chiều) Tiêu chuẩn này cố gắng cho kết quả k cụm càng đặc, càng riêng biệt càng tốt

Hình 2.3 Tính toán trọng tâm của các cụm mới

Thuật toán k-means bao gồm các bước cơ bản sau :

Đầu vào : Số cụm k và hàm E

Trang 28

Đầu ra : Các cụm C[i] (1 ≤ i ≤ k) với hàm tiêu chuẩn E đạt giá trị tối thiểu Begin

Bước 1 : Khởi tạo

Chọn ngẫu nhiên k tâm {m j } k

j=1 ban đầu trong không gian Rd (d là số chiều của dữ liệu) Mỗi cụm được đại diện bằng các tâm của cụm

Bước 2: Tính toán khoảng cách

Đối với mỗi điểm xi(1 ≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng tâm mj(1 ≤ j ≤ k) Sau đó tìm trọng tâm gần nhất đối với mỗi điểm và nhóm chúng vào các nhóm gần nhất

Bước 3: Cập nhật lại trọng tâm

Đối với mỗi 1≤ j ≤ k, cập nhật trọng tâm cụm mj bằng cách xác định trung bình cộng các vectơ đối tượng dữ liệu

Bước 4: Gán lại các nhóm các đối tượng vào nhóm gần nhất dựa trên trọng

Tuy nhiên, nhược điểm của k-means là còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu Hơn nữa, chất lượng phân cụm dữ liệu 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

Trang 29

so với các trọng tâm cụm tự nhiên thì kết quả phân cụm của 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ế 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

đó chọn giải pháp tốt nhất

2.2.3 Thuật toán phân cụm dựa trên mật độ (Thuật toán DBSCAN)

Thuật toán DBSCAN (Density - Based Spatial Clustering of Applications with Noise) là một giải thuật phân cụm dựa trên mật độ, được phát triển bởi Ester, Kriegel, Sander và Xu năm 1996 Giải thuật này tăng trưởng các miền với mật độ cao vào trong các cụm và khám phá ra các cụm có hình dạng bất kỳ trong không gian cơ sở dữ liệu có nhiễu [1], [2]

Ý tưởng cơ bản của phân cụm dựa trên mật độ: Đối với mỗi đối tượng của một cụm, láng giềng trong một bán kính cho trước (ε) (gọi là ε-láng giềng) phải chứa ít nhất một số lượng tối thiểu các đối tượng (MinPts)

Một đối tượng nằm trong một bán kính cho trước (ε) chứa không ít hơn một số lượng tối thiểu các đối tượng láng giềng (MinPts), được gọi là đối tượng nòng cốt (core object) đối với bán kính (ε) và số lượng tối thiểu các điểm (MinPts)

Một đối tượng p là mật độ trực tiếp tiến (directly density-reachable) từ đối tượng q với bán kính ε và số lượng tối thiểu các điểm MinPts trong một tập các đối tượng D nếu p trong phạm vi ε-láng giềng của q với q chứa ít nhất một số lượng tối thiểu điểm MinPts

Một đối tượng p là mật độ tiến (density-reachable) từ đối tượng q với bán kính ε và MinPts trong một tập hợp các đối tượng D nếu như có một đối tượng

p1, p2, …,pn, p1=q và pn=p với 1 ≤ i ≤ n, pi  D và pi+1 là mật độ trực tiếp tiến từ pi đối với ε và MinPts

Một đối tượng p là mật độ liên kết với đối tượng q đối với ε và MinPts trong một tập đối tượng D nếu như có một đối tượng o D để cả p và q là mật độ tiến từ o đối với ε và MinPts

Trang 30

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 được chèn vào chỉ tác động đến một láng giềng xác định Mặt khác, DBSCAN sử dụng tham số ε và MinPts trong thuật toán để kiểm soát mật

độ của các cụm DBSCAN bắt đầu với một điểm tuỳ ý và xây dựng mật độ láng giềng có thể được đối với ε và MinPts Vì vậy, DBSCAN yêu cầu người dùng xác định bán kính ε 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

Độ phức tạp của DBSCAN là O(n2), nhưng nếu á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 thì độ phức của DBSCAN đã được cải tiến là O(nlogn) Thuật toán DBSCAN có thể áp dụng cho các tập dữ liệu không gian lớn đa chiều, khoảng cách Euclide được sử dụng để đo

sự tương tự giữa các đối tượng nhưng không hiệu quả đối với dữ liệu đa chiều

Hình 2.4 Hình dạng các cụm được khám phá bởi thuật toán DBSCAN

Thuật toán: DBSCAN khởi tạo điểm p tùy ý và lấy tất cả các điểm liên lạc mật độ từ p tới ε và MinPts Nếu p là điểm nhân thì thủ tục trên tạo ra một cụm theo ε và MinPts, nếu p là một điểm biên, không có điểm nào liên lạ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 sử dụng giá trị toàn cục ε và MinPts, DBSCAN có thể hoà nhập hai cụm thành một cụm nếu mật độ của hai cụm gần bằng nhau Giả sử khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là :

Trang 31

dist(S1, S2) = min{dist(p, q)} {p  S1 và q  S2}

Thuật toán DBSCAN

Cho tập hợp các điểm dữ liệu X={x1, x2, x3… xn} DBSCAN yêu cầu hai tham số: ε và MinPts để tạo thành một cụm

Bước 1: Bắt đầu với một điểm tùy ý không được kiểm tra

Bước 2: Rút ra các lân cận của điểm này bằng cách sử dụng khoảng cách ε Bước 3: Nếu có đầy đủ các điểm lân cận xung quanh điểm này thì bắt

đầu quá trình phân cụm và điểm được đánh dấu truy cập khác thời điểm này được dán nhãn như là nhiễu

Bước 4: Nếu một điểm được tìm thấy là một phần của cụm thì lân cận ε của

nó cũng là một phần của cụm và thủ tục trên từ bước 2 được lặp đi lặp lại cho tất cả các điểm lân cận ε Điều này được lặp đi lặp lại cho đến khi tất cả các điểm trong cụm được xác định

Bước 5: Một điểm mới ghé thăm thường xuyên được lấy ra và xử lý, dẫn

đến việc phát hiện ra một cụm hoặc nhiễu

Bước 6: Quá trình này được thực hiện cho tới khi các điểm viếng thăm được

đánh dấu

2.2.4 Thuật toán phân cụm dựa trên lưới (Thuật toán STING)

Thuật toán STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vùng không gian dữ liệu được phân rã thành số hữu hạn các ô chữ nhật, điều này có nghĩa là các ô lưới được hình thành từ các ô lưới con để thực hiện phân cụm [2] Có nhiều mức của các ô chữ nhật tương ứng với các mức khác nhau của phân giải trong cấu trúc lưới, và các ô này hình thành cấu trúc phân cấp: mỗi ô ở mức cao được phân hoạch thành số các ô nhỏ ở mức thấp hơn tiếp theo trong cấu trúc phân cấp Các điểm dữ liệu được nạp từ CSDL, giá trị của các tham số thống kê cho các thuộc tính của đối tượng dữ liệu trong mỗi ô lưới được tính toán từ dữ liệu và lưu trữ thông qua các tham số thống kê ở các ô mức thấp hơn Các giá trị của các tham số thống kê gồm: số trung bình - mean, số tối đa - max, số tối thiểu - min, số đếm - count, độ lệch chuẩn - s,

Trang 32

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 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 Cấu trúc dữ liệu lưới thuận tiện cho quá trình

xử lí song song và cập nhật liên tục, khi duyệt toàn bộ CSDL một lần để tính toán các đại lượng thống kê cho mỗi ô, nên nó rất hiệu quả và do đó độ phức tạp thời gian để tạo các cụm xấp xỉ O(n), trong đó n là tổng số các đối tượng Sau khi xây dựng cấu trúc phân cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng

số ô lưới ở mức thấp (g << n)

Thuật toán STING

Bước 1: Xác định tầng để bắt đầu:

Bước 2: Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc ước lượng

khoảng) của xác suất mà ô này liên quan tới truy vấn

Bước 3: Từ khoảng tin cậy của tính toán trên, gán nhãn cho là có liên quan

hoặc không liên quan

Bước 4: Nếu lớp này là lớp dưới cùng, chuyển sang Bước 6; nếu khác thì

chuyển sang Bước 5

Bước 5: Duyệt xuống dưới của cấu trúc cây phân cấp một mức Chuyển sang

Bước 2 cho các ô mà hình thành các ô lên quan của lớp có mức cao hơn

Bước 6: Nếu đặc tả được câu truy vấn, chuyển sang Bước 8; nếu không thì

chuyển sang Bước 7

Bước 7: Truy lục dữ liệu vào trong các ô liên quan và thực hiện xử lí Trả lại

kết quả phù hợp yêu cầu của truy vấn Chuyển sang Bước 9

Bước 8: Tìm thấy các miền có các ô liên quan Trả lại miền mà phù hợp với

yêu cầu của truy vấn Chuyển sang Bước 9

Trang 33

Thuật toán EM gán các đối tượng cho các cụm đã 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à hàm logarit khả năng của đối tượng dữ liệu, đây là hàm tốt để mô hình xác suất cho các đối tượng dữ liệu EM có thể 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 khá cao

Thuật toán

Các bước thực hiện của thuật toán EM

1 2

Bước 1: Khởi tạo tham số

i

i k t k

i k t ( t ) k

Lặp lại bước 2 và bước 3 cho đến khi đạt được kết quả

2.3 Thuật toán phân cụm bằng mạng Kohonen

2.3.1 Cấu trúc của mạng nơron Kohonen

Mạng nơron Kohonen chỉ bao gồm một lớp dữ liệu đầu vào và một lớp dữ liệu đầu ra của các nơron và nó không chứa lớp ẩn

Trang 34

Lớp dữ liệu đầu vào đối với mạng nơron Kohonen là các nơron đầu vào Các nơron đầu vào này tạo thành mẫu dữ liệu đầu vào của mạng Đối với mạng nơron Kohonen, ta nên chọn dữ liệu đầu vào chuẩn hóa trong khoảng giữa -1 và 1 Khi thực thi mẫu dữ liệu đầu vào, mạng sẽ tạo ra các nơron đầu ra

Lớp đầu ra của mạng nơron Kohonen rất khác với lớp đầu ra của mạng nơron truyền thẳng Đối với mạng truyền thẳng, nếu chúng ta có một mạng nơron với 5 nơron đầu ra, chúng sẽ có thể cho kết quả bao gồm 5 giá trị Còn trong mạng nơron Kohonen chỉ có một nơron đầu ra cho ra một giá trị Giá trị duy nhất này có thể là đúng hoặc sai Dữ liệu đầu ra từ mạng nơron Kohonen thường là các chỉ số của nơron (Ví dụ nơron số 5,…) Cấu trúc đặc trưng của mạng nơron Kohonen được chỉ

ra trong hình 2.5

Hình 2.5 Một dạng mạng nơron Kohonen

2.3.2 Thuật toán phân cụm bằng mạng Kohonen

Xét một tập dữ liệu là các véc tơ trong không gian n chiều

V = [V1, V2, ,Vn]

Khởi tạo tham số thời gian t: t = 0

Bước 1: Khởi tạo vector trọng số Wij cho mỗi nơron i trong mạng Kohonen Bước 2: Lấy một mẫu huấn luyện x từ tập huấn luyện

Bước 3: Tìm mẫu khớp tốt nhất (BMU) - phần tử nơron chiến thắng:

Trang 35

Hình 2.6 Phần tử nơron chiến thắng BMU

Duyệt tất cả các nút và tính khoảng cách Euclide giữa vector trọng số của mỗi nút và vector nhập hiện hành Công thức để tính khoảng cách Euclide được cho như

sau: 2

0

n

i i i

   V: vector nhập hiện hành; W: vector trọng số của phần tử được chọn Nút có vector trọng số gần nhất với giá trị của vector nhập sẽ được chọn là BMU

Bước 4: Xây dựng các phần tử lân cận

Các nơron lân cận tùy thuộc vào bán kính, được sắp xếp trong lưới theo hình chữ nhật hoặc hình lục giác Số các lân cận xác định trọng tâm của ma trận kết quả, có ảnh hưởng đến độ chính xác và khả năng sinh ma trận của SOM

Hình 2.7 Các vùng lân cận

- Đặc tính duy nhất của thuật toán học Kohonen là vùng lân cận của

Ngày đăng: 25/02/2021, 08:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Lê Bá Dũng, Bài giảng mạng Nơron và ứng dụng lớp Cao học Thái Nguyên, 2006 đến nay Sách, tạp chí
Tiêu đề: Bài giảng mạng Nơron và ứng dụng lớp Cao học Thái Nguyên
[2] Nguyễn Trung Sơn, khoa công nghệ thông tin đại học Thái Nguyên (luận văn thạc sĩ khoa học), Phương pháp phân cụm và ứng dụng, 2009 Sách, tạp chí
Tiêu đề: Phương pháp phân cụm và ứng dụng
[3] Lê Anh Tú, Nghiên cứu mô hình mạng nơron Kohonen và ứng dụng trong bài toán phân cụm dữ liệu, http://qlkh.tnu.edu.vn/theme/details/1464/nghien-cuu-mo-hinh-mang-noron-kohonen-va-ung-dung-trong-bai-toan-phan-cum-du-lieu.Tài liệu tiếng Anh Sách, tạp chí
Tiêu đề: Nghiên cứu mô hình mạng nơron Kohonen và ứng dụng trong bài toán phân cụm dữ liệu
[4] S. Nascimento, B. Mirkin and F. Moura-Pires, “A Fuzzy Clustering Model of Data and Fuzzy c-Means”, 2000 Sách, tạp chí
Tiêu đề: A Fuzzy Clustering Model of Data and Fuzzy c-Means”
[5] A.K. Jain, R.C. Dubes, “Algorithms for clustering data”, Ptentice Hall, Englewood Cliffs, NJ, 1988 Sách, tạp chí
Tiêu đề: “Algorithms for clustering data”
[6] W.Pedrycz, “Algorithms of fuzzy clustering with partial supervision”, Pattern Recognition, vol. 23, pp.121-146, 1990 Sách, tạp chí
Tiêu đề: “Algorithms of fuzzy clustering with partial "supervision
[7] Kohonen T., Hynninen J., Kangas J., Laaksonen J. SOM_PAK: The Self- Organizing Map Program Package, Technical Report A31, Helsinki University of Technology, 1996 Khác
[8] Vesanto J., Alhoniemi E., Himberg J., Kiviluoto K., Parviainen J. Self- Organizing Map for Data Mining in MATLAB: the SOM Toolbox. Simulation News Europe 1999; 25:54 Khác
[9] Teuvo Kohonen(2001), Self-Organizing Maps, Third Edition, Springer, Heidelberg Khác

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w