Có thể nêu lên các bước sau đây trong việc sử dụng mạng nơron để giải các bài toán tối ưu hoá hay còn gọi là ánh xạ các bài toán tối ưu lên mạng nơron [9]: - Chọn sơ đồ biểu diễn để các
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Minh Hoàng
Tìm hiểu một số lớp mạng nơron nhân tạo và ứng dụng
vào bài toán phân cụm mờ
LUẬN VĂN THẠC SĨ
Hà Nội - 2006
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Lê Minh Hoàng
Tìm hiểu một số lớp mạng nơron nhân tạo và ứng dụng
vào bài toán phân cụm mờ
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TSKH Bùi Công Cường
Hà Nội - 2006
Trang 3MỤC LỤC
MỤC LỤC 1
DANH SÁCH CÁC HÌNH 3
BẢNG TỪ VIẾT TẮT 4
TỪ KHOÁ 4
PHẦN MỞ ĐẦU 5
LỜI CẢM ƠN 7
CHƯƠNG 1 : GIỚI THIỆU NHANH VỀ MẠNG NƠRON VÀ BÀI TOÁN PHÂN CỤM DỮ LIỆU 8
1 Mạng nơron 8
1.1 Các khái niệm chung về mạng nơron 8
1.1.1 Mạng nơron sinh học 8
1.1.2 Mạng nơron nhân tạo 9
1.2 Mô hình toán học và kiến trúc mạng nơron 11
1.2.1 Mô hình toán học của mạng nơron 11
1.2.2 Kiến trúc mạng 15
1.3 Một số ứng dụng của mạng nơron 17
1.3.1 Mạng nơron trong phân lớp 17
1.3.2 Mạng nơron trong nhận dạng 18
1.3.3 Mạng nơron trong dự báo 18
1.3.4 Mạng nơron và bài toán tối ưu 18
2 Phân cụm dữ liệu 19
2.1 Giới thiệu 19
2.2 Các ứng dụng của phân cụm dữ liệu 21
2.3 Một số kiểu dữ liệu và độ đo tương tự 22
2.3.1 Phân loại các kiểu dữ liệu dựa trên kích thước miền 22
2.3.2 Phân loại các kiểu dữ liệu dựa trên hệ đo 23
2.3.3 Khái niệm về tương tự và phi tương tự 24
2.4 Các định nghĩa phân cụm dữ liệu 27
2.5 Một số kỹ thuật tiếp cận trong phân cụm dữ liệu 29
2.5.1 Phân cụm phân hoạch 29
2.5.2 Phân cụm dữ liệu có ràng buộc 29
2.6 Các yêu cầu cần thiết cho tạo dựng kỹ thuật PCDL 30
CHƯƠNG 2 MỘT SỐ LỚP MẠNG NƠRON 32
1 Mạng truyền thẳng và thuật toán lan truyền ngược (BP) 32
1.1 Mạng truyền thẳng một lớp 32
1.2 Perceptron nhiều lớp và huấn luyện lan truyền ngược 33
2 Mạng có nối ngược Hopfield 39
2.1 Kiến trúc mạng 39
2.2 Huấn luyện mạng 40
2.3 Sử dụng mạng 40
3 Mạng kiểu bộ nhớ kết hợp hai chiều (BAM) 41
3.1 BAM rời rạc 42
3.2 BAM liên tục 43
Trang 4CHƯƠNG 3 ỨNG DỤNG MẠNG NƠRON ĐA KHỚP NỐI VÀO
BÀI TOÁN PHÂN CỤM DỮ LIỆU MỜ 45
1 Giới thiệu 45
2 Phân cụm mờ 45
2.1 Vấn đề phân cụm mờ 45
2.2 Thuật toán FCM 46
3 Xây dựng mạng nơron phân cụm kết hợp hai hướng mờ (FBACN) bằng việc sử dụng mạng đa khớp nối 50
3.1 Xây dựng lớp mạng layer1 cho tối ưu các trung tâm cụm 51
3.2 Xây dựng lớp mạng layer2 cho tối ưu các độ thuộc 56
4 Sự hội tụ của FBACN 62
4.1 Lý thuyết về sự hội tụ của mạng FBACN 62
4.2 Sự hội tụ của lớp mạng layer1 64
4.3 Sự hội tụ của lớp mạng layer2 66
5 Giải thuật của FBACN 67
CHƯƠNG 4 THỰC NGHIỆM 69
1 Giới thiệu phần mềm 69
2 Thực nghiệm 70
2.1 Thực nghiệm1 70
2.2 Thực nghiệm2 72
KẾT LUẬN 80
TÀI LIỆU DẪN 81
Trang 5DANH SÁCH CÁC HÌNH
Hình 1.1 : Cấu trúc cơ bản của nơron sinh học 8
Hình 1.2 : Nơron nhân tạo 10
Hình 1.3: Mô hình toán học mạng nơron nhân tạo 11
Hình 1.4: Nơron 1 đầu vào với hàm kích hoạt là hàm hardlimit 13
Hình 1.5 : Liên kết bên trên lớp cạnh tranh 17
Hình 1.6 : Các tham số 26
Hình 1.7 : Hình dáng của các loại cụm 28
Hình 2.1 : Mạng nơron một lớp truyền thẳng 32
Hình 2.2 : Perceptron 3 lớp nơron 33
Hình 2.3 : Các mẫu và biên quyết định của mạng XOR 34
Hình 2.4 : Mạng XOR hai lớp 34
Hình 2.5 : Ví dụ mạng xấp xỉ hàm 37
Hình 2.6 : Cấu trúc mạng Hopfield 39
Hình 2.7 : Mô hình của BAM 41
Hình 3.1: Thuật toán FCM 47
Hình 3.2: Mô phỏng về tập dữ liệu đơn chiều 48
Hình 3.3: Hàm thuộc với trọng tâm của cụm A trong k-means 48
Hình 3.4: Hàm thuộc với trọng tâm của cụm A trong FCM 49
Hình 3.5: Các cụm khám phá đƣợc bởi thuật toán phân cụm mờ 49
Hình 3.6 : Mô hình FBACN 50
Hình 3.7 : Layer1 của FBACN 51
Hình 3.8 : Mạng nơron đa khớp nối cơ bản 58
Hình 3.9 : Layer 2 của FBACN: Một mạng nơron đa khớp nối 61
Hình 3.10 : Hàm kích hoạt liên tục với δ j =0.5 và v j =1 65
Hình 4.1 : Giao diện FBACN 69
Hình 4.2 : Giao diện FCM 70
Hình 4.3 : Dữ liệu đầu vào Butterfly 70
Hình 4.4 : Kết quả thực nghiệm với tập dữ liệu Butterfly 72
Hình 4.5 : Hình dáng loài hoa Iris 73
Hình 4.6 : Dữ liệu đầu vào Iris 74
Hình 4.7 : Kết quả thực nghiệm với tập dữ liệu Iris 79
Trang 6BẢNG TỪ VIẾT TẮT
Cụm từ tiếng Việt Từ viết tắt Cụm từ tiếnh Anh
Mạng phân cụm kết hợp hai
hướng mờ
FBACN Fuzzy bidirectional associative
clustering network Thuât toán c-mean mờ FCM Fuzzy c-means
Bộ nhớ kết hợp hai chiều BAM Bidirectional Associative Memory
Mạng perceptron nhiều lớp MLP Multilayer perceptron
TỪ KHOÁ
Mạng Hopfield, hàm năng lượng tính toán, phân cụm dữ liệu, phân cụm rõ và phân cụm mờ, mạng phân cụm kết hợp hai hướng mờ (FBACN), mạng đa khớp nối, mạng hồi quy, mạng truyền thẳng, c-means mờ (FCM), phương pháp ánh xạ thu gọn
Trang 7PHẦN MỞ ĐẦU
Trong vài năm gần đây, công nghệ thông tin đã có nhiều sự phát triển mạnh
mẽ, xâm nhập vào mọi ngõ ngách của đời sống xã hội chúng ta Nhìn nhận từ những góc độ lợi ích nó đem lại, chúng ta đã đặt ra những nhiều những đòi hỏi mà những người làm công nghệ thông tin phải thực hiện
Sự bùng nổ thông tin đã đem đến nhiều khối lượng dữ liệu khổng lồ và người làm công nghệ thông tin phải biết cách xử lý chúng sao cho có hiệu quả nhất Một trong những yếu tố góp phần quan trọng trong quá trình xử lý đó là kỹ thuật phân cụm dữ liệu (PCDL)
Trong luận văn này tôi chọn đề tài “Tìm hiểu một số lớp mạng nơron nhân tạo ứng dụng vào bài toán phân cụm mờ ” làm hướng nghiên cứu của mình Đề tài
đi sâu nghiên cứu về cách xây dựng một kiến trúc mạng đa khớp nối để ứng dụng cho quá trình tối ưu hoá các ràng buộc với các hàm mục tiêu có thể tồn tại dưới nhiều dạng như: high-order, logarith, sin,….Không giống với mạng Hopfield, mạng chỉ tối ưu với dạng toàn phương Đối với mô hình mạng mới này, một mạng phân cụm kết hợp hai hướng mờ (fuzzy bidirectional associative clustering network - FBACN) bao gồm hai lớp mạng hồi quy được đưa ra cho phân cụm dựa trên phương pháp hàm mục tiêu
Như chúng ta đã biết thì fuzzy c-means (FCM) là một giải thuật quan trọng trong lĩnh vực phân cụm mờ và nhiều giải thuật phát triển sau đó thì cũng sử dụng các công thức của FCM như là những thành phần chính yếu Chẳng hạn như mạng Kohonen mờ (fuzzy Kohonen clustering network) do Tsao đề xuất [6] hay mạng Hopfield mờ (fuzzy Hopfield neural network) do Lin đề xuất [7] Tuy nhiên khi một ứng dụng phân cụm mờ có các ràng buộc phức tạp, thì các giải pháp phân tích trong một bước lặp đơn của các giải thuật đó trở nên kém hiệu quả Mạng FBACN có khẳ năng khắc phục được nhược điểm đó
Về bố cục, luận văn được chia làm 4 phần chính
Chương 1, giới thiệu một cách ngắn gọn về mạng nơron và bài toán phân cụm dữ
liệu
Chương 2, trình bầy về một số lớp mạng nơron nhân tạo liên quan đến quá trình xây
dựng mạng FBACN, bao gồm lớp mạng truyền thẳng, mạng có nối ngược – Hopfield và bộ nhớ kết hợp hai hướng (Bidirectional Associative Memory - BAM)
Trang 8Chương 3, trình bầy về quá trình xây dựng mạng nơron đa khớp nối (FBACN) và
ứng dụng vào bài toán phân cụm mờ
Chương 4, trình bầy 2 thực nghiệm của FBACN và FCM cho hai tập dữ liệu nổi
tiếng đó là tập dữ liệu hình cánh bướm (Butterfly) và tập dư liệu về loài hoa (Iris)
Do thời gian nghiên cứu và trình độ có hạn, luận văn không tránh khỏi có những hạn chế và thiếu sót Tôi xin được tiếp thu ý kiến sự đánh giá, chỉ bảo của các thầy giáo cũng như các bạn bè và đồng nghiệp
Trang 9LỜI CẢM ƠN
Tôi xin tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TSKH Bùi Công Cường, người hướng dẫn khoa học - người đã chỉ bảo tận tình và truyền thụ cho tôi nguồn cảm hứng nghiên cứu và đưa tôi vào lĩnh vực khoa học này
Tôi xin bày tỏ lòng biết ơn đến các thầy giáo trong Đại học Công Nghệ - Đại học Quốc gia Hà Nội : PGS.TS Hà Quang Thụy, PGS TS Trịnh Nhật Tiến, PGS.TS Nguyễn Văn Vị, TS.Hoàng Xuân Huấn, TS.Nguyễn Đình Việt, TS.Bùi Thế Duy, TS.Nguyễn Đại Thọ,…đã trực tiếp giảng dạy trong những năm học qua
Cuối cùng tôi xin bày tỏ lòng biết ơn đến gia đình, và các bạn bè đã chia sẻ, động viên để tôi hoàn thành luận văn này
Học viên
Lê Minh Hoàng
Trang 10CHƯƠNG 1 : GIỚI THIỆU NHANH VỀ MẠNG NƠRON VÀ BÀI
TOÁN PHÂN CỤM DỮ LIỆU
1 Mạng nơron
1.1 Các khái niệm chung về mạng nơron
1.1.1 Mạng nơron sinh học
Não bộ con người là một mạng lưới khoảng 1011 tế bào thần kinh hay còn gọi
là nơron Chúng có cấu trúc và chức năng tương đối đồng nhất Các nhà nghiên cứu sinh học về bộ não con người đã đưa ra kết luận rằng các nơron là đơn vị đảm nhiệm những chức năng nhất định trong hệ thần kinh bao gồm não, tuỷ sống và các dây thần kinh Hình 1.1 chỉ ra cấu tạo của hệ thống tế bào sinh học này
Hình 1.1 : Cấu trúc cơ bản của nơron sinh học
Cấu trúc của một nơron được chia thành 3 phần chính: Phần thân, hệ thống dây thần kinh tiếp nhận và sợi trục thần kinh ra Hệ thống dây thần kinh tiếp nhận tạo thành một mạng lưới dày đặc xung quanh thân tế bào (chiếm diện tích khoảng 0,25 mm2
) Chúng là đầu vào để đưa các tín hiệu điện đến thân tế bào Thân tế bào có nhân bên trong (gọi là body hay soma) sẽ tổng hợp các tín hiệu vào và sẽ làm thay đổi điện thế của bản thân nó Khi điện thế này vượt quá một mức ngưỡng (firing threshold) thì
Thân nơron thần kinh
Khớp (Synapse)
Sợitrục(axon)
Nhân (body)
Nhánh
hình cây
(dendrites)
Trang 11kinh ra (gọi là trục axon) có thể dài một vài centimet đến vài met Nó có thể phân thành nhiều nhánh theo dạng hình cây để nối với các dây thần kinh vào của nhiều tế bào khác hoặc có thể nối trực tiếp đến thân tế bào của duy nhất một nơron Việc kết nối này được thực hiện nhờ các khớp nối (gọi là synapse) Số khớp nối của mỗi nơron có thể lên tới hàng trăm ngàn Người ta tính toán rằng mạng lưới dây thần kinh ra và các khớp nối chiếm khoảng 90% diện tích bề mặt nơron Các tín hiệu điện truyền trên các sợi dây thần kinh cũng như hiệu điện thế của nhân tế bào là kết quả của quá trình phản ứng và giải phóng của các chất hữu cơ được đưa ra từ các khớp nối dẫn đến dây thần kinh vào Xung điện đưa ra sợi trục axon sẽ truyền tới các khớp nối với đầu vào của các nơron khác và sẽ kích thích giải phóng các chất truyền điện Tuỳ theo việc tăng hay giảm hiệu điện thế mà người ta chia thành hai loại khớp nối
là khớp nối kích thích và khớp nối ức chế Cường độ tín hiệu mà một tế bào thần kinh nhận được phụ thuộc chủ yếu vào mức độ liên kết của khớp nối Các nghiên cứu chỉ ra rằng quá trình học (learning) của mạng nơron sinh học chính là việc thay đổi mức độ liên kết của các khớp nối Chính cấu trúc mạng nơron và mức độ liên kết của các khớp nối đã tạo nên chức năng của hệ thần kinh con người Quá trình phát triển của hệ thần kinh là một quá trình “học” liên tục Ngay từ khi chúng ta sinh ra, một số cấu trúc thần kinh đơn giản đã được hình thành Sau đó các cấu trúc khác lần lượt được xây dựng thêm nhờ quá trình học Do đó cấu trúc mạng nơron liên tục biến đổi để ngày càng phát triển hoàn thiện
Một vấn đề đặt ra là dựa trên những kết quả nghiên cứu về hệ thần kinh con người chúng ta có thể mô phỏng, xây dựng lên các hệ thần kinh nhân tạo nhằm phục
vụ cho một chức năng nào đó không Nghiên cứu trả lời câu hỏi này đã đưa ra một hướng phát triển mới: Mạng nơron nhân tạo
1.1.2 Mạng nơron nhân tạo
1.1.2.1 Nơron nhân tạo
Nơron nhân tạo (Artificial Neural) là sự rút gọn hết sức đơn giản của nơron sinh học Nó có thể thực hiện nhờ chương trình máy tính hoặc bằng mạch phần cứng Mỗi nơron thực hiện hai chức năng là chức năng đầu vào và chức năng kích hoạt đầu
ra Do đó ta có thể coi mỗi nơron như là một đơn vị xử lý (PE: processing element)
Nó được xây dựng mô phỏng theo cấu trúc của các nơron sinh học Mỗi nơron có một số đầu vào giống như các dây thần kinh tiếp nhận Các đầu vào này làm nhiệm
vụ tiếp nhận thông tin từ các nơron khác hoặc từ tập số liệu gốc vào Tương tự như nơron sinh học, mỗi đầu vào của nơron nhân tạo có ảnh hưởng khác nhau đối với tín
Trang 12hiệu ra của nơron (còn gọi là kết xuất của nơron ) Điều này được thực hiện nhờ các
hệ số được gán cho từng đầu vào, wi là trọng số của đầu vào thứ i Giá trị của wi có thể dương hay âm tương tự như việc có hai loại khớp nối trong mạng nơron sinh học Nếu wi có giá trị dương thì tương đương với khớp nối kích thích còn nếu wi âm thì tương đương với khớp nối ức chế Thân nơron sẽ làm nhiệm vụ tổng hợp các tín hiệu đầu vào xử lý để đưa một tín hiệu ra đầu ra của nơron Quá trình xử lý, tính toán này
sẽ được đề cập cụ thể ở phần sau Đầu ra của nơron nhân tạo tương tự như sợi trục axon của nơron sinh học Tín hiệu ra cũng có thể tách ra thành nhiều nhánh theo cấu trúc hình cây để đưa đến đầu vào của các nơron khác
Hình 1.2 : Nơron nhân tạo
1.1.2.2 Mạng nơron nhân tạo
Các nơron nhân tạo được tổ chức thành mạng nơron nhân tạo (Artificial Neural Network) Các nơron thường được sắp xếp trong mạng thành từng lớp Đầu ra của mỗi nơron sẽ được nối đến đầu vào của một số nơron khác theo một cấu trúc phù hợp Tuy nhiên cấu trúc mạng nơron nhân tạo chưa thể đạt được độ phức tạp như mạng nơron sinh học Mạng nơron nhân tạo hiện chỉ mới là sự mô phỏng hết sức đơn giản cấu trúc của mạng nơron sinh học
Giữa mạng nơron nhân tạo và mạng nơron sinh học có 3 điểm chung là
Mạng được xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau một cách phức tạp và hoạt động theo nguyên tắc song song
Trang 13 Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết giữa các phần tử
Mức độ liên kết giữa các phần tử được xác định thông qua quá trình học của
mạng ( hay còn gọi là quá trình huấn luyện mạng - training)
Điểm khác nhau về căn bản giữa mạng nơron nhân tạo và mạng nơron sinh học
là ở tốc độ tính toán, độ phức tạp và tính song song Tuy xét về tốc độ xử lý của các máy tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con người nhưng bộ não lại có thể đồng thời kích hoạt toàn bộ các nơron để làm nhiều công việc khác nhau Điều này mạng nơron nhân tạo không thể thực hiện được Với sự phát triển nhanh chóng của khoa học như hiện nay thì ta có thể hi vọng sẽ có những bước đột phá mới trong lĩnh vực mô phỏng mạng nơron sinh học
Kể từ đây, nói đến mạng nơron là có nghĩa ta đề cập đến mạng nơron nhân tạo
1.2 Mô hình toán học và kiến trúc mạng nơron
1.2.1 Mô hình toán học của mạng nơron
1.2.1.1 Mô hình toán học của một nơron nhân tạo
Dựa trên những kiến thức cơ bản về nơron nhân tạo như đã trình bày ở phần trên, ta có thể xây dựng một mô hình toán học của nơron nhân tạo như hình vẽ 1.3 dưới đây:
Hình 1.3: Mô hình toán học mạng nơron nhân tạo
Trang 14Các tín hiệu vào ( còn gọi là mẫu vào) pi (i=1 R) được đưa tới đầu vào của nơron S tạo thành ma trận tín hiệu vào P Mỗi đầu vào của nơron S sẽ có một trọng số kí hiệu
là ws,i (i=1 R) và các trọng số này tạo thành một ma trận trọng số đầu vào W Mức ngưỡng của nơron có thể được biểu diễn trong mô hình toán học bằng hệ số bias b (gọi là thế hiệu dịch) Như vậy tín hiệu vào là nnet sẽ được tính theo công thức sau:
b p w p
w p w
nnet s,1 1 s,2 2 s,R R (2.1) Viết dưới dạng ma trận sẽ là:
net
n WP b (2.2) Xem các biểu thức trên thì ta có thể coi hệ số bias như trọng số của một đầu vào với tín hiệu bằng 1 Có một số loại nơron có thể bỏ qua hệ số bias nàỵ
Hàm kích hoạt (activation function) hay còn gọi là hàm truyền (transfer function) được kí hiệu là f sẽ biến đổi tín hiệu đầu vào nnet thành tín hiệu đầu ra nơron ạ Ta có biểu thức:
a=f(n net )=f(WP+b) (2.3)
Thông thường thì hàm kích hoạt sẽ được chọn bởi người thiết kế tuỳ theo mục đích của mạng Các trọng số và hệ số bias là các thông số điều chỉnh được của mạng nơron Chúng được điều chỉnh bởi một số luật học (learning rule) Như vậy quan hệ giữa đầu ra và các đầu vào của nơron sẽ tuỳ thuộc vào việc nơron đó được dùng cho các mục đích cụ thể nàọ
1.2.1.2 Cấu trúc mạng nhân tạo
Mạng nơron nhân tạo thường được cấu tạo thành các lớp gồm lớp vào (input layer) , lớp ra (output layer) và các lớp ẩn (hiđen layer) Các nơron trong một lớp chỉ nối với các nơron lớp tiếp theo, không cho phép có các liên kết giữa các nơron trong cùng một lớp
Lớp vào là lớp nhận thông tin từ số liệu gốc Thông tin này được đưa đến đầu vào của một số hay toàn bộ các nơron của lớp tiếp theo (lớp ẩn) Như vậy mỗi nơron của lớp ẩn sẽ nhận được tín hiệu của một số các nơron lớp vàọ Các giá trị này sẽ được nhân với hệ số nhân (trọng số) của các nơron ẩn và đưa vào hàm thế sau khớp nối - PSP (Post Synaptic Potential function) thực hiện chức năng đầu vào để tạo tín hiệu duy nhất net Chức năng kích hoạt đầu ra được thực hiện bằng hàm kích hoạt ặ) (activation function) hay còn gọi là hàm truyền f(.) (transfer function) Hàm này
Trang 15sẽ nhận tín hiệu đầu vào net để tạo ra tín hiệu đầu ra của nơron (kết xuất của nơron lớp ẩn) Tín hiệu ra của các nơron ẩn lại được đưa đến các nơron của lớp tiếp theo Quá trình xử lý tương tự cho đến khi tín hiệu được đưa ra tại các nơron lớp ra Đây chính là tín hiệu đầu ra của mạng Nó chính là giá trị của các biến cần tìm
Mạng nơron có thể tổ chức theo kiểu liên kết đầy đủ (fully connected) tức là đầu ra của các nơron lớp trước sẽ có liên kết với tất cả các nơron ở lớp tiếp theo hoặc ngược lại theo kiểu không đầy đủ-mỗi đầu ra chỉ liên kết với một số nơron của lớp tiếp theo tuỳ theo chức năng của mạng
1.2.1.3 Hàm truyền (Hàm kích hoạt)
Hàm kích hoạt (activation function) có thể là một hàm tuyến tính hoặc phi tuyến của tín hiệu đầu vào, nó được chọn để thoả mãn một số đặc điểm kỹ thuật của bài toán mà mạng nơron cần giải quyết Hình 1.4 cho thấy quan hệ giữa tín hiệu vào
p và tín hiệu ra a của nơron một đầu vào, với hàm kích hoạt là hàm Hardlimit
Hình 1.4: Nơron 1 đầu vào với hàm kích hoạt là hàm hardlimit
Một số dạng hàm hoạt hóa trong mạng nơron nhân tạo
0 1
n n
o Ký hiệu:
Hàm ngưỡng đối xứng: (Hardlims)
nơron 1 đầu vào
nnet w
b (bias)
ap
a=hardlimit(wp+b)
-b/ w
p +1
a
Trang 160 1
n n
1 0
1 1
n
n n
11
n n
o Ký hiệu:
Hàm tanghyperbolic : (tansig)
Trang 17o a= tansig(n)=
e e
e
e
n n
n n
0
n
n n
max 1
n n
o Ký hiệu: (Compet)
1.2.2 Kiến trúc mạng
Mạng nơron nhân tạo như đã giới thiệu ở trên là sự liên kết của các nơron nhân tạo Sự xắp xếp bố trí các nơron và cách thức liên hệ giữa chúng tạo nên kiến trúc mạng nơron Theo cách sắp xếp nơron thì có kiểu kiến trúc một lớp (single layer) và kiến trúc đa lớp (Multiple layer), còn theo cách liên hệ giữa các nơron thì ta có kiến trúc mạng truyền thẳng (feedforward) và kiến trúc mạng hồi qui (recurrent) Ngoài ra còn một loại liên kết theo sự phân bố của các nơron trong không gian hai chiều trong một lớp, gọi là liên kết bên (lateral connection) Với loại liên kết bên này, Kohonen
đã tạo ra loại mạng tự tổ chức (Self-Organizing Neural Network)
Mạng nơron nhiều lớp là các mạng nơron có thêm một hoặc vài lớp ẩn
Do đó cấu trúc mạng vì vậy mà phức tạp hơn rất nhiều Tuy nhiên các mạng
C
Trang 18nơron này lại có khả năng thực hiện các công việc phức tạp hơn Nó có thể thực hiện được các hàm phân bố ngẫu nhiên với điều kiện thu thập được một tập mẫu tin cậy và đủ lớn
Theo kiểu liên kết của các nơron
Xét theo kiểu liên kết của các nơron thì có cấu trúc mạng nơron truyền thẳng
và mạng nơron quy hồi
Mạng nơron truyền thẳng (feedforward Neural Network) là mạng có
cấu trúc mà ở đó các liên kết nơron đi theo một hướng nhất định, không tạo
thành đồ thị có chu trình (Directed Acrylic Graph) với các đỉnh là các nơron
và các cung là các liên kết giữa chúng
Mạng quy hồi (Recurrent Neural Network) cho phép các liên kết
nơron tạo thành chu trình tức là tồn tại những liên kết từ các nơron lớp sau quay trở lai các nơron lớp trước Trong chu trình này, các tín hiệu ra của nơron lại được truyền ngược lại cho các nơron đã kích hoạt chúng do đó mà mạng hồi quy có khả năng lưu giữ trạng thái trong dưới dạng các ngưỡng kích hoạt ngoài các trọng số liên kết nơron Mạng hồi quy có thể là hồi quy một lớp hoặc hồi quy nhiều lớp
Theo liên kết bên
Loại liên kết bên (lateral connection) thực hiện trên một lớp được gọi là lớp cạnh tranh (competitive layer) Lớp cạnh tranh thường được tổ chức như
một lưới nơron hai chiều, và một tập tín hiệu vào sẽ đồng thời được đưa đến tất cả các nơron của lớp Mỗi nơron của lớp cạnh tranh có một liên kết kích
thích (excitatory và có trọng số là dương) với chính nó và có các liên kết ức chế (inhibitory và có trọng số là âm) với các nơron lân cận cùng lớp
Trang 19Hình 1.5 : Liên kết bên trên lớp cạnh tranh
Chúng ta có thể tưởng tượng kiểu liên kết này như một cụm các nơron “cạnh tranh
nhau” (competition), mỗi nơron sẽ kích hoạt chính nó đồng thời lại ức chế các nơron
khác kế cận Sau một chu kỳ số trao đổi tín hiệu trong mạng sẽ có các nơron với giá trị đầu vào net lớn hơn so với các nơron khác Chúng sẽ được coi là các “nơron
thắng” (winning neural) và được kích hoạt lên giá trị đầu ra lớn nhất, trong khi
những nơron khác bị ức chế (giá trị đầu ra giảm xuống 0) Chính vì vậy đôi khi mạng
này còn được gọi là “winner-takes-all” Quá trình kích hoạt cạnh tranh này gọi là sự tiến hoá (evolution)
1.3 Một số ứng dụng của mạng nơron
1.3.1 Mạng nơron trong phân lớp
Mạng nơron là một công cụ rất tốt cho quá trình phân lớp mẫu dữ liệu [1], có thể kể đến một số mô hình mạng Perceptron, mạng cạnh tranh, hay SOFM
Trong lĩnh vực phân cụm dữ liệu thì mạng nơron cũng có rất nhiều ứng dụng tốt Đối với phân cụm dữ liệu rõ thì nhiều bài báo nói đến như [2], [3], [4] Còn trong phân cụm mờ có thể kể đến các kết quả của một số mạng như: mạng ánh xạ đặc trưng tự tổ chức (self-organizing feature maps) do Kohonen đề xuất [5], mạng Kohonen mờ (fuzzy Kohonen clustering network) do Tsao đề xuất [6] hay mạng Hopfield mờ (fuzzy Hopfield neural network) do Lin đề xuất [7] Các mạng này đã
có sự kết hợp với các công thức của fuzzy c-means để thực hiện quá trình phân cụm
Trong luận văn tôi cũng trình bầy về một cách ứng dụng mới của mạng nơron trong vấn đề phân cụm mờ đó là việc xây dựng một loại mạng phân cụm kết hợp hai hướng mờ (FBACN) Nội dung được trình bầy chi tiết trong chương 3,4
Liên kết bên Nơron thắng
Lớp cạnh tranh
Trang 201.3.2 Mạng nơron trong nhận dạng
Nhận dạng mẫu là một nghành khoa học mà vai trò của nó là phân lớp các đối tượng thành một số loại hoặc một số lớp riêng biệt Tuỳ thuộc vào lĩnh vực ứng dụng, các đối tượng có thể ở dạng ảnh, dạng tín hiệu, kí hiệu, nói chung là “mẫu” (pattern) Hiện nay mạng nơron đã được sử dụng rất nhiều vào ngành khoa học này,
có thể kể đến một số loại mạng như sau [1]: mạng Perceptron, mạng Adaline, mạng sao vào (Instar)…
1.3.3 Mạng nơron trong dự báo
Hiện nay phân tích dự báo sử dụng mô hình mạng nơron mờ được ứng dụng rộng rãi trong nhiều lĩnh vực[8], chẳng hạn như phân tích dự báo một số mặt hàng chiến lược ảnh hưởng đến nền kinh tế Việt Nam và ảnh hưởng của chúng có tác động rất lớn đến các hoạt động kinh tế khác Đây là hướng nghiên cứu mới đang được các nhà khoa học quan tâm
1.3.4 Mạng nơron và bài toán tối ƣu
Vấn đề chính ở đây là tìm những thuật toán huấn luyện mạng sao cho góp phần tìm nghiệm cho nhiều lớp bài toán tối ưu toàn cục
Có thể nêu lên các bước sau đây trong việc sử dụng mạng nơron để giải các bài toán tối ưu hoá hay còn gọi là ánh xạ các bài toán tối ưu lên mạng nơron [9]:
- Chọn sơ đồ biểu diễn để các đầu ra của các nơron có thể giải mã thành các nghiệm có thể của bài toán tối ưu
- Chọn hàm năng lượng sao cho cực tiểu của nó ứng với nghiệm “tốt nhất” của bài toán cần ánh xạ
- Gán giá trị cho các tham số của hàm năng lượng - điều này sẽ xác định các trọng số tương đối gán cho các thành phần khác nhau của hàm năng lượng
- Rút ra phương trình động học của các nơron (tương ứng với việc xác định các trọng số liên kết và đầu vào ngoài)
- Đặt giá trị đầu cho các tín hiệu vào
Không có phương pháp trực tiếp ánh xạ các bài toán tối ưu có ràng buộc lên mạng nơron ngoại trừ việc thêm vào hàm mục tiêu các thành phần phạt khi các ràng buộc bị phá vỡ Trong trường hợp hàm năng lượng được biểu diễn như tổng có trọng của hàm mục tiêu của bài toán và các thành phần phạt
Trang 212 Phân cụm dữ liệu
2.1 Giới thiệu
Mục đích chính của phân cụm là phân chia tập dữ liệu ban đầu thành các cụm (clusters) dễ nhận thấy nhất Điều này cho phép chúng ta khám phá ra sự giống nhau
và khác nhau giữa các dạng để có thể rút ra các kết luận hữu ích về chúng Ý tưởng
đó chúng ta bắt gặp trong nhiều lĩnh vực như: Sinh học, y học, khoa học xã hội, khoa học trái đất và các kỹ thuật nói chung
Ở một mức cơ bản nhất, người ta đã đưa ra định nghĩa PCDL như sau [10][11]:
"PCDL 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, quan tâm trong tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích cho ra quyết định"
Như vậy, PCDL 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 phần tử trong một cụm "tương tự" (Similar) với nhau và các phần tử trong các cụm khác nhau sẽ "phi 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 của phương pháp phân cụm
Trong PCDL, khái niệm (Concept Clustering) thì hai hoặc nhiều đối tượng
cùng được xếp vào một cụm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp xỉ với các khái niệm mô tả cho trước, như vậy, ở đây PCDL không sử
dụng khái niệm “tương tự” như đã trình bày ở trên
Trong học máy, phân cụm dữ liệu được xem là vấn đề học không có giám sát,
vì nó phải đi giải quyết vấn đề tìm một cấu trúc trong tập hợp các dữ liệu chưa biết trước các thông tin về lớp hay các thông tin về tập ví dụ huấn luyện Trong nhiều trường hợp, khi phân lớp (Classification) được xem vấn đề học có giám sát thì phân cụm dữ liệu là một bước trong phân lớp dữ liệu, trong đó PCDL sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu
Một vấn đề thường gặp trong PCDL đó 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" (noise) 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 bước vào giai đoạn phân tích phân cụm dữ liệu "Nhiễu" ở đây có thể là các đối tượng dữ liệu không không chính xác, 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ỹ
Trang 22thuật xử lý nhiễu phổ biến là việc thay thế giá trị của các thuộc tính của đối tượng
"nhiễu" bằng giá trị thuộc tính tương ứng của đối tượng dữ liệu gần nhất
Ngoài ra, dò tìm phần tử ngoại lai (Outlier) là một trong những hướng nghiên cứu quan trọng trong PCDL cũng như trong Data Mining, 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
CSDL - 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 PCDL Khám phá các phần tử ngoại lai đã được phát triển và ứng dụng trong viễn thông, dò tìm gian lận thương mại và trong làm sạch dữ liệu,vv…
Tóm lại, phân loại là một hành vi nguyên thuỷ nhất của con người nhằm lắm giữ lượng thông tin khổng lồ họ nhận được hàng ngày, vì sự xử lý mọi thông tin như một thực thể đơn lẻ là không thể Vì vậy con người có xu hướng phân loại các thực thể thành các nhóm, mỗi nhóm được đặc trưng bởi các thuộc tính chung của tất cả các thực thể mà nó chứa Chúng ta giả sử rằng tất cả các dạng biểu diễn bởi khái niệm các đặc trưng, các đặc trưng hình thành nên vectơ đặc trưng l-chiều
Các bước cơ bản để phân cụm gồm có:
Chọn lựa các đặc trưng: các đặc trưng phải được chọn lựa một các hợp lý
để có thể “mã hoá” nhiều thông tin liên quan đến công việc quan tâm Mục tiêu chính là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cần được tiền xử lý trước khi dùng chúng trong các bước sau
Chọn độ đo gần gũi: Đây là một độ đo chỉ ra mức độ tương tự hay không tương tự giữa các vectơ đặc trưng Phải đảm bảo rằng tất cả các vectơ đặc trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át hẳn đặc trưng nào Điều này được đảm nhận bởi quá trình tiền xử lý
Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của các chuyên gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho rằng đang ẩn giấu dưới lớp dữ liệu Chẳng hạn, một cụm loại chặt (compact) của các vectơ đặc trưng trong không gian l-chiều có thể dễ nhận thấy theo một tiêu chuẩn, trong khi một cụm “dài và mỏng” lại
có thể được dễ nhận thấy bởi một tiêu chuẩn khác Tiêu chuẩn phân loại
có thể được diễn đạt bởi hàm chi phí hay một vài quy tắc khác
Trang 23 Thuật toán phân loại: Cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm sáng tỏ cấu trúc cụm của tập dữ liệu
Công nhận kết quả: Khi đã có kết quả phân loại thì ta phải kiểm tra tính đúng đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm định phù hợp
Giải thích kết quả: Trong nhiều trường hợp, chuyên gia trong lĩnh vực ứng dụng phải kết hợp kết quả phân loại với những bằng chứng thực nghiệm
và phân tích để đưa ra các kết luận đúng đắn
Trong một số trường hợp, nên có cả bước phân tích khuynh hướng phân cụm, trong bước này có các kiểm định khác nhau để chỉ ra tập dữ liệu có hay không một cấu trúc phân cụm Ví dụ như tập dữ liệu của ta có thể hoàn toàn ngẫu nhiên vì vậy mọi cố gắng phân cụm đều là vô nghĩa
Các lựa chọn khác nhau của các đặc trưng, độ đo gần gũi, tiêu chuẩn phân cụm
có thể dẫn tới các kết quả phân cụm khác nhau Do đó việc lựa chọn một các hợp lý nhất hoàn toàn dựa vào kiến thức và kinh nghiệm của chuyên gia
Theo các nghiên cứu, đến nay chưa có một phương pháp phân cụm tổng quát nào
có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu Hơn nữa, các phương pháp phân cụm cần có cách thức biểu diễn cấu trúc của các cụm 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 PCDL đang là vấn đề mở và khó, vì rằng người ta cần phải đi giải quyết nhiều vấn đề cơ bản như đã đề cập ở trê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 các dữ liệu hỗn hợp, đang ngày càng tăng trưởng không ngừng trong các hệ quản trị dữ liệu, đây cũng là một trong những thách thức lớn trong lĩnh vực Data Mining trong những thập kỷ tiếp theo
2.2 Các ứng dụng của phân cụm dữ liệu
ứng dụng của nó:
* Giảm dữ liệu: Giả sử ta có một lượng lớn dữ liệu (N) Phân cụm sẽ nhóm
các dữ liệu này thành m cụm dữ liệu dễ nhận thấy và m << N Sau đó xử lý mỗi cụm như một đối tượng đơn
* Rút ra các giả thuyết: Các giả thuyết này có liên quan đến tính tự nhiên của
dữ liệu và phải được kiểm tra bởi việc dùng một số tập dữ liệu khác
Trang 24* Kiểm định giả thuyết: Ta sẽ phân cụm để xét xem có tồn tại một cụm nào đó
trong tập dữ liệu thoả mãn các giả thuyết đã cho hay không Chẳng hạn xem xét giả thuyết sau đây: “Các công ty lớn đầu tư ra nước ngoài” Để kiểm tra điều này, ta áp dụng kỹ thuật phân cụm với một tập các đại diện lớn các công ty Giả sử rằng mỗi công ty được đặc trưng bởi một tầm vóc, các hoạt động nước ngoài của nó và khả năng hoàn thành các dự án thành công Nếu sau khi phân cụm, một cụm các công ty được hình thành gồm các công ty lớn và có đầu tư ra nước ngoài (không quan tâm đến khả năng hoàn thành vốn các dự án thành công) thì giả thuyết đã được củng cố bởi kỹ thuật phân cụm đã được thực hiện
* Dự đoán dựa trên các cụm: Đầu tiên ta sẽ phân cụm một tập dữ liệu thành các
cụm mang đặc điểm của các dạng mà nó chứa Sau đó, khi có một dạng mới chưa biết ta sẽ xác định xem nó sẽ có khả năng thuộc về một cụm nào nhất và dự đoán được một số đặc điểm của dạng này nhờ các đặc trưng chung của cả cụm
2.3 Một số kiểu dữ liệu và độ đo tương tự
Trong phần này chúng ta phân tích các kiểu dữ liệu thường được sử dụng
trong PCDL Trong PCDL, các đối tượng dữ liệu cần phân tích có thể là con người, cái nhà, tiền lương, các thực thể phần mềm,… Các đối tượng này thường được diễn
tả dưới dạng các đặc tính hay còn gọi là thuộc tính của nó Các thuộc tính này là các tham số cho giải quyết vấn đề PCDL và sự lựa chọn chúng có tác động đáng kể đến các kết quả của phân cụm Phân loại khái niệm các kiểu thuộc tính khác nhau là một vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các phương tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu Dưới đây là cách phân lớp dựa trên hai đặc trưng là[10][12] : kích thước miền (Domain Size) và hệ đo (Measurement Scale)
Cho một CSDL D chứa n đối tượng trong không gian k chiều trong đó x,y,z là các đối tượng thuộc D : x=(x1,x2, ,xk); y=(y1,y2, ,yk); z=(z1,z2, ,zk), trong đó xi, yi,
zi với i 1 ,k là các đặc trưng hoặc thuộc tính tương ứng của các đối tượng x,y,z Vì vậy, hai khái niệm “các kiểu dữ liệu” và “các kiểu thuộc tính dữ liệu” được xem là tương đương với nhau, như vậy, chúng ta sẽ có các kiểu dữ liệu sau
2.3.1 Phân loại các kiểu dữ liệu dựa trên kích thước miền
Thuộc tính liên tục (Continuous Attribute): nếu miền giá trị của nó của nó
là vô hạn không đếm được, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác Thí dụ như các thuộc tính về màu, nhiệt độ hoặc cường độ âm thanh
Trang 25Thuộc tính rời rạc (DiscretteAttribute): Nếu miền giá trị của nó là tập hữu
hạn, đếm được Thí dụ như các thuộc tính về số serial của một cuốn sách, số thành viên trong một gia đình, …
Lớp các thuộc tính nhị phân là trường hợp đặc biệt của thuộc tính rời rạc mà
miền giá trị của nó chỉ có 2 phần tử được diễn tả như : Yes / No hoặc Nam/Nữ, False/true,…
2.3.2 Phân loại các kiểu dữ liệu dựa trên hệ đo
Giả sử rằng chúng ta có hai đối tượng x, y và các thuộc tính xi, yi tương ứng với thuộc tính thứ i của chúng Chúng ta có các lớp kiểu dữ liệu như sau :
Thuộc tính định danh (nominal Scale): đây là dạng thuộc tính khái quát
hoá của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và
có nhiều hơn hai phần tử - nghĩa là nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là x y hoặc x=y Thí dụ như thuộc tính về nơi sinh hoặc thuộc tính các đội bóng chơi cho giải vô địch quốc gia Việt Nam
Thuộc tính có thứ tự (Ordinal Scale) : là thuộc tính định danh có thêm tính thứ tự, nhưng chúng không được định lượng Nếu x và y là hai thuộc tính thứ tự thì
ta có thể xác định là x y hoặc x=y hoặc x>y hoặc x<y Thí dụ như thuộc tính Huy chương của vận động viên thể thao
Thuộc tính khoảng (Interval Scale) : Nhằm để đo các giá trị theo xấp xỉ
tuyến tính Với thuộc tính khoảng, chúng ta có thể xác định một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi>yi thì ta nói x cách y một khoảng xi – yi tương ứng với thuộc tính thứ i Một thí dụ về thuộc
tính khoảng như thuộc tính số Serial của một đầu sách trong thư viện hoặc thuộc tính
số kênh trên truyền hình
Thuộc tính tỉ lệ (Ratio Scale) : là thuộc tính khoảng nhưng được xác định một cách tương đối so với điểm mốc đầy ý nghĩa, thí dụ như thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc
Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính
có thứ tự gọi chung là thuộc tính hạng mục (Categorical), trong khi đó thì thuộc tính
khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số (Numeric)
Người ta còn đặc biệt quan tâm đến dữ liệu không gian (Spatial Data) Đây là
loại dữ liệu có các thuộc tính số khái quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng,
Trang 26thí dụ như thông tin về hình học,… Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc:
o Dữ liệu không gian rời rạc : có thể là một điểm trong không gian nhiều chiều và
cho phép ta xác định được khoảng cách giữa các đối tượng dữ liệu trong không
gian
o Dữ liệu không gian liên tục : bao chứa một vùng trong không gian
Thông thường, các thuộc tính số được đo bằng các đơn vị xác định như là
kilogams hay là centimeter Tuy nhiên, các đơn vị đo có ảnh hưởng đến các kết quả
phân cụm Thí dụ như thay đổi độ đo cho thuộc tính cân nặng từ kilogams sang
Pound có thể mang lại các kết quả khác nhau trong phân cụm Để khắc phục điều này người ta phải chuẩn hoá dữ liệu, tức là sử dụng các thuộc tính dữ liệu không phụ
thuộc vào đơn vị đo Thực hiện chuẩn hoá phụ thuộc vào ứng dụng và người dùng, thông thường chuẩn hoá dữ liệu được thực hiện bằng cách thay thế mỗi một thuộc tính bằng thuộc tính số hoặc thêm các trọng số cho các thuộc tính
2.3.3 Khái niệm về tương tự và phi tương tự
Khi các đặc tính của dữ liệu được xác định, người ta đi tìm cách thích hợp để xác định "khoảng cách" giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm
này hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự (Dissimilar)
giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự càng lớn thì sự giống nhau giữa đối tượng càng lớn và ngược lại, còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự Độ tương tự hoặc độ phi tương tự có nhiều cách để xác định, chúng thường được đo bằng koảng cách giữa các đối tượng Tất cả các cách đo
độ tương tự đều phụ thuộc vào kiểu thuộc tính mà chúng ta phân tích Thí dụ, đối với
thuộc tính hạng mục (Categorical) người ta không sử dụng độ đo khoảng cách mà sử
dụng một hướng hình học của dữ liệu
Tất cả các độ đo dưới đây được xác định trong không gian metric Bất kỳ một metric nào cũng là một độ đo, nhưng điều ngược lại không đúng Để tránh sự nhầm
lẫn, thuật ngữ độ đo ở đây đề cập đến hàm tính độ tương tự hoặc hàm tính độ phi tương tự Một không gian metric là một tập trong đó có xác định các "khoảng cách"
giữa từng cặp phần tử, với những tính chất thông thường của khoảng cách hình học Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối tượng dữ liệu trong CSDL D như đã đề cập ở trên được gọi là một không gian metric
Trang 27 Với mỗi cặp phần tử x,y thuộc X đều có xác định, theo một quy tắc nào đó, một
số thực δ(x,y), được gọi là khoảng cách giữa x và y
Quy tắc nói trên thoả mãn hệ tính chất sau : (i)δ(x,y)>0 nếu x ≠y ; (ii)δ(x,y)=0 nếu =y; (iii) δ(x,y) = δ(y,x) với mọi x,y; (iv) δ(x,y) ≤ δ(x,z)+δ(z,y)
Hàm δ(x,y) được gọi là một metric của không gian Các phần tử của X được gọi là các điểm của không gian này
Sau đây là các phép đo áp dụng đối với các kiểu dữ liệu khác nhau [10] [12]:
Thuộc tính khoảng: Sau khi chuẩn hoá, độ đo phi tương tự của hai đối tượng
dữ liệu x, y được xác định bằng các metric khoảng cách như sau:
o Khoảng cách Minskowski : ( | | )
1
) , (
/ 1
x d
1
2
) (
),
y x d
1
|
| ) ,
y x
d , đây là trường hợp của khoảng cách Minskowski trong trường hợp q->
Thuộc tính nhị phân : Trước hết chúng ta có xây dựng hình sau :
x:1
x:0
Trang 28Hình 1.6 : Các tham số
Trong đó : =+ ++ , các đối tượng x, y mà tất cả các thuộc tính tính của nó đều là nhị phân biểu thị bằng 0 và 1 Hình trên cho ta các thông tin sau :
là tổng số các thuộc tính có giá trị là 1 trong cả hai đối tượng x,y
là tổng số các giá trị thuộc tính có giá trị là 1 trong x và 0 trong y
là tổng số các giá trị thuộc tính có giá trị là 0 trong x và 1 trong y
là tổng số các giá trị thuộc tính có giá trị là 0 trong x và y Các phép đo độ tương đồng đối với dữ liệu thuộc tính nhị phân được định nghĩa như sau :
o Hệ số đối sánh đơn giản :
) , (x y
d , ở đây cả hai đối tượng x và y có vai trò như nhau, nghĩa là chúng đối xứng và có cùng trọng số
d , chú ý rằng tham số này bỏ qua số các đối sánh giữa 0-0 Công thức tính này được sử dụng trong trường hợp mà trọng số của các thuộc tính có giá trị 1 của đối tượng dữ liệu có cao hơn nhiều so với các thuộc tính có giá trị 0, như vậy các thuộc tính nhị phân ở đây là không đối xứng
Thuộc tính định danh : Độ đo phi tương tự giữa hai đối tượng x và y
được định nghĩa như sau :
p
m p y x
) , ( , trong đó m là số thuộc tính đối sánh
tương ứng trùng nhau, và p là tổng số các thuộc tính
Thuộc tính có thứ tự : Phép đo độ phi tương tự giữa các đối tượng dữ
liệu với thuộc tính thứ tự được thực hiện như sau, ở đây ta giả sử i là thuộc tính thứ
tự có Mi giá trị (Mi kích thước miền giá trị) :
o Các trạng thái Mi được sắp thứ tự như sau : [1…Mi], chúng ta có thể thay thế mỗi giá trị của thuộc tính bằng giá trị cùng loại ri, với ri {1…Mi}
Trang 29o Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy chúng
ta chuyển đổi chúng về cùng miền giá trị [0,1] bằng cách thực hiện phép biến đổi sau
cho mỗi thuộc tính :
1
1
) ( ) (
i
j i j i
o Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với các
giá trị zi j
)
(
, đây cũng chính là độ phi tương tự của thuộc tính có thứ tự
Thuộc tính tỉ lệ : Có nhiều cách khác nhau để tính độ tương tự giữa
các thuộc tính tỉ lệ Một trong những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính xi, thí dụ qi = log(xi), lúc này qi đóng vai trò như thuộc tính khoảng (Interval -Scale) Phép biến đổi logarit này thích hợp trong trường hợp các giá trị của thuộc tính là số mũ
Trong thực tế, khi tính độ đo tương tự dữ liệu, người ta chỉ xem xét một phần các thuộc tính đặc trưng đối với các kiểu dữ liệu hoặc là đánh trọng số cho cho tất cả các thuộc tính dữ liệu Trong một số trường hợp, người ta loại bỏ đơn vị đo của các thuộc tính dữ liệu bằng cách chuẩn hoá chúng, hoặc gán trọng số cho mỗi thuộc tính giá trị trung bình, độ lệch chuẩn Các trọng số này có thể sử dụng trong các độ đo khoảng cách trên, thí dụ với mỗi thuộc tính dữ liệu đã được gán trọng số tương ứng
wi (1 ik), độ tương đồng dữ liệu được xác định như sau :
),
Người ta có thể chuyển đổi giữa các mô hình cho các kiểu dữ liệu trên, thí dụ
dữ liệu kiểu hạng mục có thể chuyển đổi thành dữ liệu nhị phân và ngược lại Thế nhưng, giải pháp này rất tốt kém về chi phí tính toán, do vậy, cần phải cân nhắc khi
áp dụng cách thức này
Tóm lại, tuỳ từng trường hợp dữ liệu cụ thể mà người ta sử dụng các mô hình tính độ tương tự khác nhau Việc xác định độ tương đồng dữ liệu thích hợp, chính xác, đảm bảo khách quan là rất quan trọng, góp phần xây dựng thuật toán PCDL có hiệu quả cao trong việc đảm bảo chất lượng cũng như chi phí tính toán của thuật toán
2.4 Các định nghĩa phân cụm dữ liệu
a Định nghĩa 1:
Cho X là một tập dữ liệu:
Trang 30Ta định nghĩa m – phân cụm của X như một sự phân chia X thành m tập (cụm): C1, C2,…, Cm sao cho thoả mãn 3 điều kiện:
(a) Các cụm chặt (b) Các cụm dài và mỏng (c) Các cụm dạng cầu và elipxôit
Hình 1.7 : Hình dáng của các loại cụm
b Định nghĩa 2 Dựa vào khái niệm tập mờ, ta có thể định nghĩa như sau:
Một sự phân cụm mờ X thành m cụm được mô tả bằng m hàm thuộc u jsao cho:
, 1 )
( 0
(1.2) , ,
2 , 1 1 ) (
N i
x u
i N i j
i m j j
Mỗi cụm trong trường hợp này có thể không được định nghĩa một cách chính xác Nghĩa là mỗi vectơ x thuộc về nhiều hơn một cụm, với mỗi cụm nó lại thuộc về với
độ thuộc u j:
* u j gần 1: mức độ thuộc của x vào cụm thứ j cao
Trang 312.5 Một số kỹ thuật tiếp cận trong phân cụm dữ liệu
Các kỹ thuật áp dụng để giải quyết vấn đề phân cụm dữ liệu đều hướng tới hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độ thực hiện của thuật toán Hiện nay, có nhiều kỹ thuật phân cụm, nhưng trong luận văn này, tôi xin nêu 2 kỹ thuật theo các cách tiếp cận sau:
2.5.1 Phân cụm phân hoạch
Phương pháp phân cụm phân hoạch nhằm phân một tập dữ liệu có n phần tử cho trước thành k nhóm dữ liệu sao cho: mỗi phần tử dữ liệu chỉ thuộc về một nhóm
dữ liệu và mỗi nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu Các thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu toàn cục cho vấn đề PCDL, do nó phải tìm kiếm tất cả các cách phân hoạch có thể được Chính vì
vậy, trên thực tế người ta 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 mục tiêu để đánh giá chất lượng của các cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu Với chiến lược này, thông thường người ta bắt đầu khởi tạo một phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo heuristic, và liên tục tinh chỉnh nó cho đến khi thu được một phân hoạch mong muốn, thoả mãn ràng buộc cho trước Các thuật toán phân cụm phân hoạch cố gắng cải tiến tiêu chuẩn phân cụm, bằng cách tính các giá trị đo độ tương tự giữa các đối tượng dữ liệu và sắp xếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong dãy sắp xếp sao cho hàm mục tiêu đạt giá trị tối thiể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 Một số thuật toán phân cụm phân hoạch điển hình như k-means, PAM, CLARA, CLARANS,…
2.5.2 Phân cụm dữ liệu có ràng buộc
Sự phát triển của phân cụm dữ liệu không gian trên CSDL lớn đã cung cấp nhiều công cụ tiện lợi cho việc phân tích thông tin địa lý, tuy nhiên hầu hết các thuật
Trang 32toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thoả mãn trong quá trình PCDL Để phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Thực tế, các phương pháp trên đã và đang được phát triển và áp dụng nhiều trong PCDL Đến nay, đã có một số nhánh nghiên cứu được phát triển trên cơ sở của các phương pháp tiếp cận trong PCDL đã trình bày ở trên như sau :
Phân cụm thống kê : Dựa trên các khái niệm phân tích thống kê, nhánh
nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, nhưng chúng chỉ áp dụng cho các dữ liệu có thuộc tính số
Phân cụm khái niệm : Các kỹ thuật phân cụm được phát triển áp dụng
cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng
xử lý
Phân cụm mờ : Sử dụng kỹ thuật mờ để PCDL, trong đó một đối tượng
dữ liệu có thể thuộc vào nhiều cụm dữ liệu khác nhau Các thuật toán thuộc loại này chỉ ra lược đồ phân cụm thích hợp với tất cả hoạt động đời sống hàng ngày, chúng chỉ xử lý các dữ liệu thực không chắc chắn Thuật toán phân cụm mờ quan trọng nhất là thuật toán FCM (Fuzzy c-means)
Phân cụm mạng Kohonen : loại phân cụm này dựa trên khái niệm của
các mạng nơron Mạng Kohnen có tầng nơron vào và các tầng nơron ra Mỗi nơron của tầng vào tương ứng với mỗi thuộc tính của bản ghi, mỗi một nơron vào kết nối với tất cả các nơron của tầng ra Mỗi liên kết được gắn liền với một trọng số nhằm xác định vị trí của nơron ra tương ứng
Tóm lại, các kỹ thuật PCDL trình bày ở trên đã được sử dụng rộng rãi trong thực tế, thế nhưng hầu hết chúng chỉ nhằm áp dụng cho tập dữ liệu với cùng một kiểu thuộc tính
2.6 Các yêu cầu cần thiết cho tạo dựng kỹ thuật PCDL
Việc xây dựng, lựa chọn một thuật toán phân cụm là bước then chốt cho việc giải quyết vấn đề phân cụm, sự lựa chọn này phụ thuộc vào đặc tính dữ liệu cần phân cụm, mục đích của ứng dụng thực tế hoặc xác định độ ưu tiên giữa chất lượng của các cụm hay tốc độ thực hiện thuật toán, …
Hầu hết các nghiên cứu và phát triển thuật toán phân cụm dữ liệu đều nhằm thoả mãn các yêu cầu cơ bản sau[10] [12]:
Trang 33 Có khả năng mở rộng (Scalability): Một số thuật toán có thể ứng dụng
tốt cho tập dữ liệu nhỏ ( khoảng 200 bản ghi dữ liệu ) nhưng không hiệu quả khi áp dụng cho tập dữ liệu lớn (Khoảng 1 triệu bản ghi)
Thích nghi với các kiểu dữ liệu khác nhau: Thuật toán có thể áp dụng
hiệu quả cho việc phân cụm các tập dữ liệu với nhiều kiểu dữ liệu khác nhau như dữ liệu kiểu số, kiểu nhị phân, dữ liệu kiểu hạng mục, và thích nghi với kiểu dữ liệu hỗn hợp giữa các dữ liệu đơn trên
Khám phá ra các cụm với hình thù bất kỳ: do hầu hết các CSDL có
chứa nhiều cụm dữ liệu với các hình thù khác nhau như: hình lõm, hình cầu, hình que, …Vì vậy, để khám phá được các cụm có tính tự nhiên thì các thuật toán phân cụm cần phải có khả năng khám phá ra các cụm có hình thù bất kỳ
Tối thiểu lượng tri thức cần cho xác định các tham số vào: do các giá
trị đầu vào thường rất ảnh hưởng đến thuật toán phân cụm và rất phức tạp để xác định các giá trị vào thích hợp đối với các CSDL lớn
Ít nhạy cảm với thứ tự của dữ liệu vào: Cùng một tập dữ liệu, khi đưa
vào xử lý cho thuật toán PCDL với các thứ tự vào của các đối tượng dữ liệu ở các
lần thực hiện khác nhau thì không ảnh hưởng lớn đến kết quả phân cụm
Khả năng thích nghi với dữ liệu nhiễu cao: Hầu hết các dữ liệu phân
cụm trong Data Mining đều chứa đựng các dữ liệu lỗi, dữ liệu không đầy đủ, dữ liệu rác Thuật toán phân cụm không những hiệu quả đối với các dữ liệu nhiễu mà còn tránh dẫn đến chất lượng phân cụm thấp do nhạy cảm với nhiễu
Ít nhạy cảm với các tham số đầu vào: Nghĩa là giá trị của các tham số đầu vào khác nhau ít gây ra các thay đổi lớn đối với kết quả phân cụm
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
Dễ hiểu, cài đặt và khả dụng
Các yêu cầu này đồng thời là các tiêu chí để đánh giá hiệu quả của các phương pháp phân cụm dữ liệu, đây là các thách thức cho các nhà nghiên cứu trong lĩnh vực
PCDL
Trang 34Mạng một lớp của S nơron được mô tả trong hình 2.1 Ký hiệu W là ma trận trọng số, p là vectơ tín hiệu vào và b là vectơ khuynh hướng
r
w w
w w
Ta quy ước chỉ số thứ nhất chỉ nơron
mà tín hiệu đến còn chỉ số thứ hai là nguồn tín hiệu
Trang 351.2 Perceptron nhiều lớp và huấn luyện lan truyền ngƣợc
Perceptron nhiều lớp (Multilayer perceptron –MLP) hay mạng truyền thẳng
(feedforward) và cách học lan truyền ngược (backpropagation-BP) Mạng này là dạng tổng quát hoá của mạng ADALINE cho trường hợp nhiều lớp nơron Hiện nay, loại mạng này đang được dùng phổ biến để xấp xỉ hàm
Trước khi tìm hiểu luật học lan truyền ngược ta làm quen với kiến trúc của Perceptron nhiều lớp hay mạng truyền thẳng nhiều lớp và ứng dụng nó để phân lớp mẫu và xấp xỉ hàm nhiều biến
1.2.1 Perceptron nhiều lớp (hay mạng truyền thẳng)
1.2.1.1 Kiến trúc mạng
Perceptron nhiều lớp MLP hay là mạng nhiều lớp truyền thẳng gồm một lớp vào và M lớp nơron, được ký hiệu vắn tắt là: M
S S
S
R 1 2 Trong đó lớp thứ nhất là lớp vào tương ứng với tín hiệu vào R-chiều, lớp nơron thứ i (tức là lớp i+1)
có Si nơron, và các lớp nơron thứ nhất đến lớp nơron thứ (M-1) gọi là các lớp ẩn, lớp nơron cuối cùng gọi là lớp ra Hình 2.2 giới thiệu kiến trúc của một mạng truyền thẳng 4 lớp (3 lớp nơron) R - S1
- S2 - S3 về sau ta gọi mạng theo số lớp nơron
1.2.1.2 Ví dụ phân lơ ́ p mẫu
Ta trở lại xét bài toán nhận dạng mẫu cho bởi cổng XOR với tập mẫu:
Trang 36} ,
Các mẫu này được minh hoạ trong hình 2.3
Hình 2.3 : Các mẫu và biên quyết định của mạng XOR
Để xây dựng mạng này cần thực hiê ̣n tách 3 lần Lớp nơron thứ nhất có 2 nơron để thực hiện hai phép tách : P1 với các điểm còn lại và P4 với các điểm còn lại Lớp hai kết hợp hai biên với nhau như toán tử “và” (xem hình 2.3 và 2.4)
Trang 371 2 2
2 1
2 1
p p
p p
S
R 1 2 ; m1 m1( m1 m m1)
b a W f
i t
p , } 1
F(x)=E(eTe)= E((t-a)T(t-a)) Nếu SM=1 thì F(x)=E[(t-a)2]
Trong thuật toán truyền ngược thì F(x) xấp xỉ bởi:
i
i k a k t
1
2
)) ( ) (
m j
m j m
j
w
F k
w k
w
, ,
i
b
F k
b k
Trong đó là tố độ học
1.2.2.2 Quy tắc dây truyền (Chain Rule)
Công thức đa ̣o hàm hàm hợp:
dw
dn dn
n df dw
w n
df( ( )) ( ) ;
j
m i m i m
n n
F w
m i m i m
n n
F b
1 , 1 1
m
S j
m i m j m j m
i m m
m
i
a w
m i
b n
a S w
F
i m i
S b
i m
i
T m m m
j m
j
S k b k
b
a S k w k
w
)()1(
)()
()
1
,
Dưới dạng ma trận là:
Trang 38m m
m
m
n F
n F n F
n F
2 1
1.2.2.3 Truyền ngươ ̣c độ nhạy cảm
m S m
m S m
m S
m S
m m
m m
m
m S
m m
m m
m
xS S
m j
m i m
m
m
m m
m
m m
m m
n
n n
n n
n
n
n n
n n
n
n
n n
n n
n
n
n n
n
1
2 1
1 1
1 2 2
1 2 1
1 2
1 1 2
1 1 1
1 1
1 1
1 1
1 1
j
S j
m i m j m j m
b a w n
1 1
j
m j
n f n
0 0
) ( 0
0
0 ) (
2 1
m S m
m m
m m m
m
n f
n f
n f F
1
m m m m
m
n F W
1
1
))(
()
n
F W
n F n
F n
n n
F
W n
F ( )( 1)
sm+1Như vâ ̣y độ nhạy cảm lan truyền ngược từ lớp sau đến lớp trước: sM→sM-1→ →s1
Ta có công thức lớp cuối là
Trang 39M i
i i i M
i
S j
j j M
i
T M
a t n
a t a t n
) (
) ( )
i
M i M
i
i
n
n f n
a n
m
T m m m
m
S k b k
b
a S k W k
W
)()1
(
)()
()
1
Ví dụ: Xấp xỉ hàm g(p)= )
4 sin(
Vớ i -2≤p≤2 Xây dựng ma ̣ng như hình 2.5:
e 1
1 logsig(n)
27 0 )
48 0 ) 0 (
b
1
1 1
b
1
Trang 40111
1)
54.0
75.0(log)13.0
48.0]1[41.0
27.0(log)(
54 0
75 0 1
sig b
321 0 ] 17 0 09 0 ([
1 )}
4 sin(
a p
) )(
1 ( ) 1
1 )(
1
1 1 ( ) 1 (
) 1
1 (
)
1
a a e
e e
e e
1 ) (
1[2)261.1)](
([2))(
0495 0 429
0
227 0 233
09 0 ) 368 0 )(
368 0 1 ( 0
0 )
321 0 )(
09 0 ) )(
1 ( 0
0 )
)(
1 ( )
(
2 1 2
1 1 1 1 2
2 1
1
1
a a
a a s
522 2 [ 1 0 ] 17 0 09 0 [ ) ( )
] 732 0 [ ] 522 2 [ 1 0 ] 48 0 [ )
265 0 ] 1 [ 0997 0
0495 0 1 0 41 0
27 0 )
( )
475 0 0997
0
0495 0 1 0 13 0
48 0 )
Hoàn thành bước thứ nhất của thuật toán
1.2.3 Sự hô ̣i tu ̣
- Mạng 1 lớp nơron vớ i α thì đảm bảo hội tụ tối ưu toàn cục
- Nhiều lớp nơron chỉ hô ̣i tu ̣ đến cực tri ̣ đi ̣a phương (F(X) 0)