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) ------------------------------------------------------------------------ 5 TIEU LUAN MOI download : skknchat@gmail.com Chươ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.
------------------------------------------------------------------------ 6 TIEU LUAN MOI download : skknchat@gmail.com LỜ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. Hà Quang Thụy, PGS. 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 ------------------------------------------------------------------------ 7 TIEU LUAN MOI download : skknchat@gmail.com 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 1. Các khái niệm chung về mạng nơron 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.1 chỉ ra cấu tạo của hệ thống tế bào sinh học này. Nhân Sợi trục (body) (axon) Thân nơron thần kinh Nhánh Khớp hình cây (Synapse) (dendrites) 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ì nhân tế bào sẽ kích thích đưa một xung điện ra sợi trục thần kinh ra. Sợi trục thần ------------------------------------------------------------------------ 8 TIEU LUAN MOI download : skknchat@gmail.com kinh 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.
Mạng nơron nhân tạo 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 ------------------------------------------------------------------------ 9 TIEU LUAN MOI download : skknchat@gmail.com hiệ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.
x1 x2 xm w1 w2 Wm bias Out Hình 1.2 : Nơron nhân tạo 1. 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. ------------------------------------------------------------------------ 10 TIEU LUAN MOI download : skknchat@gmail.com 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. Mô hình toán học và kiến trúc mạng nơron 1. Mô hình toán học của mạng nơron 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: p1 wS,1 p2 wS,2 nnet f a pR wS,R b (bias) Hình 1.3: Mô hình toán học mạng nơron nhân tạo ------------------------------------------------------------------------ 11 TIEU LUAN MOI download : skknchat@gmail.com Các tín hiệu vào ( còn gọi là mẫu vào) pi (i=1.R) được đưa tới đầu vào của nơron S tạo thành ma trận tín hiệu vào P. Mỗi đầu vào của nơron S sẽ có một trọng số kí hiệu là ws,i (i=1.R) và các trọng số này tạo thành một ma trận trọng số đầu vào W. Mức ngưỡng của nơron có thể được biểu diễn trong mô hình toán học bằng hệ số bias b (gọi là thế hiệu dịch). Như vậy tín hiệu vào là nnet sẽ được tính theo công thức sau: nnet ws,1 p1 ws,2 p2 .1) Viết dưới dạng ma trận sẽ là: nnet 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ày.