Tiểu luận mạng nơron và logic mờ

25 439 4
Tiểu luận mạng nơron và logic mờ

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

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

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC TRẦN ĐẠI NGHĨA KHOA CÔNG NGHỆ THÔNG TIN TIỂU LUẬN ĐỀ TÀI: NHẬN DẠNG HOA IRIS BẰNG PHẦN MỀM SOM TOOlBOX Giáo viên hướng dẫn: Th.s Ngô Thanh Tú Môn: Mạng Nơron Logic mờ Nhóm thực hiện: Võ Thị Ánh Nguyệt Lưu Ngọc Bích Lớp : 13DDS03031 Page Hồ Chí Minh- 2016 MỤC LỤC LỜI MỞ ĐẦU Công nghệ tri thức chuyên ngành tích hợp tri thức người với hệ thống máy tính Các đặc tính tiêu biểu hệ thống dựa tri thức thể việc xử lý chuyển trạng thái không dựa vào thể cứng nhắc trạng thái Các định xử lý liệu phần tri thức hệ thống Lúc người ta đề cập nhiều đến tri thức thủ tục Ở giai đoạn trước, việc truyền đạt cho máy cần thiết đảm bảo tính xác nhất, điều làm cho thao tác máy trở nên khô cứng tạo khoảng cách xa người máy “độ thông minh” việc giải toán kỹ thuật sống hàng ngày Lĩnh vực quan trọng phải kể đến lý thuyết mạng nơron, chìa khóa để tạo hệ thống kỹ thuật vừa đảm bảo tính xác nhanh chóng vận Page hành, vừa có khả học từ mẫu liệu thống kê, lại có khả thông minh mềm hóa trình định Đối với kỹ thuật ngành Viễn thông ngành Công nghệ thông tin, lý thuyết xử lý tín hiệu tín hiệu hình ảnh kiến thức thiếu Nhận dạng ảnh, đặc biệt nhận dạng hoa mảng đề tài nghiên cứu Ý thức vấn đề trên, nhóm xin trình bày đề tài “ Nhận dạng hoa Iris phần mềm SOM Toolbox” Chương PHẦN MỀM MẠNG TỰ TỔ CHỨC SPICE-SOM 1.1 Sơ lược Self Organizing Map (SOM) Self Organizing Map (SOM) hay Self-Organizing Feature Map (SOFM) mạng Nơ-ron nhân tạo (Artificial Neural Networks – ANN), huấn luyện sử dụng kỹ thuật Unsupervised learning để biểu diễn liệu với số chiều thấp nhiều (thường chiều) so với liệu đầu vào nhiều chiều (thường số chiều lớn) Kết SOM gọi đồ (Map) SOM ANN, nhiên SOM khác với ANN không sử dụng lớp ẩn sử dụng lớp input output SOM sử dụng khái niệm láng giềng để giữ lại đặc trưng liệu đầu vào đồ (có nghĩa mẫu huấn luyện tương tự đặt gần đồ) Page Ưu điểm SOM biểu diễn trực quan liệu nhiều chiều vào không gian chiều (thường chiều) đặc trưng liệu đầu vào giữ lại đồ Ý tưởng SOM lần giới thiệu C Vonder Malsburg năm 1973 phát triển T Kohonen (Finland) năm 1982 nên gọi Kohonen Network 1.2 Kiến trúc SOM SOM gồm thành phần sau:  Output Layer: Gồm nơ-ron bố trí lưới (hay đồ) kích thước X x Y Mỗi nơ-ron có vị trí xác định lưới, nơ-ron lưu giữ vector trọng số (weight vector) có số chiều với số chiều input vector  Input vector: Là mẫu huấn luyện có kích thước n  Ma trận trọng số (weight matrix): wij kết nối input vector nơ-ron Hình 1.2.1 Hình ảnh minh họa cho ma trận trọng số Ví dụ: Sau kiến trúc đơn giản SOM gồm nơ-ron lớp output layer Input vector gồm chiều ma trận trọng số wij (i=1 j=1 2) sau: Page 1.3 Thuật toán SOM Các thuật toán SOM giống thuật toán lượng tử hóa vectơ, ví dụ K-Means Sự khác biệt quan trọng vectơ trọng số, láng giềng cập nhật 1.3.1 Sequential training algorihm( Thuật toán huấn luyện tuần tự) Ở thuật toán này, SOM huấn luyện lặp lặp lại Mỗi bước huấn luyện, vectơ mẫu x chọn ngẫu nhiên từ liệu đầu vào tính toán khoảng cách với tất vectơ trọng số SOM (tính toán sử dụng độ đo khoảng cách).Nơ-ron có vectơ trọng số gần với x gọi “Best Matching Unit” (BMU), biểu c: Trong ||…|| độ đo khoảng cách, điển hình khoảng cách Euclidean Trong ToolBox, tính toán khoảng cách phức tạp yếu tố:  Thiếu giá trị: Ở ToolBox, chúng thể giá trị NaN (not a number) vectơ hay ma trận liệu Phần thiếu xử lí đơn giản cách xóa bỏ biến bỏ qua phép tính khoảng cách  Mask: Mỗi biến có trọng số liên quan, định nghĩa trường mask đồ cấu trúc huấn luyện Cái chủ yếu sử dụng dạng nhị phân để loại trừ biến biết từ trình BMU (1 để giữ lại, để loại trừ) Tuy nhiên, Mask nhận giá trị bất kì, sử dụng cho biến theo tầm quan trọng Với thay đổi, độ đo khoảng cách trở thành: Page Trong • k tập biến không bị vectơ mẫu x • xk mk thành phần mẫu vectơ trọng số • wk giá trị mask (mask(k)) Sau tìm BMU, vectơ trọng số cập nhật, BMU di chuyển đến gần vectơ đầu vào giá trị đầu vào Láng giềng BMU xử lý tương tự Cập nhật vectơ trọng số đơn vị i: Trong đó: • t: thời gian • x(t): vectơ đầu vào ngẫu nhiên lấy từ liệu đầu vào thời điểm t • hci(t): láng giềng quanh đơn vị c • α(t): learning rate (sẽ đề cập 1.4.1) thời điểm t 1.3.2 Batch training algorihm( Thuật toán huấn luyện hàng loạt) Đối với thuật toán thay sử dụng vectơ liệu thời điểm, toàn liệu trình bày vào đồ trước điều chỉnh Mỗi bước huấn luyện, tập liệu phân chia theo vùng Voronoi (Voronoi hay đa giác lân cận) đồ vectơ trọng số tức vectơ liệu thuộc tập liệu đơn vị đồ mà gần Vectơ trọng số tính sau: Trong đó: • số BMU liệu mẫu xj Page • Các vectơ trọng số trung bình liệu mẫu Trong trọng số liệu mẫu giá trị láng giềng hic(t) BMU c Như thuật toán tuần tự, giá trị thiếu bị bỏ trình tính toán Trong thuật toán Batch K-Means, vectơ trọng số trung bình liệu Voronoi Ngoài ra, lần đầu tính tổng vectơ Voronoi: Trong đó: nvi số mẫu tập Voronoi đơn vị i Sau đó, giá trị vectơ trọng số: Trong đó: m số đơn vị đồ 1.4 Quy trình Training SOM 1.4.1 Quá trình learning SOM Quy trình huấn luyện SOM thực bước bên Trong đó, tham số có ý nghĩa sau:  R (Bán kính): dùng để xác định số láng giềng winning nơ-ron (nơ-ron thắng- liệu đầu mạng Kohonen, thường tương ứng với nhóm liệu đưa vào mạng Kohonen) cập nhật trọng số  α (Learning rate_Bước học): Giá trị ảnh hưởng tốc độ huấn luyện mẫu Tham số cập nhật suốt trình huấn luyện mẫu, điều chỉnh (thường điều chỉnh giảm dần) sau lần lặp Điều kiện để kết thúc trình huấn luyện thường giá trị đủ nhỏ ma trận trọng số hội tụ  x: input vector  D(j): khoảng cách nơ-ron j đến input vector x Bước Hành động  Khởi tạo ma trận trọng số Page  Thiết lập giá trị cực đại cho R, thiết lập Với nơ-ron j, tính khoảng cách Euclidean theo công thức: Tìm j cho D(j) nhỏ Cập nhật trọng số nơ-ron thắng: Kết thúc epochs (số lần dạy vòng dạy) Cập nhật : Kiểm tra điều kiện dừng:  Nếu α đủ nhỏ ma trận trọng số hội tụ dừng  Ngược lại quay lại Bước 1.4.2 Ví dụ minh họa Để dễ hiểu hơn, ví dụ đơn giản sau minh họa cho trình huấn luyện SOM đơn giản với nơ-ron input vector gồm chiều với kiến trúc hình dưới:  Khởi tạo ngẫu nhiên ma trận trọng số sau: Page   Để đơn giản ta giả sử bán kính R=0 (số láng giềng nơron thắng =0 Có nghĩa cập nhật trọng số nơ-ron thắng không cập nhật trọng số nơ-ron khác)  Bước học thời điểm ban đầu (t=0) 0.6 tức α(t=0)=0.6 α thời điển (t+1) điều chỉnh sau:  Giả sử liệu huấn luyện gồm mẫu sau: 1 0 0 0 1  Quá trình huấn luyện SOM thực cách đưa input vector vào SOM cập nhật vector trọng số nơ-ron thắng sau: (trong ví dụ sử dụng bình phương khoảng cách Euclidean không tính bậc hai) Xét Input vector x=(1 0)  Khoảng cách từ nơ-ron đến input vector sau: Page  Ta thấy khoảng cách từ nơ-ron Y2 đến input vector nhỏ khoảng cách từ nơron Y1 đến input vector nên nơ-ron thắng Y2 Vì R=0 nên ta cập nhật số nơ-ron Y2 sau: +  Ma trận trọng số sau cập nhật là:   Tương tự, xét input vector lại liệu huấn luyện cập nhật ma trận trọng số Sau tất input vector liệu huấn luyện đưa vào để huấn luyện, tức hoàn thành 1vòng dạy, ta đây: Đối với Input vector x=(0 0 1) Nơ-ron thắng J=1 Đối với Input vector x=(0 1) Nơ-ron thắng J=1 Xét Input vector x=(1 0 0) Nơ-ron thắng J=2  Cập nhật : Page 10  Quá trình lặp lại đủ nhỏ ma trận trọng số hội tụ kết thúc Trong ví dụ này, sau lặp lại 100 lần (epochs=100) ma trận trọng số hội tụ sau: Ma trận chuyển về:  Sau huấn luyện, ta kiểm tra mô hình cách xem nơ-ron phân cụm Trong ví dụ này, có nơron nên ta có phân cụm tương ứng phân cụm phân cụm Khi input vector ánh xạ (mapping) vào vị trí nơ-ron tương ứng với phân cụm • Xét input vector x=(1 0)  Tính khoảng cách từ input vector đến nơ-ron (chú ý sử dụng ma trận trọng số cuối hội tụ) Ta có: Page 11  Vì Nơ-ron Y2 nơ-ron thắng nên input vector x= (1 0) thuộc phân cụm Tương tự xét input vector lại ta có kết sau: 1 0 0 0 Page 12 1 2 Chương ỨNG DỤNG SOM TRONG PHÂN CỤM DỮ LIỆU Giới thiệu SOM Toolbox 2.1 Công cụ SOM Toolbox sản phẩm nhóm SOM Toolbox, thư viện gồm hàm viết Matlab Đây công cụ dễ sử dụng để xây dựng SOM cho mục đích nghiên cứu Đặc biệt, lĩnh vực khai phá liệu, nhà nghiên cứu coi công cụ có đặc thù riêng, SOM Toolbox định hướng trực tiếp đến hàm trực quan Công cụ dùng để xử lí liệu, khởi tạo huấn luyện SOM loạt loại trạng thái hình học, SOM thể trực quan nhiều cách khác nhau, phân tích thuộc tính SOM liệu ban đầu, ví dụ đặc tính SOM, cụm ma trận liên quan thuộc tính Các loại liệu xử lý với SOM Toolbox bảng tính bảng liệu 2.2 Ứng dụng 2.2.1 Iris Flower Dataset Iris dataset bao gồm liệu ba loại hoa (Iris setosa, Iris virginica Iris versicolor), loại 50 mẫu Các thuộc tính độ dài rộng đài hoa (sepal) cánh hoa (petal) tính theo centimeters Page 13 2.2.2 Chuẩn bị liệu Phân loại Iris dataset với mạng nơron (Self-Organizing Map) Dữ liệu cho SOM không cần đầu liệu cho MLP NN (Multilayer Perceptrons Neural Network) Do chúng chuẩn bị liệu sau: Page 14 Hình 2.2.1 Dữ liệu đầu vào file iris.data 2.3 Cài đặt 2.3.1 Thêm SOM ToolBox vào MatLap Trước tiên phải tải SOM ToolBox 2.0 theo đường dẫn sau: http://www.cis.hut.fi/projects/somtoolbox/download chọn hình Page 15 Sau tải xong giải nén file vào thư mục …/MATLAB7/toolbox/ Page 16 Khởi chạy MatLab add SOM ToolBox: Vào File, chọn Set Path… - Chọn Add Folder … - Chọn thư mục somtoolbox vừa giải nén /MATLAB7/toolbox/ - Nhấn OK Page 17 2.3.2 Sử dụng SOM Toolbox Mở MatLab thực dòng lệnh sau: % make the data sD = som_read_data('iris.data'); sD = som_normalize(sD,'var'); % make the SOM sM = som_make(sD); sM = som_autolabel(sM,sD,'vote'); % basic visualization Page 18 som_show(sM,'umat','all','comp',1:4,'empty','Labels','norm','d'); som_show_add('label',sM,'subplot',6); Page 19 % find PCA-projection of the data [Pd,V,me] = pcaproj(sD,3); % plot the map grid projection with som_grid(sM, 'Coord',pcaproj(sM,V,me),'marker','none','Label',sM.labels,'labelcolor','k'); % plot also the original data with color indicating subspecies hold on grid on colD = [repmat([1 0],50,1); Page 20 repmat([0 0], 50,1); repmat([0 1],50,1)]; som_grid('rect',[150 1],'Line','none','Coord',Pd,'markercolor',colD); % make a cell array of marker types based on subspecies colM = zeros(length(sM.codebook),3); un = unique(sD.labels); for i=1:3, ind = find(strcmp(sM.labels,un(i))); colM(ind,i) = 1; end; % plot the map som_grid(sM,'Coord',M(:,2:4),'MarkerSize',(M(:,1)-4)*5,'Markercolor',colM); % plot the data on top hold on grid on D = som_denormalize(sD.data,sD); som_grid('rect',[150 1],'Coord',D(:,2:4),'Marker','x','MarkerSize',(D(:,1)4)*5,'Line','none','Markercolor',colD); Page 21 % show the map grid and subspecies information som_cplane(sM.topol.lattice,sM.topol.msize,colM); % show the four variables with barcharts hold on som_barplane(sM.topol.lattice,sM.topol.msize,M,'w','unitwise'); Page 22 2.4 Nhận dạng loại hoa qua ứng dụng C# Page 23 Page 24 TÀI LIỆU THAM KHẢO Bài viết “Giới thiệu kỹ thuật Self Organizing Map (SOM)” diễn đàn http://bis.net.vn/forums/p/507/1790.aspx Tài liệu “SOM ToolBox for MatLab5” (file techrep.pdf) http://www.cis.hut.fi/projects/somtoolbox/download Dữ liệu hoa Iris lấy từ http://archive.ics.uci.edu/ml/datasets/Iris Và số tài liệu khác Page 25 [...]... virginica và Iris versicolor), mỗi loại 50 mẫu Các thuộc tính là độ dài và rộng của đài hoa (sepal) và cánh hoa (petal) tính theo centimeters Page 13 2.2.2 Chuẩn bị dữ liệu Phân loại Iris dataset với mạng nơron (Self-Organizing Map) Dữ liệu cho SOM không cần đầu ra như dữ liệu cho MLP NN (Multilayer Perceptrons Neural Network) Do vậy chúng ra chuẩn bị dữ liệu như sau: Page 14 Hình 2.2.1 Dữ liệu đầu vào là... Dữ liệu đầu vào là file iris.data 2.3 Cài đặt 2.3.1 Thêm SOM ToolBox vào MatLap Trước tiên chúng ta phải tải về SOM ToolBox 2.0 theo đường dẫn sau: http://www.cis.hut.fi/projects/somtoolbox/download và chọn như hình Page 15 Sau khi tải xong giải nén file vào thư mục …/MATLAB7/toolbox/ Page 16 Khởi chạy MatLab và add SOM ToolBox: Vào File, chọn Set Path… - Chọn Add Folder … - Chọn thư mục somtoolbox... một công cụ có đặc thù riêng, và chính vì vậy SOM Toolbox định hướng trực tiếp đến các hàm trực quan Công cụ có thể được dùng để xử lí dữ liệu, khởi tạo và huấn luyện SOM trên một loạt các loại trạng thái hình học, SOM thể hiện trực quan bằng nhiều cách khác nhau, phân tích các thuộc tính của SOM và dữ liệu ban đầu, ví dụ như là đặc tính của SOM, các cụm trên ma trận và sự liên quan giữa các thuộc... sau: Ma trận này được chuyển về:  Sau khi huấn luyện, ta có thể kiểm tra mô hình bằng cách xem mỗi nơ-ron như một phân cụm Trong ví dụ này, có 2 nơron nên ta có 2 phân cụm tương ứng là phân cụm 1 và phân cụm 2 Khi đó một input vector được ánh xạ (mapping) vào vị trí nơ-ron nào thì tương ứng với phân cụm đó • Xét input vector x=(1 1 0 0)  Tính khoảng cách từ input vector đến 2 nơ-ron (chú ý bây giờ... 16 Khởi chạy MatLab và add SOM ToolBox: Vào File, chọn Set Path… - Chọn Add Folder … - Chọn thư mục somtoolbox vừa giải nén trong /MATLAB7/toolbox/ - Nhấn OK Page 17 2.3.2 Sử dụng SOM Toolbox Mở MatLab và thực hiện các dòng lệnh sau: % make the data sD = som_read_data('iris.data'); sD = som_normalize(sD,'var'); % make the SOM sM = som_make(sD); sM = som_autolabel(sM,sD,'vote'); % basic visualization... http://bis.net.vn/forums/p/507/1790.aspx 2 Tài liệu “SOM ToolBox for MatLab5” (file techrep.pdf) http://www.cis.hut.fi/projects/somtoolbox/download 3 Dữ liệu hoa Iris lấy từ http://archive.ics.uci.edu/ml/datasets/Iris 4 Và một số tài liệu khác Page 25 ... đến gần vectơ đầu vào giá trị đầu vào Láng giềng BMU xử lý tương tự Cập nhật vectơ trọng số đơn vị i: Trong đó: • t: thời gian • x(t): vectơ đầu vào ngẫu nhiên lấy từ liệu đầu vào thời điểm t •... trưng liệu đầu vào đồ (có nghĩa mẫu huấn luyện tương tự đặt gần đồ) Page Ưu điểm SOM biểu diễn trực quan liệu nhiều chiều vào không gian chiều (thường chiều) đặc trưng liệu đầu vào giữ lại đồ... dùng để xác định số láng giềng winning nơ-ron (nơ-ron thắng- liệu đầu mạng Kohonen, thường tương ứng với nhóm liệu đưa vào mạng Kohonen) cập nhật trọng số  α (Learning rate_Bước học): Giá trị

Ngày đăng: 06/12/2016, 00:00

Mục lục

  • PHẦN MỀM MẠNG TỰ TỔ CHỨC SPICE-SOM

    • 1.1. Sơ lược về Self Organizing Map (SOM)

    • 1.2. Kiến trúc của SOM

    • 1.3. Thuật toán SOM

      • 1.3.1. Sequential training algorihm( Thuật toán huấn luyện tuần tự)

      • 1.3.2. Batch training algorihm( Thuật toán huấn luyện hàng loạt)

      • 1.4. Quy trình Training SOM

        • 1.4.1. Quá trình learning SOM

        • 1.4.2. Ví dụ minh họa

        • ỨNG DỤNG SOM TRONG PHÂN CỤM DỮ LIỆU

          • 2.1. Giới thiệu SOM Toolbox

          • 2.2.2. Chuẩn bị dữ liệu

          • 2.3. Cài đặt

            • 2.3.1. Thêm SOM ToolBox vào MatLap

            • 2.3.2. Sử dụng SOM Toolbox

            • 2.4. Nhận dạng loại hoa qua ứng dụng C#

            • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan