Đại Học Quốc Gia Tp Hồ Chí Minh TRƢỜNG ĐẠI HỌC BÁCH KHOA NGUYỄN HỒI LÊ RƯT TRÍCH LUẬT TỪ MẠNG NƠ RON Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60.48.01 LUẬN VĂN THẠC SĨ TP.HỒ CHÍ MINH,Tháng 12 năm 2012 CƠNG TRÌNH ĐƢỢC HỒN THÀNH TẠI TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TPHCM Cán hƣớng dẫn khoa học : PGS TS DƢƠNG TUẤN ANH (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét : (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ đƣợc bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƢỜNG ĐẠI HỌC BÁCH KHOA, ngày 24 tháng 12 năm 2012 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) Xác nhận Chủ tịch Hội đồng đánh giá LV Bộ môn quản lý chuyên ngành sau luận văn đƣợc sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA………… ĐẠI HỌC QUỐC GIA TP.HCM TRƢỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÕA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: NGUYỄN HOÀI LÊ MSHV: 10070483 Ngày, tháng, năm sinh: 13/01/1983 Nơi sinh: Quảng Nam Chuyên ngành: Khoa học máy tính Mã số : 60.48.01 I TÊN ĐỀ TÀI: Rút trích luật từ mạng nơ ron II NHIỆM VỤ VÀ NỘI DUNG: Tìm hiểu tốn rút trích luật từ mạng nơ ron Áp dụng vào toán dự báo liệu chuỗi thời gian sử dụng mạng nơ ron III NGÀY GIAO NHIỆM VỤ : 06/02/2012 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 30/11/2012 V CÁN BỘ HƢỚNG DẪN : PGS TS DƢƠNG TUẤN ANH Tp HCM, ngày tháng năm 20 CÁN BỘ HƢỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) (Họ tên chữ ký) TRƢỞNG KHOA….……… (Họ tên chữ ký) LỜI CÁM ƠN Trong suốt thời gian học tập, hoàn thành luận văn em may mắn đƣợc thầy bảo, dìu dắt đƣợc gia đình, bạn bè quan tâm, động viên Em xin đƣợc bày tỏ lịng biết ơn chân thành tới thầy trƣờng Đại học Bách Khoa truyền đạt cho em nguồn kiến thức vô quý báu nhƣ cách học tập nghiên cứu khoa học Cho phép em đƣợc gửi lời cảm ơn sâu sắc tới PGS.TS Dƣơng Tuấn Anh, ngƣời thầy nhiệt tình bảo hƣớng dẫn em trình học tập, nghiên cứu nhƣ suốt trình thực luận văn Tp Hồ Chí Minh, ngày 20 tháng 11 năm 2012 Học viên Nguyễn Hồi Lê i TĨM TẮT Rút trích luật từ mạng nơ ron tốn đem lại nhiều lợi ích việc sử dụng mạng nơ ron giải toán thực tế Mạng nơ ron cho kết có độ xác cao nhiên bị hạn chế cách hoạt động giống “hộp đen” ngƣời sử dụng Việc rút trích luật từ mạng nơ ron đem lại khả đánh giá kết mạng nơ ron dƣới góc nhìn chun gia Đã có nhiều nổ lực thành việc rút trích luật từ mạng nơ ron Tuy nhiên đa số kết áp dụng cho toán phân lớp liệu-classification Luận văn áp dụng rút trích luật với toán dự báo liệu chuỗi thời gian Với toán phân lớp, giá trị đầu ngƣời sử dụng biết trƣớc Trong giá trị đầu tốn dự báo giá trị liên tục Các giải thuật rút trích luật cũ bị hạn chế việc xử lí đầu toán dự báo Luận văn đề xuất đƣợc phƣơng pháp rút trích luật mới, cải tiến từ phƣơng pháp rút trích luật cũ cho phù hợp với toán dự báo ii ABSTRACT Rule extracting from neural network is one of the most important problems in applying neural network application Neural network gives high accuracy results, however it is still a “black box” to the end user Rule extracting helps user- domain experts to investigate the result given by neural network There are many achievements in rule extracting from neural network All of them are applied to classification problem This thesis decides to work on the neural network for prediction problem The neural network that is used for prediction problem has continuous output It is different from the neural network for classification problem So that the current algorithm of rule extracting cannot be applied This thesis has introduced a new approach for rule extracting from neural network for prediction problem iii LỜI CAM ĐOAN Tôi xin cam đoan cơng trình nghiên cứu thân Các số liệu, kết trình bày luận văn trung thực chƣa đƣợc cơng bố cơng trình luận văn trƣớc Tp Hồ Chí Minh, ngày 20 tháng 11 năm 2012 Học viên Nguyễn Hoài Lê iv MỤCLỤC LỜI CÁM ƠN i TÓM TẮT ii ABSTRACT iii MỤCLỤC v DANH MỤC CÁC TỪ VIẾT TẮT vii DANH MỤC BẢNG BIỂU viii DANH MỤC HÌNH ẢNH ix CHƢƠNG TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan Mạng nơ ron 1.2 Bài tốn rút trích luật hồi qui từ Mạng nơ ron 1.3 Mục tiêu nghiên cứu luận văn 1.4 Bố cục luận văn CHƢƠNG CƠ SỞ LÝ THUYẾT 2.1 Cơng trình Towell Shavlik 2.2 Cơng trình Rudy Setiono cộng 10 2.3 Công trình S M Kamruzzaman Md Monirul Islam: giải thuật REANN-Rule Extraction from ANNs 11 2.3.1 Giải thuật xây dựng (Constructive Algorithm) 13 2.3.2 Giải thuật cắt tỉa (Pruning Algorithm) 15 2.3.3 Giải thuật gom cụm (Clustering algorithm) 18 2.3.4 Giải thuật rút trích luật (Rule Extraction Algorithm-REx) 20 2.4 Tóm tắt chƣơng 22 CHƢƠNG PHƢƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 23 3.1 Xây dựng mạng nơ ron: 23 3.2 Thu giản mạng nơ ron 24 3.3 Rời rạc hóa giá trị kích hoạt nút ẩn: 25 3.4 Rút trích luật 26 v 3.5 Tóm tắt chƣơng 30 CHƢƠNG HIỆN THỰC VÀ THỬ NGHIỆM 31 4.1 Tập liệu chứng khoán STOCK 32 4.2 Tập liệu Lƣu Lƣợng Thủy Điện Hịa Bình 38 4.3 Tập liệu tỉ giá EURUSD: 41 4.4 Tập liệu nhiệt độ NewYork_100Years_Temperatures 47 4.5 Tổng kết chƣơng 50 CHƢƠNG KẾT LUẬN 52 5.1 Những kết đạt đƣợc Luận văn 52 5.2 Những hạn chế Luận văn 52 5.3 Hƣớng phát triển Luận văn 52 TÀILIỆUTHAMKHẢO 53 PHỤ LỤC A BẢNG THUẬT NGỮ VIỆT ANH ĐỐI CHIẾU A LÝ LỊCH TRÍCH NGANG i vi DANH MỤC CÁC TỪ VIẾT TẮT ANN : Artificial neural network PE: Processing element REFANN: Rule extracting from function approximating neural networks REANN: Rule extracting from artificial neural network REx: Rule extracting algorithm vii Input3 IN [1.2803-1.3072] AND Input6 IN [1.2803-1.3105] AND Input7 IN [1.2803-1.3105] THEN Output= 1.3099502248834518 Rule9:IF Input5 IN [1.28705-1.28865] AND Input0 IN [1.28025-1.28245] THEN Output= 1.3096637257210881 Rule10:IF Input11 IN [1.2411-1.2683] AND Input10 IN [1.24085-1.2683] AND Input9 IN [1.24085-1.26835] AND Input8 IN [1.24215-1.2708] AND Input7 IN [1.24275-1.27645] AND Input6 IN [1.2444-1.2793] AND Input5 IN [1.245151.281] AND Input3 IN [1.2465-1.28865] AND Input2 IN [1.2465-1.28865] AND Input1 IN [1.2464-1.28865] AND Input4 IN [1.24515-1.28865] AND Input0 IN [1.23725-1.28865] THEN Output= 1.3095538963768982 Rule11:IF Input11 IN [1.2423-1.2515] AND Input5 IN [1.2444-1.25735] AND Input6 IN [1.24275-1.25755] AND Input3 IN [1.23285-1.2479] AND Input10 IN [1.2411-1.2562] AND Input9 IN [1.24225-1.25755] AND Input8 IN [1.240851.2562] AND Input7 IN [1.24215-1.25755] AND Input2 IN [1.22925-1.24765] AND Input4 IN [1.23725-1.25735] AND Input1 IN [1.2214-1.2465] AND Input0 IN [1.2226-1.24955] THEN Output= 1.3094171629401106 Rule12:IF Input0 IN [1.22675-1.2368] AND Input10 IN [1.23725-1.2479] THEN Output= 1.3094500051190505 Rule13:IF Input11 IN [1.22395-1.24315] AND Input9 IN [1.2165-1.24665] AND Input10 IN [1.2165-1.24665] AND Input8 IN [1.2165-1.24665] AND Input0 IN [1.20795-1.2388] AND Input1 IN [1.20795-1.24005] AND Input2 IN [1.207951.2409] AND Input3 IN [1.2081-1.2438] AND Input4 IN [1.2087-1.24625] AND Input7 IN [1.2087-1.24665] AND Input6 IN [1.2081-1.24665] AND Input5 IN [1.20795-1.24665] THEN Output= 1.309299815363472 Rule14:IF Input0= 1.2081 THEN Output= 1.3091820937494232 Rule15:IF Input0= 1.2101 THEN Output= 1.3092056006805761 Rule16:IF Input0= 1.25755 THEN Output= 1.3094613250766665 Rule17:IF Input6 IN [1.25365-1.2545] AND Input4 IN [1.25225-1.25365] THEN Output= 1.309312600439207 Rule18:IF Input5 IN [1.2212-1.22145] AND Input2 IN [1.23095-1.23195] THEN Output= 1.3093483205115763 Rule19:IF Input11 IN [1.2166-1.23365] AND Input9 IN [1.21425-1.2423] AND Input10 IN [1.21425-1.2423] AND Input8 IN [1.21425-1.2423] AND Input7 IN [1.21425-1.24715] AND Input6 IN [1.2087-1.2523] AND Input5 IN [1.20811.25395] AND Input2 IN [1.20825-1.2545] AND Input1 IN [1.20825-1.2545] AND Input4 IN [1.20795-1.2545] AND Input3 IN [1.20795-1.2545] AND Input0 IN [1.209-1.25575] THEN Output= 1.3091849817513572 Rule20:IF Input11 IN [1.2136-1.2225] AND Input10 IN [1.2166-1.22695] AND Input6 IN [1.22125-1.23365] AND Input4 IN [1.21815-1.23355] AND Input5 IN [1.218-1.23365] AND Input7 IN [1.2167-1.23315] AND Input9 IN [1.214651.2326] AND Input8 IN [1.2146-1.2326] AND Input3 IN [1.21425-1.23365] AND Input1 IN [1.2182-1.23845] AND Input2 IN [1.21495-1.23635] AND Input0 IN [1.2169-1.24085] THEN Output= 1.3090569748413272 Rule21:IF Input11 IN [1.21195-1.22625] AND Input10 IN [1.2087-1.2248] AND Input8 IN [1.2011-1.2219] AND Input9 IN [1.2011-1.22315] AND Input6 IN [1.1936-1.2176] AND Input7 IN [1.19535-1.2219] AND Input5 IN [1.190444 1.2213] AND Input1 IN [1.19065-1.2216] AND Input0 IN [1.191-1.22215] AND Input4 IN [1.1904-1.22255] AND Input2 IN [1.19155-1.22525] AND Input3 IN [1.1904-1.2267] THEN Output= 1.3090825340800882 Rule22:IF Input11 IN [1.2055-1.2204] AND Input10 IN [1.2011-1.22215] AND Input8 IN [1.19535-1.22315] AND Input9 IN [1.1955-1.22345] AND Input7 IN [1.1931-1.22315] AND Input6 IN [1.18875-1.2234] AND Input0 IN [1.1841.22575] AND Input5 IN [1.1868-1.2326] AND Input1 IN [1.18345-1.23075] AND Input2 IN [1.17915-1.2269] AND Input3 IN [1.17915-1.2292] AND Input4 IN [1.17915-1.2311] THEN Output= 1.3089453665726343 Rule23:IF Input11 IN [1.20145-1.20925] AND Input5 IN [1.20635-1.2182] AND Input6 IN [1.2064-1.2195] AND Input8 IN [1.2067-1.2212] AND Input10 IN [1.2032-1.2187] AND Input7 IN [1.20465-1.2212] AND Input9 IN [1.20411.2212] AND Input4 IN [1.19785-1.2174] AND Input3 IN [1.18875-1.2129] AND Input0 IN [1.18345-1.2085] AND Input2 IN [1.1868-1.2167] AND Input1 IN [1.17915-1.2157] THEN Output= 1.3088285343510397 Rule24:IF Input0= 1.1975 THEN Output= 1.309000646526647 Rule25:IF Input11 IN [1.20135-1.21195] AND Input10 IN [1.19785-1.2105] AND Input0 IN [1.1843-1.19785] THEN Output= 1.308856167244562 Rule26:IF Input9 IN [1.1977-1.2088] AND Input11 IN [1.1971-1.2089] AND Input10 IN [1.1955-1.20875] AND Input5 IN [1.19225-1.2064] AND Input3 IN [1.18365-1.19785] AND Input2 IN [1.1828-1.1975] THEN Output= 1.3087331190213394 Rule27:IF Input0= 1.2292 THEN Output= 1.309081477973188 Rule28:IF Input2 IN [1.2304-1.23355] AND Input9 IN [1.2136-1.2182] THEN Output= 1.3089442161067313 Rule29:IF Input2 IN [1.2211-1.22455] AND Input11 IN [1.2105-1.21465] THEN Output= 1.3089716218549998 Rule30:IF Input11 IN [1.1987-1.2121] AND Input10 IN [1.1931-1.21465] AND Input9 IN [1.19535-1.22085] AND Input8 IN [1.1931-1.22215] AND Input0 IN [1.20245-1.2326] AND Input7 IN [1.1934-1.22455] AND Input5 IN [1.192451.22485] AND Input4 IN [1.19155-1.2256] AND Input6 IN [1.19105-1.22525] AND Input1 IN [1.19405-1.2319] AND Input2 IN [1.19305-1.2311] AND Input3 IN [1.19065-1.2326] THEN Output= 1.3088245531635205 Rule31:IF Input11 IN [1.1926-1.207] AND Input5 IN [1.20055-1.2234] AND Input6 IN [1.19905-1.2225] AND Input10 IN [1.1907-1.2145] AND Input7 IN [1.1971-1.2215] AND Input8 IN [1.1984-1.22345] AND Input9 IN [1.194651.22215] AND Input1 IN [1.1962-1.2269] AND Input0 IN [1.1951-1.23075] AND Input2 IN [1.19225-1.2292] AND Input3 IN [1.1931-1.2311] AND Input4 IN [1.1931-1.2326] THEN Output= 1.3086993038798427 Rule32:IF Input0= 1.2105 THEN Output= 1.3085421226411829 Rule33:IF Input11 IN [1.19615-1.2057] AND Input6 IN [1.18665-1.20655] AND Input10 IN [1.18875-1.21005] AND Input7 IN [1.18345-1.20655] AND Input9 IN [1.1868-1.21005] AND Input5 IN [1.18365-1.2102] AND Input8 IN [1.179151.2071] AND Input4 IN [1.1828-1.2151] AND Input1 IN [1.18105-1.21455] AND Input2 IN [1.1776-1.21455] AND Input3 IN [1.1776-1.2151] AND Input0 IN [1.17635-1.21605] THEN Output= 1.308728926207772 45 Rule34:IF Input11 IN [1.186-1.20175] AND Input9 IN [1.18345-1.2069] AND Input8 IN [1.1828-1.20655] AND Input10 IN [1.17915-1.2063] AND Input5 IN [1.18105-1.21225] AND Input6 IN [1.1776-1.21375] AND Input7 IN [1.17761.21375] AND Input4 IN [1.17635-1.21605] AND Input0 IN [1.17125-1.21225] AND Input1 IN [1.1721-1.21375] AND Input2 IN [1.17125-1.2174] AND Input3 IN [1.17125-1.2174] THEN Output= 1.308597025539194 Rule35:IF Input11 IN [1.18435-1.19305] AND Input8 IN [1.19-1.204] AND Input2 IN [1.188-1.20235] AND Input3 IN [1.1867-1.20165] AND Input9 IN [1.19125-1.2063] AND Input1 IN [1.18765-1.2032] AND Input0 IN [1.186751.2032] AND Input10 IN [1.1843-1.2014] AND Input7 IN [1.1847-1.20515] AND Input6 IN [1.186-1.2069] AND Input4 IN [1.1837-1.2071] AND Input5 IN [1.18625-1.21005] THEN Output= 1.308431514797994 Rule36:IF Input5 IN [1.17635-1.1837] AND Input11 IN [1.18105-1.19225] AND Input6 IN [1.1731-1.18625] AND Input0 IN [1.1691-1.18295] AND Input7 IN [1.1721-1.186] AND Input2 IN [1.1731-1.18765] AND Input4 IN [1.171251.1867] AND Input3 IN [1.1721-1.188] AND Input8 IN [1.17125-1.18735] AND Input1 IN [1.17-1.18675] AND Input10 IN [1.17635-1.1962] AND Input9 IN [1.17125-1.1951] THEN Output= 1.308455140606978 Rule37:IF Input10 IN [1.1786-1.1796] AND Input9 IN [1.17755-1.18025] AND Input11 IN [1.1783-1.1816] AND Input1 IN [1.16755-1.1731] THEN Output= 1.3082780965358443 Rule38:IF Input0= 1.2045 THEN Output= 1.3086049553694132 Rule39:IF Input11 IN [1.18295-1.19255] AND Input10 IN [1.18275-1.19325] AND Input9 IN [1.17915-1.19325] AND Input8 IN [1.1814-1.19755] AND Input0 IN [1.186-1.20985] AND Input7 IN [1.1814-1.2063] AND Input1 IN [1.1847-1.20985] AND Input4 IN [1.1814-1.20745] AND Input6 IN [1.18141.2086] AND Input3 IN [1.1814-1.2086] AND Input2 IN [1.1814-1.20985] AND Input5 IN [1.1814-1.20985] THEN Output= 1.3084644462271227 Rule40:IF Input11 IN [1.18135-1.1856] AND Input10 IN [1.18135-1.19375] AND Input9 IN [1.18135-1.19375] AND Input0 IN [1.18765-1.2009] THEN Output= 1.3082881578040544 Rule41:IF Input11 IN [1.17595-1.18365] AND Input10 IN [1.17365-1.1828] AND Input6 IN [1.17125-1.18195] AND Input9 IN [1.16995-1.18105] AND Input7 IN [1.16895-1.182] AND Input5 IN [1.16785-1.18195] AND Input8 IN [1.16755-1.182] AND Input4 IN [1.1675-1.19375] AND Input2 IN [1.17251.2002] AND Input3 IN [1.16605-1.19375] AND Input1 IN [1.17165-1.2059] AND Input0 IN [1.1672-1.20655] THEN Output= 1.3083133204140114 Rule42:IF Input11 IN [1.16605-1.18345] AND Input8 IN [1.16605-1.18435] AND Input10 IN [1.16605-1.18665] AND Input9 IN [1.16605-1.18665] AND Input6 IN [1.16605-1.19375] AND Input7 IN [1.16605-1.19375] AND Input5 IN [1.16605-1.2002] AND Input0 IN [1.16605-1.20325] AND Input3 IN [1.16721.20655] AND Input4 IN [1.16605-1.2059] AND Input2 IN [1.16605-1.20655] AND Input1 IN [1.16605-1.20655] THEN Output= 1.3081247734908508 46 4.4 Tập liệu nhiệt độ NewYork_100Years_Temperatures Tập liệu NewYork100YearsTemp.txt chứa liệu nhiệt độ trung bình tháng thành phố New York thời gian 100 năm Mỗi năm có 12 tháng tập liệu có 1200 mẫu liệu Ta dùng 1000 mẫu để làm liệu huấn luyện 200 mẫu để làm liệu kiểm tra Mô hình dự báo dùng liệu 12 tháng liên tục để dự báo nhiệt độ tháng 12 input[current -11] current], output [current +1] 1000 mẫu học(1-1000), 200 mẫu kiểm tra(1001-1200) Tổng số luật 39 Độ mịn clustering: 0.065 Lỗi mạng nơ ron sau huấn luyện: 0.12811621187598363 Lỗi phân loại luật: 0.12664773303069815 Output chƣơng trình: Error of the Trained ANN: 0.12811621187598363 HiddenNode ClusterNo ==> H: 0.621746266939396 Count: 788 Sum: 489.9360583482441 HiddenNode ClusterNo ==> H: 0.5738058753601499 Count: 412 Sum: 236.40802064838178 HiddenNode ClusterNo ==> H: 0.32760951014216416 Count: 142 Sum: 46.52055044018731 HiddenNode ClusterNo ==> H: 0.5450451531713699 Count: 80 Sum: 43.60361225370959 HiddenNode ClusterNo ==> H: 0.6846909888313174 Count: 169 Sum: 115.71277711249265 HiddenNode ClusterNo ==> H: 0.835005650622346 Count: 366 Sum: 305.6120681277786 HiddenNode ClusterNo ==> H: 0.4802767155637328 Count: 118 Sum: 56.67265243652047 HiddenNode ClusterNo ==> H: 0.26273510523293087 Count: 188 Sum: 49.394199783791 HiddenNode ClusterNo ==> H: 0.3768800892393062 Count: 74 Sum: 27.88912660370866 HiddenNode ClusterNo ==> H: 0.7790779233092068 Count: 43 Sum: 33.50035070229589 HiddenNode ClusterNo ==> H: 0.6448018736751528 Count: 20 Sum: 12.896037473503057 HiddenNode ClusterNo ==> H: 0.35167352802545115 Count: 202 Sum: 71.03805266114114 47 HiddenNode ClusterNo ==> H: 0.23732089985117075 Count: 298 Sum: 70.72162815564889 HiddenNode ClusterNo ==> H: 0.5200421194768551 Count: 171 Sum: 88.92720243054222 HiddenNode ClusterNo ==> H: 0.6795250326849127 Count: 173 Sum: 117.55783065448989 HiddenNode ClusterNo ==> H: 0.7820727529208128 Count: 299 Sum: 233.83975312332302 HiddenNode ClusterNo ==> H: 0.47407329118025443 Count: 28 Sum: 13.274052153047124 HiddenNode ClusterNo ==> H: 0.6397628305244175 Count: 29 Sum: 18.55312208520811 Error of Rules: 0.12664773303069815 Rule1:IF Input7 IN [22.0-24.2] AND Input11 IN [3.4999999999999973-5.7] THEN Output= 20.93962875007696 Rule2:IF Input8 IN [22.9-25.7] AND Input4 IN [10.2-13.400000000000002] THEN Output= 22.356803163228044 Rule3:IF Input7 IN [21.3-22.5] AND Input2 IN [4.6000000000000005-6.2] THEN Output= 23.486770557514394 Rule4:IF Input1 IN [5.6000000000000005-11.400000000000002] AND Input8 IN [18.6-24.6] THEN Output= 24.111629334893554 Rule5:IF Input0 IN [2.8-2.8999999999999995] AND Input5 IN [16.2-16.4] THEN Output= 21.99330163292951 Rule6:IF Input10 IN [23.7-24.5] AND Input1 IN [16.3-17.1] THEN Output= 25.118004595542295 Rule7:IF Input0= 24.0 THEN Output= 25.22694081958468 Rule8:IF Input8 IN [8.2-13.400000000000002] AND Input2 IN [13.3-18.6] AND Input3 IN [6.499999999999999-11.900000000000002] AND Input11 IN [22.227.7] THEN Output= 25.640655566247343 Rule9:IF Input2 IN [23.200000000000003-26.3] AND Input1 IN [20.1-23.6] AND Input3 IN [23.0-27.100000000000005] AND Input11 IN [10.2-14.5] THEN Output= 24.293752787753018 Rule10:IF Input2 IN [21.9-25.7] AND Input3 IN [17.5-22.3] AND Input0 IN [19.7-24.6] AND Input1 IN [22.2-27.7] AND Input4 IN [11.60000000000000117.3] THEN Output= 25.128969045562474 Rule11:IF Input0= 26.7 THEN Output= 25.76772474924378 Rule12:IF Input1 IN [23.200000000000003-27.000000000000004] AND Input11 IN [14.900000000000002-19.2] THEN Output= 24.918445867929 Rule13:IF Input1 IN [23.7-26.2] AND Input0 IN [24.0-27.2] AND Input4 IN [6.499999999999999-9.8] THEN Output= 25.62102906257554 Rule14:IF Input0= 2.2 THEN Output= 21.164242236571063 Rule15:IF Input10 IN [22.2-27.7] AND Input9 IN [18.6-24.6] AND Input7 IN [7.8-13.8] THEN Output= 24.844235660797743 48 Rule16:IF Input6 IN [19.3-24.6] AND Input5 IN [14.100000000000001-19.5] AND Input7 IN [22.2-28.2] AND Input11 IN [5.90000000000000111.900000000000002] THEN Output= 21.885636723416066 Rule17:IF Input7 IN [18.6-24.6] AND Input8 IN [22.2-28.2] AND Input10 IN [17.5-23.8] AND Input0 IN [5.2-11.8] THEN Output= 23.090697576515254 Rule18:IF Input7 IN [17.6-18.4] AND Input0 IN [11.60000000000000113.400000000000002] THEN Output= 23.76034319250112 Rule19:IF Input4 IN [6.8-7.1000000000000005] AND Input7 IN [22.8-23.5] THEN Output= 22.80935159244137 Rule20:IF Input4 IN [17.2-17.7] AND Input1 IN [1.7000000000000002-3.2] THEN Output= 21.341144367165494 Rule21:IF Input10 IN [22.9-28.2] AND Input8 IN [17.7-23.200000000000003] AND Input1 IN [6.900000000000001-13.2] THEN Output= 24.3620837721273 Rule22:IF Input1 IN [21.7-26.000000000000004] AND Input0 IN [22.9-27.7] AND Input11 IN [19.6-24.6] AND Input10 IN [14.900000000000002-20.6] THEN Output= 25.57805546845442 Rule23:IF Input0 IN [22.2-27.000000000000004] AND Input9 IN [8.400000000000002-13.400000000000002] THEN Output= 25.420899585361656 Rule24:IF Input0 IN [21.7-26.000000000000004] AND Input1 IN [17.5-22.3] AND Input10 IN [19.3-24.6] AND Input11 IN [22.9-28.2] AND Input9 IN [14.900000000000002-20.6] THEN Output= 25.500311551359093 Rule25:IF Input3 IN [8.2-12.3] AND Input6 IN [22.2-27.100000000000005] THEN Output= 20.803638754434346 Rule26:IF Input5 IN [16.0-16.7] AND Input8 IN [24.8-25.8] THEN Output= 22.24163523393501 Rule27:IF Input5 IN [22.9-27.7] AND Input7 IN [17.5-22.7] THEN Output= 21.550627323847 Rule28:IF Input4 IN [22.2-27.7] AND Input3 IN [18.6-24.6] AND Input1 IN [7.813.8] THEN Output= 22.571220015224135 Rule29:IF Input2 IN [22.2-27.7] AND Input3 IN [20.3-26.2] AND Input1 IN [18.6-24.6] AND Input4 IN [17.5-23.5] AND Input11 IN [7.8-13.8] THEN Output= 24.211521312721455 Rule30:IF Input4 IN [21.7-27.100000000000005] AND Input3 IN [22.2-27.7] AND Input2 IN [18.6-24.6] AND Input0 IN [7.8-13.8] THEN Output= 23.524321625221766 Rule31:IF Input11 IN [14.900000000000002-16.9] AND Input3 IN [18.7-21.3] THEN Output= 25.062540094236812 Rule32:IF Input10 IN [7.8-10.2] AND Input3 IN [18.9-21.8] THEN Output= 24.84794270635587 Rule33:IF Input3 IN [16.4-16.7] AND Input2 IN [10.10000000000000110.600000000000001] THEN Output= 22.009925547290923 Rule34:IF Input5 IN [22.2-25.8] AND Input2 IN [8.2-12.3] THEN Output= 21.031368192854746 Rule35:IF Input7 IN [23.7-25.900000000000002] AND Input11 IN [5.27.999999999999999] THEN Output= 21.763239415382905 49 Rule36:IF Input0= 1.1000000000000005 THEN Output= 21.371490296074192 Rule37:IF Input6 IN [22.9-27.2] AND Input8 IN [17.8-22.3] THEN Output= 21.21077321426998 Rule38:IF Input3 IN [20.8-25.3] AND Input4 IN [20.3-26.7] AND Input5 IN [17.8-25.8] AND Input8 IN [1.1000000000000005-9.3] THEN Output= 23.18672363656947 Rule39:IF Input0 IN [4.6000000000000005-4.8] AND Input5 IN [24.024.299999999999997] THEN Output= 22.293301784972595 4.5 Tổng kết chƣơng Trong phần thực nghiệm tiến thành thực nghiệm tập liệu khác tập luật rút trích cho kết khả quan với độ xác chấp nhận đƣợc so với độ xác mạng nơ ron ban đầu Với cách tiếp cận rút trích luật cho mạng nơ ron với toán dự báo Giải thuật sử dụng heuristic lý thuyết thông tin để xác định thuộc tính quan trong mẫu ứng với phân lớp đầu vào để làm giảm trình lặp lặp lại tìm kiếm luật nhƣ đem lại khả rút ngắn số điều kiện mệnh đề if luật Bằng cách tùy chỉnh độ mịn lúc rời rạc hóa giá trị tầng ẩn ta tăng hay giảm độ xác giải thuật tƣơng ứng với giảm hay tăng số luật rút trích đƣợc Tùy vào tốn cụ thể mà ta chọn độ mịn hợp lí Cách tiếp cận áp dụng để rút trích luật với tốn phân lớp (bài tốn giải thuật REANN) số đầu hữu hạn biết trƣớc Tuy nhiên phạm vi đề tài khơng xét tốn phân lớp Một vấn đề khác đƣợc đặt giá trị Min, Max phân lớp giao nhƣ hình minh họa 4.7 Khi số cặp giá trị MIN, MAX giao nhỏ tổng số input ta phân biệt đƣợc mẫu thuộc lớp nhờ vào thuộc tính cịn lại khơng bị giao Trong trƣờng hợp tất giá trị thuộc tính giao nhau, giả sử có mẫu I thuộc tập huấn luyện có giá trị; theo ví dụ có 12 giá trị input; nằm vùng giao Lúc theo giải thuật gom cụm, H(I) có giá trị H(A) thuộc phân lớp đầu vào A đồng thời H(I) có giá trị H(B) thuộc phân lớp đầu vào B Điều trừ A B phân lớp đầu vào Thế nhƣng I nằm tập kiểm tra khơng có bảo đảm là H(I) bắt buộc phải nằm phân lớp Khi tùy vào luật R(A) hay R(B) đƣợc xem xét mà I thuộc vào phân lớp Khả xảy độ mịn r nhỏ nhiên khơng phải khơng có Ở ta sử dụng heuristic để chọn R(A) hay R(B) để xét trƣớc Ta dựa vào lượng số tập đầu 50 vào A tập đầu vào B, tập có lƣợng số lớn ta cho I vào tập với mong muốn có xác xuất xác cao nh 4.7 Minh họa tập đầu vào có giá trị MIN,MAX giao Tóm lại, luận văn trình bày cách tiếp cận chấp nhận đƣợc để rút trích luật từ mạng nơ ron áp dụng cho toán dự báo liệu chuỗi thời gian Cách tiếp cận dựa vào giải thuật REANN tác giả Md M Islam, S M Kamruzzaman [2] số công trình nhóm tác giả R Setiono, H Liu, S T Tan [1], [24] để xây dựng, cắt tỉa rời rạc hóa giá trị tầng ẩn mạng nơ ron Ở phần rút trích luật, không sử dụng lại giải thuật REANN mà dƣa vào giá trị rời rạc tầng ẩn để phân lớp giá trị nhập tƣơng ứng với giá trị xuất với tham số độ mịn r dùng để điều chỉnh độ xác Sau sử dụng heuristic độ lợi thơng tin để rút trích luật từ phân lớp Giải thuật có thời gian chạy nhanh đệ qui qua hết tất thuộc tính , tổ hợp thuộc tính đề tìm luật ngắn trƣớc, nhiên bảo đảm luật ngắn Sau phân lớp giá trị đầu vào , ta bảo đảm độ xác mạng nơ ron không thay đổi mạng nơ ron sau rời rạc hóa giá trị Từ chúng tơi xem xét phƣơng pháp tiếp cận khác để rút trích đặc trƣng từ tập này.Độ lợi thông tin hƣớng tiếp cận khả thi Trong phạm vi luận luận văn chƣa xem xết qua hƣớng tiếp cận sau phân lớp đầu vào Việc xem xét đánh giá hƣớng tiếp cận mạng lại nhiều kết tốt cho tốn rút trích luật từ mạng nơ ron cho toán dự báo liệu chuỗi thời gian 51 CHƢƠNG KẾT LUẬN 5.1 Những kết đạt đƣợc Luận văn Trong luận văn chúng tơi trình bày cách để tiếp cận tốn rút trích luật từ mạng nơ ron áp dụng cho toán dự báo liệu chuỗi thời gian Điểm khác biệt giải thuật so với cơng trình trƣớc ([1], [2], [6]) bƣớc rút trích luật chúng tơi khơng sử dụng lại giải thuật tham lam để tìm luật ngắn mà dựa vào tập giá trị rời rạc nút thuộc tầng ẩn để phân lớp mẫu liệu đầu vào Sau sử dụng heuristic độ lợi thông tin để lựa chọn thuộc tính quan trọng sử dụng cho việc rút trích luật Cải tiến giúp giải đƣợc sử phức tạp tầng xuất mạng nơ ron dùng cho dự báo Thêm vào đó, chúng tơi điều chỉnh độ mịn bƣớc rời rạc hóa để tăng/ giảm độ xác đồng thời giảm/ tăng số lƣợng tập luật Thử nghiệm tập liệu chuỗi thời gian khác cho kết khả quan: rút trích đƣợc tập luật độ xác phụ thuộc vào q trình rời rạc hóa giá trị nút tầng ẩn ( tùy thuộc vào độ mịn) Thời gian chạy tập liệu nhỏ 10 giây, rút đƣợc luật ngắn sử dụng thuộc tính 5.2 Những hạn chế Luận văn Tuy nhiên việc giải đƣợc toán đề ban đầu, luận văn nhiều khuyết điểm Trong số luật sinh cịn luật dài, gây khó khăn ngƣời để hiểu Chƣơng trình thực chƣa có giao diện trực quan khiến cho trình thực nghiệm nhƣ kiểm tra kết gặp nhiều khó khăn 5.3 Hƣớng phát triển Luận văn Hiện luận văn sử dụng heuristic độ lợi thông tin để hỗ trợ q trình rút trích luật Nhƣ trình bày chƣơng 3, sau rời rạc hóa giá trị tầng ẩn, dựa vào tập giá trị rời rạc hóa để phân lớp mẫu liệu đầu vào Bài toán ban đầu trở thành tốn tìm đặc trƣng để phân biệt tập liệu với Khi chúng tơi sử dụng lý thuyết tập hợp cơng trình liên quan khác để hỗ trợ cho q trình rút trích luật 52 TÀILIỆUTHAMKHẢO [1] R.Setiono, H Liu, “Understanding Neural Networks via Rule Extraction” In Proceedings of 21st International Conference on Very Large Data Bases, Zurich, Switzerland, September 1994, pages 478-489 [2] S.M.Kamruzzaman, M.Md.Islam, “An Algorithm to Extract Rules from Artificial Neural Networks for Medical Diagnosis Problems” In proceedings of the 15th IEEE International Conference on Data Engineering, Sydney, Australia, 2005, pages 126-133 [3] J Huysmans, B Baesens, J Vanthienen, “ITER: An Algorithm for Predictive Regression Rule Extraction” K.U.Leuven, Dept of Decision Sciences and Information Managemen, Naamsestraat 69, B-3000 Leuven, Belgium, 2000 [4] B Baesens, R Setiono, C Mues, J Vanthienen, “Using Neural Network Rule Extraction and Decision Tables for Credit-Risk Evaluation”, Management Science © 2003 INFORMS Vol 49, No 3, March2003 , pages 312– 329 [5] R Setiono, W K Leow, J.M Zurada, “Extraction of rules from Artificial Neural Networks for nonlinear regression” IEEE Transactions on Neural Networks, 13(3), 2002, pages 564–577 [6] G.G Towell, J W Shavlik, “Extracting refined rules from knowledgebased neural networks”, Machine Learning, Vol 13, No 1, 1993, pages 71– 101 [7] E.A Gaweda, Setiono,R and Jacek,M.Z, “Rule Extraction from Feedforward Neural Network for Function Approximation”, Department of Electrical and Computer Engineering, University of Louisville, Louisville, Kentucky 40292, 2000 [8] K Saito, R Nakano, “Extracting regression rules from Neural Networks”, NTT Communication Science Laboratories, NTT Corporation, 2-4 Hikadidai, Saika-cho, Soraku-gun, Kyoto 619-0237, Japan, 2000 [9] R.Setiono, H Liu, “Chi2: Feature selection and discretization of numeric attributes” Proc Seventh IEEE Internat Conf Tools Artificial Intelligence (ICTAI) IEEE Computer Society Press, Los Alamitos, CA, 1995, pages 388–391 53 [10] R.Setiono, W.K Leow, “Pruned Neural Networks for regression” In Proc of the 6th Pacific Rim Conference on Artificial Intelligence, PRICAI 2000, Melbourne, pages 500-509 [11] R Setiono, H Liu, “Symbolic presentation of Neural Networks” IEEE Computer, March 1996, pages 71-77 [12] R Setiono, B Baesens and C Mues, “Rule extraction from minimal neural networks for credit card screening”, International Journal of Neural Systems, Vol 21, No 4, 2011, pages 265-276 [13] R Setiono, “Extracting rules from pruned neural networks for breast cancer diagnosis”, Artificial Intelligence in Medicine, Vol 8, No 1, February 1996, pages 37-51 [14] R Setiono and H Liu, “Symbolic representation of neural networks”, IEEE Computer, Vol 29, No 3, March 1996, pages 71-77 [15] R Setiono, “A penalty-function approach for pruning feedforward neural networks”, Neural Computation, Vol 9, No 1, January 1997, pages 185204 [16] R Setiono, “Extracting rules from neural networks by pruning and hidden-unit splitting”, Neural Computation, Vol 9, No 1, January 1997, pages 205-225 [17] R Setiono and H Liu, “NeuroLinear: from neural networks to oblique decision rules”, Neurocomputing, Vol 17, No 1, September 1997, pages 1-24 [18] R Setiono and H Liu, “Analysis of hidden representations by greedy clustering”, Connection Science, Vol 10, No 1, 1998, pages 21-42 [19] R Setiono, J.Y.L Thong and C Yap, “Symbolic rule extraction from neural networks: An application to identifying organizations adopting IT”, Information and Management, Vol 34, No 2, 1998, pages 91-101 [20] R Setiono and W.K Leow, “FERNN: An algorithm for Fast Extraction of Rules from Neural Networks”, Journal of Applied Intelligence, Vol 12, No 1/2, 2000, pages 15-25 [21] R Setiono, Extracting M-of-N rules from trained neural networks”, IEEE Transactions on Neural Networks, Vol 11, No 2, 2000, pages 512-519 [22] Y Hayashi, R Setiono and K Yoshida, “A comparison between two neural network rule extraction techniques for the diagnosis of hepatobiliary disorders”, Artificial Intelligence in Medicine, Vol 20, 2000, pages 205-216 54 [23] Y Hayashi, R Setiono and K Yoshida, “Learning M-of-N concepts for medical diagnosis using neural networks”, Journal of Advanced Computational Intelligence, Vol No 4, 2000, pages 294-301 [24] R Setiono, W.K Leow and J.M Zurada, “Extraction of rules from artificial neural networks for nonlinear regression”, IEEE Transactions on Neural Networks, Vol 13, No 3, 2002, pages 564-577 [25] Y Hayashi and R Setiono, “Combining neural network predictions for medical diagnosis, Computers in Biology and Medicine”, Vol 32, 2002, pages 237-246 [26] R Setiono and A Azcarraga “Generating concise sets of linear regression rules from artificial neural networks”, Journal on Artificial Intelligence Tools, Vol 11, No 2, 2002, pages 189-202 [27] B Baesens, R Setiono, C Mues and J Vanthienen, “Using neural network rule extraction and decision tables for credit risk evaluation”, Management Science, Vol 49, No 3, 2003, pages 312-329 [28] R Setiono and J Thong, “An approach to generate rules from neural networks for regression problems”, European Journal of Operational Research, Vol 155, No 1, 2004, pages 239-250 [29] G.E Nasr, E.A Badr and C Joun, “Cross Entropy Error Function in Neural Networks: Forcasting Gasonline Demand”, FLAIRS-02 Proceedings, 2002, pages 381-384 [30] H Liu, H.T Tan, “X2R: A fast rule generator”, Proceedings of IEEE International Conference on Systems, CA, 1995, pages 381-384 [31] T Ash, “Dynamic node creation in backpropagation networks”, Computer Science, Vol 1, No 4, 1989, pages 365-375 [32] K Md R Alam, K C Bikash,Md K Siddiquee , “A comparison of constructive and pruning algorithms to design neural network”, India Journal of Computer Science and Engineering, Vol 2, No 3, Jul 2011, pages 486-49 55 PHỤ LỤC A BẢNG THUẬT NGỮ VIỆT ANH ĐỐI CHIẾU Thuật ngữ tiếng Anh Thuật ngữ tiếng Việt Multi-layer feed forward Mạng nơ ron truyền thẳng đa tầng neural network Processing element Đơn vị xử lí Transfer function Hàm chuyển đổi Summation function Hàm tổng Activation function Hàm kích hoạt Normalized function Hàm chuẩn hóa Threshold value Giá trị ngƣỡng Connection weight Trọng số kết nối Training protocols Nguyên tắc huấn luyện Input patterns Mẫu huấn luyện BIAS Giá trị thiên vị EPOCH Thuật ngữ mô tả trình tất mẫu huấn luyện tập huấn luyện đƣợc đƣa vào để huấn luyện mạng Learning processing Q trình học Supervised learning Học có giám sát Unsupervised learning Học khơng có giám sát Batch training Huấn luyện theo lô Online training Huấn luyện trực tuyến a Stochastic training Huấn luyện ngẫu nhiên Hidden layer Tầng ẩn Input layer Tầng nhập Output layer Tầng xuất Gain Độ lợi thông tin Clustering Gom cụm Prunning Thu giản, cắt tỉa Classification Phân lớp Prediction Dự báo Subset algorithm Thuật tốn tập First order information Thơng tin bậc b LÝ LỊCH TRÍCH NGANG Họ tên học viên: NGUYỄN HOÀI LÊ Ngày, tháng, năm sinh: 13/01/1983 Nơi sinh: Quảng Nam Địa liên lạc: 316/17 Võ Văn Ngân, Thủ Đức, TP Hồ Chí Minh Q TRÌNH ĐÀO TẠO (Bắt đầu từ Đại học đến nay) 2001-2005: Học đại học chuyên ngành khoa học máy tính ĐH Bách Khoa 2010-2012: Học cao học chuyên ngành khoa học máy tính ĐH Bách Khoa Q TRÌNH CƠNG TÁC (Bắt đầu từ làm đến nay) 2005-2010: Kỹ sƣ công nghệ phần mềm 2010-2012: Trợ giảng khoa công nghệ thông tin ĐH Sƣ Phạm Kỹ Thuật TP.HCM ... giản, cắt tỉa mạng Nếu mạng nơ ron tối giản, tập luật sinh có luật dƣ thừa ảnh hƣởng đến độ xác tập luật nhƣ thời gian xử lí -Rút trích luật từ mạng tối giản Hầu hết giải thuật rút trích luật trọng... “hộp đen” ngƣời sử dụng Việc rút trích luật từ mạng nơ ron đem lại khả đánh giá kết mạng nơ ron dƣới góc nhìn chuyên gia Đã có nhiều nổ lực thành việc rút trích luật từ mạng nơ ron Tuy nhiên đa số... quan (Chƣơng 2) trình bày cụ thể cách giải tốn rút trích luật từ mạng nơ ron Vào năm 1993, Towell Shavlik [6] chứng minh đƣợc rút trích luật từ mạng nơ ron Họ sử dụng giải thuật dựa phƣơng pháp