Đâ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.. Vì mạng nơron là một hệ truyền đạt và xử lý tín hiệ
Trang 1TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG
- -
Nguyễn Thế Huy
TÌM HIỂU MÔ HÌNH SOM
VÀ ỨNG DỤNG TRONG TƯ VẤN THI ĐẠI HỌC
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Trang 2TRƯỜNG ĐẠI HỌC CNTT & TRUYỀN THÔNG
- -
Nguyễn Thế Huy
TÌM HIỂU MÔ HÌNH SOM
VÀ ỨNG DỤNG TRONG TƯ VẤN THI ĐẠI HỌC
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
TSKH Nguyễn Minh Hải
Thái Nguyên – 2012
Trang 3Minh Hải - Học viện Công nghệ bưu chính viễn thông đã tận tình hướng dẫn, chỉ bảo cho tôi trong suốt quá trình làm luận văn
Tôi cũng xin gửi lời cảm ơn đến các thầy cô 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 đỡ tôi 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 các đồng nghiệp trong Trung tâm Giáo dục thường xuyên An Dương, gia đình và bạn bè những người đã động viên tạo mọi điều kiện giúp đỡ tôi trong suốt hai năm học
Trang 4cứu, đọc, dịch tài liệu, tổng hợp và thực hiện 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
Người viết luận văn
Nguyễn Thế Huy
Trang 5MỤC LỤC
DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT iv
DANH MỤC CÁC BẢNG v
DANH MỤC CÁC HÌNH VẼ vi
MỞ ĐẦU 1
Chương 1: TÌM HIỂU VỀ MẠNG NƠRON VÀ MỘT SỐ PHƯƠNG PHÁP PHÂN CỤM 3
1.1 Mạng nơron sinh học 3
1.1.1 Cấu trúc một nơron sinh học 3
1.1.2 Hoạt động của nơron sinh học 4
1.2 Mạng nơron nhân tạo 4
1.2.1 Cấu trúc và mô hình của một nơron nhân tạo 4
1.2.2 Mô hình của mạng nơron nhân tạo 7
1.2.3 Mạng nơron một lớp 9
1.2.4 Mạng nơron truyền thẳng nhiều lớp 10
1.2.5 Mạng Hopfield 11
1.3 Các luật học 12
1.3.1 Quy tắc học của mạng nơron nhân tạo 12
1.3.2 Học có giám sát 13
1.3.3 Học không giám sát 14
1.3.4 Học tăng cường 15
1.4 Một số phương pháp phân cụm dữ liệu 15
1.4.1 Phân cụm và các thành phần trong phân cụm dữ liệu 15
1.4.2 Phương pháp phân cụm phân cấp 16
1.4.3 Phương pháp phân cụm phân hoạch 16
1.4.4 Phương pháp phân cụm dựa trên mật độ 17
1.4.5 Phân cụm dữ liệu dựa trên lưới 17
Trang 61.4.6 Phân cụm dữ liệu dựa trên sự ràng buộc 17
1.5 Kết luận chương 1 18
Chương 2: PHÂN CỤM DỮ LIỆU SỬ DỤNG MẠNG SOM 19
2.1 Thuật toán phân cụm dữ liệu 19
2.2 Thuật toán phân cụm tuyến tính không giám sát 20
2.2.1 Thuật toán phân cụm K-mean 20
2.2.2 Thuật toán phân cụm mờ C-mean 22
2.2.3 Thuật toán phân cụm phân cấp 24
2.2.4 Thuật toán phân cụm EM (Expectation Maximization) 25
2.2.5 Thuật toán phân cụm chất lượng ngưỡng 26
2.3 Thuật toán phân cụm phi tuyến tính không giám sát 27
2.3.1 Thuật toán phân cụm MST (Minimum spanning tree) 27
2.3.2 Thuật toán phân cụm dữ liệu Kernel K-mean 28
2.3.3 Thuật toán phân cụm dựa trên mật độ DBSCAN 29
2.4 Mạng nơron Kohonen (SOM) 30
2.4.1 Giới thiệu về mạng Kohonen (SOM) 30
2.4.2 Cấu trúc của SOM 31
2.4.3 Khởi tạo SOM 32
2.4.4 Huấn luyện SOM 33
2.4.5 Tỉ lệ học 34
2.4.6 Hàm lân cận 35
2.4.7 Cập nhật trọng số 37
2.4.8 Xác định nơron chiến thắng 38
2.4.9 Bảo toàn cấu trúc liên kết 39
2.5 SOM sử dụng trong phân cụm dữ liệu 40
2.5.1 SOM phân cụm với bản đồ một chiều 41
2.5.2 SOM phân cụm với bản đồ 2 chiều 41
Trang 72.5.3 Xác định ranh giới các cụm 42
2.5.4 Trực quan mạng 43
2.6 Kết luận chương 2 44
Chương 3 : ỨNG DỤNG CỦA MẠNG SOM CHO TRỢ GIÚP HỌC SINH THI ĐẠI HỌC 46
3.1 Giới thiệu về bài toán trợ giúp học sinh thi đại học 46
3.2 Giới thiệu công cụ SOM Toolbox 46
3.3 Chương trình thử nghiệm 47
3.3.1 Thu thập dữ liệu 47
3.3.2 Phân tích tập dữ liệu 51
3.3.3 Khởi tạo và huấn luyện SOM 51
3.3.4 Kết quả và phân tích dữ liệu sau khi huấn luyện SOM 53
3.4 Kết luận chương 3 64
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 66
Trang 8DANH MỤC CÁC KÍ HIỆU, CHỮ CÁI VIẾT TẮT
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
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 9DANH MỤC CÁC BẢNG
Bảng 3.1: Thông tin về một số trường đại học của Việt Nam 49 Bảng 3.2: Kết quả các cụm sau khi huấn luyện SOM 54
Trang 10DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Mô hình nơron sinh học 3
Hình 1.2: Mô hình một nơron nhân tạo 5
Hình 1.3: Đồ thị các dạng hàm truyền 7
Hình 1.4: Mạng nơron ba lớp 8
Hình 1.5: Một số dạng mạng nơron 10
Hình 1.6: Cấu trúc mạng Hopfield 11
Hình 1.7: Học có giám sát 14
Hình 1.8: Học không giám sát 14
Hình 2.1: Cấu trúc của mạng SOM 32
Hình 2.2: Cập nhật BMU và lân cận của nó với mẫu đầu vào x 34
Hình 2.3: Hàm tỉ lệ học theo thời gian 35
Hình 2.4: Giá trị của hàm lân cận Gausian(a) và hàm bubble(b) 37
Hình 2.5: Bảo toàn cấu trúc liên kết các cụm 40
Hình 3.1: Trực quan mạng sử dụng U-matrix 54
Hình 3.2: Trực quan các thành phần bản đồ 61
Trang 11ra đời giúp cho con người có khả năng phân chia các loại thông tin khác nhau
để phục vụ cho công việc và trong cuộc sống hàng ngà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 [7] Đâ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
Với sự phát triển của xã hội cuộc sống của con người được nâng cao ngày càng có nhiều bậc phụ huynh quan tâm đến việc học tập của con em mình đặc biệt là đối với những gia đình có con em đang học lớp 12 năm học cuối cấp đánh dấu bước ngoặt của cuộc đời của học sinh trong việc tìm kiếm trường học và công việc trong tương lai Với số lượng trên 300 trường đại học
và cao đẳng của Việt Nam việc lựa chọn ra một trường để cho học sinh theo học là một công việc hết sức khó khăn Chính vì lý do đó em mạnh dạn đề
xuất đề tài ” Tìm hiểu mô hình SOM và ứng dụng trong tư vấn thi đại học”
Luận văn tập trung vào tìm hiểu mạng SOM và sử dụng SOM trong phân cụm
dữ liệu
Phương pháp nghiên cứu chính là tìm hiểu 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 các trường đại học, cao đẳng của Việt Nam từ đó đưa ra những nhận xét, đánh giá, tư vấn cho học sinh đăng kí dự thi vào các trường
Nội dung luận văn gồm có 3 chương:
Trang 12Chương 1: Giới thiệu về mạng nơron nhân tạo, một số loại mạng nơron nhân tạo, các luật học của mạng nơron nhân tạo và một số phương pháp phân cụm
Chương 2: Giới thiệu một số thuật toán phân cụm phổ biến, ưu nhược điểm của từng thuật toán phân cụm Trong chương này trình bày về mạng SOM: Giới thiệu về mạng SOM, cấu trúc của SOM, các phương pháp khởi tạo, huấn luyện SOM, tỉ lệ học, các hàm lân cận, phương pháp xác định nơron chiến thắng và sử dụng SOM trong phân cụm dữ liệu
Chương 3: Trình bày về sử dụng công cụm SOM Toolbox phân cụm các trường đại học để đưa ra những đánh giá về các trường từ đó đưa ra những trợ giúp cho học sinh thi đại học
Thái Nguyên, tháng 9 năm 2012
Người viết luận văn
Nguyễn Thế Huy
Trang 13Chương 1: TÌM HIỂU VỀ MẠNG NƠRON VÀ MỘT SỐ PHƯƠNG
PHÁP PHÂN CỤM 1.1 Mạng nơron sinh học
1.1.1 Cấu trúc một nơron sinh học
Bộ não con người chứa khoảng 1011 nơron thần kinh Cấu trúc của một nơron thần kinh gồm các phần:
- Myelin là lớp cách nhiệt được bao quanh những Axons của dây thần kinh Nhiệm vụ của lớp vỏ Myelin này là giúp việc dẫn truyền các tín hiệu của các dây thần kinh được nhanh chóng và hiệu quả
- Axon của một nơron là một sợi dây đơn giản mang tín hiệu từ Soma của một nơron này tới Dendrite hay Soma của một nơron khác
- Dendrite của một nơron là những nhánh ngắn chạy từ thân nơron ra, nhiệm vụ của chúng là tiếp nhận những tín hiệu từ những nơron khác đưa đến qua những Axons
- Khoảng giữa những sợi Myelin được gọi là nút Ranvier
- Soma hay thân tế bào nơron gồm một nhân và những cấu trúc khác của một tế bào
- Synapse là nơi hai nơron tiếp xúc nhau Những thông tin hoá điện giữa
các nơron xảy ra tại đây
Dendrite
Nút Ranvier Soma
Điểm tận cùng của Axon
Sợi Axon bao bởi Myelin
Một đoạn Myelin Nhân
Trang 141.1.2 Hoạt động của nơron sinh học
Các tín hiệu đưa ra bởi một khớp nối và được nhận bởi các dây thần kinh vào là kích thích điện tử Việc truyền tín hiệu như trên liên quan đến một quá trình hóa học phức tạp mà trong đó các chất truyền đặc trưng được giải phóng từ phía gửi của nơi tiếp nối Điều này làm tăng hay giảm điện thế bên trong thân của nơron nhận Nơron nhận tín hiệu sẽ kích hoạt nếu điện thế vượt ngưỡng nào đó Và một điện thế hoạt động với cường độ cùng thời gian tồn tại cố định được gửi ra ngoài thông qua đầu dây thần kinh tới phần dây thần kinh vào rồi tới chỗ khớp nối để đến nơron khác Sau khi kích hoạt, nơron sẽ chờ trong một khoảng thời gian được gọi là chu kỳ cho đến khi nó
có thể được kích hoạt lại
Có 2 loại khớp nối là khớp nối kích thích và khớp nối ức chế Khớp nối kích thích sẽ cho tín hiệu qua nó để tới nơron, còn khớp nối ức chế có tác dụng làm cản tín hiệu của nơron
Cấu trúc mạng nơron luôn thay đổi và phát triển, các thay đổi có khuynh hướng chủ yếu là làm tăng hay giảm độ mạnh các mối liên kết thông qua các khớp nối Các khớp nối đóng vai trò rất quan trọng trong sự học tập Khi chúng ta học tập thì hoạt động của các khớp nối được tăng cường, tạo lên nhiều liên kết mạnh giữa các nơron Có thể nói rằng người nào học càng giỏi thì càng có nhiều khớp nối và các khớp nối ấy càng mạnh mẽ, hay nói cách khác thì liên kết giữa các nơron càng nhiều càng nhạy bén
1.2 Mạng nơron nhân tạo
1.2.1 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 [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
Mô hình nơron có m đầu vào x , x , , x , và một đầu ra y như sau:
Trang 15
wi1
x1
Trang 16
- Đầ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
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:
yf(net - )i θi và neti w xij j
Trong đó: x1, x2, …xm là các tín hiệu đầu vào, còn wi1, wi2,…,wim là các trọng
số kết nối của nơron thứ i, neti là hàm tổng, f là hàm truyền, θ là một ngưỡng, yi i là tín hiệu đầu ra của nơron
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)
Trang 17Hình 1.3: Đồ thị các dạng hàm truyền
1.2.2 Mô hình của mạng nơron nhân tạo
Dựa trên những phương pháp xây dựng nơron đã trình bày ở mục trên, ta có thể hình dung mạng nơron như là một hệ truyền đạt và xử lý tín hiệu Đặc tính truyền đạt của nơron phần lớn là đặc tính truyền đạt tĩnh
Khi liên kết các đầu vào/ra của nhiều nơron với nhau, ta thu được một mạng nơron, việc ghép nối các nơron trong mạng với nhau có thể là theo một nguyên tắc bất kỳ Vì mạng nơron là một hệ truyền đạt và xử lý tín hiệu, nên có thể phân biệt các loại nơron khác nhau, các nơron có đầu vào nhận thông tin từ môi trường bên ngoài khác với các nơron có đầu vào được nối với các nơron khác trong mạng, chúng được phân biệt với nhau qua vector trọng số ở đầu vào w
Nguyên lý cấu tạo của mạng nơron bao gồm nhiều lớp, mỗi lớp bao gồm nhiều nơron có cùng chức năng trong mạng Hình 1.4 là mô hình hoạt động của một mạng nơron 3 lớp với 8 phần tử nơron Mạng có ba đầu vào là x1, x2, x3 và hai đầu
ra y1, y2 Các tín hiệu đầu vào được đưa đến 3 nơron đầu vào, 3 nơron này làm thành lớp đầu vào của mạng Các nơron trong lớp này được gọi là nơron đầu vào Đầu ra của các nơron này được đưa đến đầu vào của 3 nơron tiếp theo, 3 nơron này
Trang 18không trực tiếp tiếp xúc với môi trường bên ngoài mà làm thành lớp ẩn, hay còn gọi
là lớp trung gian Các nơron trong lớp này có tên là nơron nội hay nơron ẩn Đầu ra của các nơron này được đưa đến 2 nơron đưa tín hiệu ra môi trường bên ngoài Các nơron trong lớp đầu ra này được gọi là nơron đầu ra
Mạng nơron được xây dựng như trên là mạng gồm 3 lớp mắc nối tiếp nhau đi
từ đầu vào đến đầu ra Trong mạng không tồn tại bất kỳ một mạch hồi tiếp nào Một mạng nơron có cấu trúc như vậy gọi là mạng một hướng hay mạng truyền thẳng một hướng và có cấu trúc mạng ghép nối hoàn toàn (vì bất cứ một nơron nào trong mạng cũng được nối với một hoặc vài nơron khác) Mạng nơron bao gồm một hay nhiều lớp trung gian được gọi là mạng Multilayer Perceptrons (MLP-Network) Mạng nơron khi mới được hình thành thì chưa có tri thức, tri thức của mạng sẽ được hình thành dần dần sau một quá trình học Mạng nơron được học bằng cách đưa vào những kích thích, và mạng hình thành những đáp ứng tương ứng, những đáp ứng tương ứng phù hợp với từng loại kích thích sẽ được lưu trữ Giai đoạn này được gọi là giai đoạn học của mạng Khi đã hình thành tri thức mạng, mạng có thể giải quyết các vấn đề một cách đúng đắn Đó có thể là vấn đề ứng dụng rất khác nhau, được giải quyết chủ yếu dựa trên sự tổ chức hợp nhất giữa các thông tin đầu vào của mạng và các đáp ứng đầu ra
Trang 19Nếu nhiệm vụ của một mạng là hoàn chỉnh hoặc hiệu chỉnh các thông tin thu được không đầy đủ hoặc bị tác động của nhiễu Mạng nơron kiểu này được ứng dụng trong lĩnh vực hoàn thiện mẫu, trong đó có một ứng dụng cụ thể là nhận dạng chữ viết
Nhiệm vụ tổng quát của một mạng nơron là lưu giữ động các thông tin Dạng thông tin lưu giữ này chính là quan hệ giữa các thông tin đầu vào và các đáp ứng đầu ra tương ứng, để khi có một kích thích bất kỳ tác động vào mạng, mạng có khả năng suy diễn và đưa ra một đáp ứng phù hợp Đây chính là chức năng nhận dạng theo mẫu của mạng nơron Để thực hiện chức năng này, mạng nơron đóng vai trò như một bộ phận tổ chức các nhóm thông tin đầu vào, và tương ứng với mỗi nhóm
là một đáp ứng đầu ra phù hợp Như vậy, một nhóm bao gồm một loại thông tin đầu vào và một đáp ứng đầu ra Các nhóm có thể được hình thành trong quá trình học,
và cũng có thể không hình thành trong quá trình học
1.2.3 Mạng nơron một lớp
Mỗi một nơron có thể phối hợp với các nơron khác tạo thành một lớp các trọng số Mạng một lớp truyền thẳng như hình 1.5a Một lớp nơron là một nhóm các nơron mà chúng đều có cùng trọng số, nhận cùng một tín hiệu đầu vào đồng thời
Trong ma trận trọng số, các hàng là thể hiện nơron, hàng thứ j có thể đặt nhãn như một vector wj của nơron thứ j gồm m trọng số wji Các trọng số trong cùng một cột thứ j (j=1,2, ,n) đồng thời cùng nhận một tín hiệu đầu vào
xj
wj = [wj1, wj2, , wjm]
Tại cùng một thời điểm, vector đầu vào x = [x1, x2, , xn] có thể là một nguồn bên ngoài là cảm biến hoặc thiết bị đo lường đưa tới mạng
Trang 20(a) Mạng truyền thẳng một lớp (b) Mạng hồi tiếp một lớp
(c) Mạng truyền thẳng nhiều lớp
(d) Mạng nơron hồi quy
Hình 1.5: Một số dạng mạng nơron
1.2.4 Mạng nơron truyền thẳng nhiều lớp
Mạng nơron nhiều lớp Hình 1.5.c có các lớp được phân chia thành 3 loại sau đây:
Lớp vào là lớp nơron đầu tiên nhận tín hiệu vào xi (i = 1, 2, , n) Mỗi tín hiệu xi được đưa đến tất cả các nơron của lớp đầu vào Thông thường các nơron đầu vào không làm biến đổi các tín hiệu vào xi, tức là chúng không có
Trang 21các trọng số hoặc không có các loại hàm chuyển đổi nào, chúng chỉ đóng vai trò phân phối các tín hiệu
Lớp ẩn là lớp nơron sau lớp vào, chúng không trực tiếp liên hệ với thế giới bên ngoài như các lớp nơron vào/ra
Lớp ra là lớp nơron tạo ra các tín hiệu ra cuối cùng
1.2.5 Mạng Hopfield
Mạng Hopfield là mạng phản hồi một lớp, được chỉ ra trong hình 1.5.b Cấu trúc chi tiết của nó được thể hiện trong hình 1.6 Khi hoạt động với tín hiệu rời rạc, nó được gọi là mạng Hopfield rời rạc, và cấu trúc của nó cũng được gọi là mạng hồi quy
Hình 1.6: Cấu trúc mạng Hopfield
Như mạng Hopfield trên hình 1.6, ta thấy nút có một đầu vào bên ngoài
xj và một giá trị ngưỡng Өj (j = 1,2, n) Một điều quan trọng cần nói ở đây là mỗi nút không có đường phản hồi về chính nó Nút đầu ra thứ j được nối tới mỗi đầu vào của nút khác qua trọng số wij, với ij, (i = 1,2, ,n), hay nói cách khác wii = 0, (với i = 1,2, ,n)
Trang 22Một điều quan trọng nữa là trọng số của mạng Hopfield là đối xứng, tức
là wij = wji, (với i,j = 1,2, ,n) Khi đó, luật cập nhật cho mỗi nút mạng là như sau:
n ( k 1) k
Có sự khác biệt giữa luật cập nhật đồng bộ và luật cập nhật không đồng
bộ Với luật cập nhật không đồng bộ thì sẽ chỉ có một trạng thái cân bằng của
hệ (với giá trị đầu đã được xác định trước) Trong khi đó, với luật cập nhật đồng bộ thì có thể làm mạng hội tụ ở mỗi điểm cố định hoặc một vòng giới hạn
1.3 Các luật học
1.3.1 Quy tắc học của mạng nơron nhân tạo
Huấn luyện mạng sử dụng các phần từ vector trọng số hoặc các thành phần của vector trọng số wij kết nối với đầu vào của nơron i, dữ liệu đầu ra của nơron khác có thể là đầu vào của nơron i Các dạng hàm kích hoạt nơron
có thể khác nhau khi các quy tắc học khác nhau được xem xét
Trọng số của vector wi=[wi1 wi2 wi3 win]t tăng theo tỉ lệ kết quả đầu vào
x và tín hiệu học r Tín hiệu học là một hàm của trong số wi và dữ liệu đầu vào x, hoặc tín hiệu dạy di
Trọng số của vector wi sẽ tăng tại thời điểm t theo quy tắc học :
Trang 23số và sai số của mạng để dịch chuyển kết quả đầu ra của mạng gần hơn với kết quả mong muốn Trong học có giám sát tại từng thời điểm khi đầu vào được áp dụng người huấn luyện sẽ cung cấp thông tin phản hồi của hệ thống Điều này được minh họa trong hình 1.7, khoảng cách thực tế và khoảng cách mong muốn là biện pháp để tìm ra lỗi và được sử dụng để điều chỉnh trọng số của mạng Trong phân loại học của các mẫu đầu vào hoặc các trạng thái đầu vào được biết trước câu trả lời, lỗi này có thể được sử dụng để thay đổi trọng
số nhằm giảm lỗi Học có giám sát là phương thức học phổ biến và được sử dụng trong nhiều trường hợp học tự nhiên
Trang 24ANN
Máy kiểm tra khoảng cách
Đầu ra mong muốn
Đầu ra thực tế (y)
Trong học không giám sát trọng số và các sai số của mạng đƣợc thay đổi
để đáp ứng với dữ liệu đầu vào của mạng Học không giám sát không có kết quả đầu ra của mạng Mạng tự học cách phân loại các mẫu đầu vào đƣa vào trong các lớp Học không giám sát không có các tín hiệu phản hồi, thông tin lỗi không đƣợc sử dụng để cải tiến hoạt động của mạng Học không giám sát đƣợc thực hiện dựa trên quan sát các phản ứng đầu vào Mạng tự tìm hiểu các mẫu, quy tắc, các thuộc tính… mạng tự tìm ra sự thay đổi trong các tham số của nó.
Trang 251.3.4 Học tăng cường
Học tăng cường là luật học có điểm giống như học có giám sát là mạng được cung cấp dữ liệu đầu ra mong muốn và có điểm giống học không giám sát là mạng không nhận được tất cả các thông tin phản hồi Trong học tăng cường hệ thống nhận được tín hiệu phản hồi đánh giá kết quả đầu ra là đúng hay sai Tuy nhiên học tăng cường không được cung cấp thông tin đầu ra chính xác Do không có thông tin đầu ra chính xác lên hệ thống phải sử dụng một số chiến lược tìm kiếm ngẫu nhiên để lựa chọn không gian tìm kiếm từ
đó đưa ra kết quả chính xác nhất Khi có thông tin phản hồi đúng từ môi trường đầu vào học tăng cường khám phá môi trường mới Hệ thống này sẽ nhận được tín hiệu đầu vào từ môi trường và cho kết quả đầu ra tương ứng
Hệ thống sẽ nhận được thông tin phản hồi tích cực hoặc không tích cực từ môi trường Để nhận biết được thông tin phản hồi từ môi trường là tích cực hay không tích cực hệ thống sẽ phải thực hiện qua nhiều bước
1.4 Một số phương pháp phân cụm dữ liệu
1.4.1 Phân cụm và các thành phần trong phân cụm dữ liệu
Phân cụm dữ liệu là quá trình áp dụng các phương pháp, thuật toán để tổ chức dữ liệu thành các nhóm có những đặc điểm tương tự nhau Một cụm là một tập hợp dữ liệu mà các phần tử tương tự nhau trong cùng một cụm và các phần tử không tương tự sẽ thuộc một cụm khác Phân tích cụm được sử dụng
để đưa ra những số liệu thống kê nhằm xác định những đặc điểm khác nhau giữa các cụm
Mẫu đại diện: Đề cập đến số lớp, số mẫu có sẵn và số lượng, chủng loại, quy mô của các tính năng có sẵn cho các thuật toán phân cụm Lựa chọn đặc trưng là quá trình xác định các đặc trưng ban đầu của tập hợp con để sử dụng trong phân cụm Trích chọn đặc trưng là việc sử dụng một hoặc nhiều biến đổi từ đặc trưng đầu vào để tạo ra đặc trưng mới nổi bật Những kĩ thuật này
Trang 26có thể được sử dụng để có một tập hợp các đặc trưng được sử dụng trong phân cụm dữ liệu
Mẫu lân cận: Thường được đo bằng một hàm khoảng cách thực hiện trên từng cặp mẫu Có nhiều phương pháp đo khoảng cách được áp dụng trong phân cụm dữ liệu trong đó phổ biến nhất là phương pháp đo khoảng cách Euclide Các bước nhóm dữ liệu có thể được thực hiện bằng nhiều cách khác nhau Các cụm đầu ra có thể phân vùng dữ liệu thành các nhóm hoặc mỗi một mẫu có thể biến đổi các thành viên trong cụm đầu ra
Trừu tượng hóa dữ liệu: Là quá trình rút ra một đại diện đơn và nhỏ gọn của một tập dữ liệu Trong phân cụm dữ liệu trừu tượng hóa dữ liệu là mô tả nhỏ gọn mỗi cụm thường mô tả các cụm nguyên mẫu hoặc các mẫu đại diện trọng tâm Đánh giá tính đúng đắn là mục tiêu và được thực hiện để xác định đầu ra có ý nghĩa hay không
1.4.2 Phương pháp phân cụm phân cấp
Cấu trúc phân cụm phân cấp xây dựng trên một hệ thống phân cấp cụm Các cụm chứa các nút cụm con Các cụm ngang hàng được phân chia thành các điểm cùng cụm cha Cách tiếp cận này cho phép tìm hiểu chi tiết dữ liệu ở các cấp độ khác nhau Phương pháp phân cụm được chia làm hai loại [6]: Phân cụm phân cấp tích tụ Bottom – Up và phân cụm phân cấp chia nhóm Top-Down Phân cụm phân cấp tích tụ khởi đầu với một điểm cụm và kết hợp
đệ quy với 2 hoặc nhiều cụm thích hợp nhất Một cụm chia tách bắt đầu với một cụm của tất cả các điểm dữ liệu và đệ quy chia tách các cụm thích hợp nhất Quá trình này tiếp tục cho đến khi đạt được một tiêu chí dừng lại được Phân cụm phân cấp dựa trên kết quả thống kê kết quả liên kết trong cụm
1.4.3 Phương pháp phân cụm phân hoạch
Phân cụm phân hoạch phân chia dữ liệu thành các tập số Kiểm tra tất cả các hệ thống tập hợp con có thể là tính toán không khả thi Di chuyển lặp đi
Trang 27lặp lại các điểm trong cụm Sau khi các cụm được xây dựng phương pháp phân cụm phân hoạch sẽ xem xét lại các cụm để cải thiện các cụm tốt hơn Với dữ liệu thích hợp sẽ đem lại hiệu quả cao trong phân cụm
1.4.4 Phương pháp phân cụm dựa trên mật độ
Một tập mở trong không gian Euclide có thể được chia thành một tập hợp các thành phần kết nối Việc thực hiện ý tưởng này cho phân vùng của một tập hợp hữu hạn các điểm đòi hỏi phải có khái niệm về kết nối, mật độ, ranh giới Chúng liên quan đến điểm lân cận gần nhất Một cụm quy định như
là một thành phần kết nối dày đặc, phát triển ở bất kỳ hướng nào mà mật độ cao nhất Dựa trên các thuật toán mật độ có khả năng phát hiện các cụm với hình dạng bất kỳ điều này giúp loại bỏ các giá trị ngoại lai hoặc nhiễu
1.4.5 Phân cụm dữ liệu dựa trên lưới
Phương pháp phân cụm dựa trên lưới đã được sử dụng trong một số nhiệm vụ khai thác dữ liệu của cơ sở dữ liệu lớn Trong phân cụm dữ liệu dựa trên lưới, không gian đặc trưng được chia thành một số hữu hạn các ô hình chữ nhật hình thành lên lưới Trên cấu trúc của lưới quá trình phân cụm được thực hiện Quá trình đa phân tích thay đổi kích thước của ô hình chữ nhật có thể hình thành lên lưới Trong không gian đa chiều d, lưới có dạng một hình lập phương với kích thước d tương ứng với các ô Trong cấu trúc lưới phân cấp kích thước ô có thể được giảm để đạt được một cấu trúc ô chính xác hơn Cấu trúc phân cấp có thể được chia thành nhiều cấp độ giải quyết Mỗi ô ở mức độ cao hơn k sẽ được phân chia thành các ô có cấp độ thấp hơn k+1 Các
ô ở mức độ thấp k+1 sẽ được hình thành bởi việc chia tách các ô k vào các ô nhỏ hơn
1.4.6 Phân cụm dữ liệu dựa trên sự ràng buộc
Trong phân cụm dữ liệu để có những hiểu biết về những trường hợp nên hay không nên gom cụm lại với nhau người ta có thể áp dụng phương pháp
Trang 28phân cụm dựa trên những ràng buộc Phân cụm ràng buộc dựa trên sự thay đổi của thuật toán K-mean dựa vào tính toán những liên kết bắt buộc giữa hai điểm trong cùng một cụm và hạn chế những liên kết không thể thực hiện được giữa hai điểm trong một cụm Những yêu cầu đó là bắt buộc trong khi phân cụm dữ liệu Khi các ràng buộc không được đáp ứng các liên kết ràng buộc được gán bằng 0 Phân cụm ràng buộc dựa trên các liên kết liên quan nhưng
sự khác biệt đến từ phân cụm bán giám sát khi có một số nhãn được biết trước
1.5 Kết luận chương 1
Chương 1 của luận văn giới thiệu về mạng nơron sinh học bao gồm cấu trúc của mạng nơron sinh học và nguyên lý hoạt động của nơron sinh học Về nơron nhân tạo giới thiệu cấu trúc của một nơron nhân tạo, mô hình của mạng nơron nhân tạo, trình bày một số mạng nơron nhân tạo
Quy tắc học của mạng nơron, trình bày 3 luật học cơ bản của mạng nơron bao gồm: Học có giám sát, học không giám sát và học tăng cường Trong chương 1 đã nêu lên một số phương pháp phân cụm được sử dụng rộng rãi trong phân cụm dữ liệu
Trang 29Chương 2: PHÂN CỤM DỮ LIỆU SỬ DỤNG MẠNG SOM
2.1 Thuật toán phân cụm dữ liệu
Phân cụm dữ liệu là một lĩnh vực quan trọng trong khai phá dữ liệu Với
sự ra đời của nhiều thuật toán phân cụm và được sử dụng trong nhiều ứng dụng : Xử lý hình ảnh, sinh học dùng máy điện toán, truyền thông di động, kinh tế Vấn đề chính với các thuật toán phân cụm dữ liệu mà nó không thể được chuẩn hóa Thuật toán 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 nhó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[3]:
- 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 đa các thông số đầu vào
Trang 302.2 Thuật toán phân cụm tuyến tính không giám sát
2.2.1 Thuật toán phân cụm K-mean
K-mean là một trong các thuật toán học không giám sát để thực hiện phân cụm dữ liệu Thủ tục đơn giản và dễ dàng để phân loại dữ liệu được thiết lập thông qua số lượng nhất định các cụm (giả sử k cụm) Xác định trung tâm của mỗi cụm Trung tâm của mỗi cụm phải được đặt ở những vị trí chính xác
vì đặt ở những vị trí khác nhau sẽ đưa ra kết quả khác nhau Vị trí đặt các trung tâm ở những vị trí càng xa nhau càng tốt Bước tiếp theo là lấy mỗi điểm thuộc một tập hợp dữ liệu đưa ra và liên kết đến trung tâm gần nhất Khi không có điểm chờ xử lý bước đầu tiên được hoàn thành và một nhóm đầu tiên được thực hiện Tại thời điểm này chúng ta cần phải tính toán lại trọng tâm k mới như là trọng tâm của các cụm kết quả từ bước trước Sau khi có những trọng tâm k một ràng buộc mới có thể được thực hiện giữa tập hợp điểm dữ liệu và trung tâm mới gần nhất Tạo ra một vòng lặp kết quả của vòng lặp này có thể nhận thấy rằng các trung tâm k thay đổi vị trí của chúng cho đến khi các trung tâm không có bất kì di chuyển nào Thuật toán này nhằm mục đích giảm thiểu hàm mục tiêu như là hàm bình phương sai số:
C C
Các bước thực hiện thuật toán K-mean
Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu, V={v1,v2,v3…vn} là tập các trung tâm
Trang 31Bước 2: Tính khoảng cách giữa các điểm với trung tâm cụm
Bước 3: Gán các điểm dữ liệu đến trung tâm cụm có khoảng cách tối thiểu của tất cả các trung tâm cụm
Bước 4: Tính toán lại các trung tâm cụm mới bằng công thức:
i
C
i i
j 1 i
1
c
Trong đó: ci đại diện cho số lượng các điểm dữ liệu trong cụm thứ i
Bước 5: Tính toán lại khoảng cách giữa mỗi điểm dữ liệu và các trung tâm cụm mới thu được
Bước 6: Nếu không có điểm dữ liệu được gán lại khi dừng thì lặp lại bước 3
Ưu điểm của thuật toán K-mean:
- Thuật toán thực hiện cho ra kết quả nhanh chóng, mạnh mẽ và dễ hiểu
- Độ phức tạp của thuật toán O(tknd) trong đó n là các đối tượng, k là các cụm, d kích thước của từng đối tượng t là số lần lặp thông thường k,d,t<<n
- Cho kết quả tốt nhất với tập dữ liệu riêng biệt hoặc tách rời nhau
Nhược điểm của thuật toán K-mean:
- Thuật toán yêu cầu biết trước số lượng trung tâm cụm
- Nếu có nhiều hơn 2 bộ dữ liệu chồng chéo nhau thì thuật toán khó phân cụm
- Dữ liệu đại diện cho mẫu của tọa độ đề các và tọa độ cực sẽ cho kết quả khác nhau
- Lựa chọn ngẫu nhiên trung tâm các cụm có thể dẫn tới kết quả không tối ưu
- Không thể xử lý nhiễu và dữ liệu ngoại lai
- Thuật toán thất bại với tập dữ liệu phi tuyến tính
Trang 322.2.2 Thuật toán phân cụm mờ C-mean
Thuật toán làm việc bằng cách gán cho mỗi điểm dữ liệu với một trung tâm cụm dựa trên cơ sở khoảng cách giữa các điểm dữ liệu với trung tâm các cụm Dữ liệu gần trung tâm của cụm nào sẽ là thành viên của cụm đó Tổng các thành viên của từng điểm dữ liệu xấp xỉ bằng 1 Sau khi từng thành viên lặp đi lặp lại và các trung tâm cụm đƣợc cập nhật theo công thức:
1 m c
ij
k 1 ik
1dd
ij
i 1
xv
μμ
μ : đại diện cho các thành viên dữ liệu thứ i đến trung tâm cụm thứ j
dij : khoảng cách Euclide giữa các dữ liệu thứ i và trung tâm cụm thứ j Mục tiêu chính của thuật toán phân cụm mờ C-mean là để giảm thiểu:
Trang 33Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu, V={v1,v2,v3…vn} là tập các trung tâm
Bước 1: Chọn ngẫu nhiên trung tâm cụm c
Bước 2: Tính toán các thành viên mờ μijbằng công thức:
1 m c
ij
k 1 ik
1dd
ij
i 1
xv
μμ
Ưu điểm của thuật toán phân cụm mờ C-mean:
Cho kết quả tốt hơn đối tập dữ liệu chồng chéo so với thuật toán mean Không giống như thuật toán K-mean dữ liệu thuộc về trung tâm một cụm trong thuật toán C-mean dữ liệu được gán cho trung tâm mỗi cụm bằng kết quả của điểm dữ liệu có thể thuộc về nhiều hơn trung tâm một cụm
K-Nhược điểm của thuật toán C-mean
Trang 342.2.3 Thuật toán phân cụm phân cấp
Thuật toán phân cụm phân cấp gồm có 2 loại: Thuật toán phân cụm theo thứ bậc trên xuống (Agglomerative Hierarchical) Thuật toán phân cụm theo thứ bậc từ dưới lên (Divisive Hierarchical) Hai thuật toán này trình tự làm việc ngược nhau Thuật toán phân cụm phân cấp Thuật toán này hoạt động bằng cách nhóm dữ liệu từng cặp một trên cơ sở các biện pháp khoảng cách gần nhất của khoảng cách giữa các điểm dữ liệu tất cả các cặp Một lần nữa khoảng cách giữa các điểm dữ liệu được tính toán lại Khi các nhóm đã được hình thành cần xem xét lại khoảng cách giữa các điểm dữ liệu Một số phương pháp xem xét khoảng cách giữa các điểm dữ liệu:
- Khoảng cách gần nhất hoặc liên kết đơn nhất
- Khoảng cách xa nhất hoặc liên kết đầy đủ
- Khoảng cách trung bình hoặc liên kết trung bình
- Tổng bình phương Euclide là nhỏ nhất
Thuật toán phân cụm phân cấp:
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 phân 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
Trang 35đượ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
Ưu điểm của thuật toán phân cụm phân cấp
- Không có thông tin về các cụm được yêu cầu
- Dễ dàng thực hiện và cho kết quả tốt nhất trong một số trường hợp
Nhược điểm của thuật toán phân cụm phân cấp
Thuật toán không thể quay lại những gì đã thực hiện trước đó Độ phức tạp của thuật toán O(n2log n) với n là số điểm dữ liệu Không có hàm mục tiêu được giảm thiểu ngay lập tức Khó xác định số lượng các cụm chính xác bởi
sơ đồ nhánh
2.2.4 Thuật toán phân cụm EM (Expectation Maximization)
Thuật toán EM được xem như là thuật toán dựa trên mẫu hoặc là mở rộng của thuật toán K-means 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 phân cụm EM
Cho X={x1,x2…xn} là tập hợp các điểm dữ liệu
V={μ μ μ μ1, 2, 3 c} là tập các giá trị trung bình
P={ p1,p2,p3…pc} là tập hợp các xác xuất xảy ra
Trang 36t k t k
P(w x , )x(t 1)
P(w x , )
λμ
2.2.5 Thuật toán phân cụm chất lượng ngưỡng
Thuật toán đòi hỏi phải có kĩ thuật tiên nghiệm khoảng cách ngưỡng trong phạm vi cụm và giá trị nhỏ nhất của các phần tử trong cụm Từ mỗi điểm dữ liệu tìm thấy tất cả các điểm dữ liệu đáp ứng được yêu cầu Điểm dữ liệu đáp ứng được yêu cầu trong phạm vi ngưỡng từ tập hợp các điểm dữ liệu
đã cho Bằng cách này có thể tìm thấy các điểm dữ liệu yêu cầu và chọn ra 1 điểm trong tập hợp các điểm tạo tạo thành cụm Sau đó các điểm dữ liệu thuộc nhóm này được loại bỏ và các thủ tục tương tự được lặp đi lặp lại với
bộ giảm điểm dữ liệu cho đến khi nhóm không còn có thể được hình thành đáp ứng các tiêu chí kích thước tối thiểu
Thuật toán phân cụm chất lượng ngưỡng
Bước 1: Khởi tạo khoảng cách ngưỡng cho phép cho các cụm và kích thước tối thiểu của cụm
Trang 37Bước 2: Xây dựng các cụm điểm dữ liệu đáp ứng yêu cầu: các điểm gần nhất, các điểm lân cận các điểm gần nhất Tạo các cụm cho đến khi khoảng cách của các cụm vượt qua ngưỡng thì dừng
Bước 3: Đáp ứng yêu cầu với điểm ở mức độ cao hình thành lên cụm đầu tiên và loại bỏ tất cả các điểm trong cụm không được xét đến
Bước 4: Lặp lại với tập hợp các điểm còn lại cho đến khi không còn hình thành thêm các cụm có kích thước tối thiểu
Ưu điểm của thuật toán:
Mỗi cụm chỉ vượt qua một ngưỡng chất lượng đã được xác định Số cụm không cần xác định trước Cụm đạt yêu cầu tiêu chuẩn tạo ra mối liên hệ với mỗi điểm dữ liệu và kiểm tra thứ tự dựa vào chất lượng kích thước tiêu chuẩn
Nhược điểm của thuật toán:
Tăng kích thước cụm tối thiểu hoặc làm tăng số lượng các điểm dữ liệu
có thể làm tăng đáng kể thời gian tính toán Khoảng cách ngưỡng và số lượng tối thiểu của một phần tử trong cụm có thể được xác định tiên nghiệm
2.3 Thuật toán phân cụm phi tuyến tính không giám sát
2.3.1 Thuật toán phân cụm MST (Minimum spanning tree)
Đầu tiên cấu trúc MST (tối thiểu cây mở rộng) sử dụng thuật toán Kruskal và sau đó thiết lập một giá trị ngưỡng và kích thước bước Sau đó loại bỏ các cạnh từ MST có chiều dài lớn hơn giá trị ngưỡng Tiếp theo chúng
ta tính toán tỷ lệ giữa khoảng cách bên trong cụm với khoảng cách cụm liên quan và ghi lại tỷ lệ cũng như ngưỡng Cập nhật các giá trị ngưỡng bằng cách tăng kích thước bước Mỗi khi có được giá trị ngưỡng mới (cập nhật) thực hiện lặp lại các thủ tục trên Ngừng các bước lặp đi lặp lại khi ngưỡng có giá trị tối đa và như vậy không có cạnh MST được gỡ bỏ Tất cả các điểm thuộc
về một cụm duy nhất Cuối cùng có được giá trị tối thiểu là tỷ lệ ghi lại và hình thành các cụm tương ứng với ngưỡng giá trị được lưu trữ Các thuật toán
Trang 38trên có hai trường hợp đặc biệt: Với giá trị ngưỡng không mỗi điểm vẫn nằm trong một cụm duy nhất, với giá trị ngưỡng tối đa tất cả các điểm nằm bên trong một cụm duy nhất Giá trị tối ưu của ngưỡng đạt được khi khoảng cách bên trong trong cụm với khoảng cách với cụm xung quanh là nhỏ nhất Để giảm thiểu số lần lặp khi thiết lập giá trị ngưỡng ban đầu phải khác 0
Ưu điểm của thuật toán: Hiệu suất thực hiện của thuật toán MST tốt hơn
thuật toán K-mean
Nhược điểm: Giá trị ngưỡng và kích thước bước cần được biết trước
2.3.2 Thuật toán phân cụm dữ liệu Kernel K-mean
Kernel K-mean là sự suy rộng của thuật toán K-mean chuẩn, điểm dữ liệu được ánh xạ từ không gian đầu vào tới không gian đầu vào đặc trưng có
số chiều lớn hơn thông qua một chuyển đổi phi tuyến tính và khi đó K-mean được áp dụng trong không gian đặc trưng Không gian đặc trưng phân cách tuyến tính kết quả tương ứng với phân cách phi tuyến tính trong không gian đầu vào Kernel K-mean tránh được hạn chế của các cụm tuyến tính tách rời trong không gian đầu vào mà thuật toán K-mean gặp phải Thuật toán này được áp dụng phương pháp tương tự như K-mean nhưng sự khác biệt ở đây là trong việc tính toán khoảng cách, phương pháp hạt nhân được sử dụng thay khoảng cách Euclide
Thuật toán Kernel K-mean
Cho tập hợp các điểm dữ liệu X={a1,a2…an}, c là số cụm dữ liệu
Bước 1: Khởi tạo ngẫu nhiên c trung tâm cụm
Bước 2: Tính khoảng cách của mỗi điểm dữ liệu và trung tâm cụm trong không gian biến đổi bằng cách sử dụng công thức:
2 k