Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 81 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
81
Dung lượng
25,9 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ TRẦN ĐỨC MINH MẠNG NƠRON TRUYỀN THẮNG VÀ ỨNG DỤNG TRONG D ự BÁO DỮ L IỆ U Chuyên ngành : Công nghệ thông tin M ã số : 01.01.10 LUẬN VĂN THẠC s ĩ NGƯỜI HƯỚNG DẦN KHOA HỌC: TS L Ê H Ả I KH Ô I HÀ NỘI - 2002 -1- M ỤCLỤC MỜ Đ Ầ U CHƯƠNG I: CÁC KHÁI NIỆM c BẢN VỀ MẠNG NƠRON 1.1 Sở lược v'ê mạng n ro n .4 1.1 ỉ Lịch s triển 1.1.2 ứng dụng 1.1.3 Căn nguyên sinh học 1.2 Đơn vị xử l ý .8 1.3 Hàm xử l ý 1.3.1 Hàm kết h ợ p 1.3.2 Hàm kích hoạt (hàm chuyển) 1.4 Các hình trạng m n g 12 1.4.1 Mạng truyền thầng 12 1.4.2 Mạng hồi quy .13 1.5 Mạng h ọ c 13 1.5.1 Học có thầy 13 1.5.2 Học khơng có thầy .14 1.6 Hàm mục t iê u 14 CHƯƠNG I I MẠNG NƠRON TRUYỀN THẲNG VÀ THUẬT TOÁN LAN TRUYỀN NGƯỢC 16 2.1 Kiẻn trúc b ả n 16 2.1.1 Mạng truyền thẳng 16 2.1.2 Mạng hôi quy 18 2.2 Khả thể h iệ n .19 2.3 Vấn đê thiết kế cáu trúc m ạn g 19 2.3.1 S ã lớp ẩn 19 2.3.2 Sô đơn vị lớp ấn 20 2.4 Thuật toán lan truyền ngược (Back-Propagation)- 21 2.4.1 2.4.2 2.4.3 2.4.4 Mơ tà thuật tốn 22 S dụng thuật toán lan truyền ngược 27 Một s õ biến th ể thuật toán lan truyền ngược 31 Nhận x é t 36 2.5 Các thuật toán tơì ưu kh ác .38 2.5.1 Thuật toán giả luyện kim (Simu/ated anneaỉing) 38 2.5.2 Thuật giải di truyẽn (Genetìc Algorithm) 39 CHƯƠNG I I I ỨNG DỤNG MẠNG NƠRON TRUYỀN THẲNG TRONG D ự BÁO DỮ L iệ u 3.1 Sơ lược lĩnh vực dự báo đữ liệ u 41 3.2 Thu thập, phân tích xử lý liệ u 42 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 Kiêu biến 43 Thu thập d ữ Hệu 44 Phân tích liệu 45 X lý d ữ liệu 46 Tống hợp 48 3.3 Chương trình dự báo liệ u 48 3.3.1 Các bước trinh thiết k ẽ xảy dựng 48 3.3.2 Xây dựng chương trình 54 3.3.3 Chương trình d ự báo Hệu 69 3.4 Một số nhận x é t 75 KẾT LUẬN 77 TÀ I LIỆU THAM KHẢO 79 -2- MỞ ĐÁU «d^lLÜ Cùng với phát trien mơ hình kho liệu (Dataware house), Việt nam ngày có nhiều kho liệu với lượne dừ liệu lớn Đế khai thác có hiệu liệu khổng lồ này, có nhiều cơne cụ xây dựntí đê thịa mãn nhu cầu khai thác liệu mức cao, chẳng hạn công cụ khai thác liệu Oracle Discoverer cùa hãng Oracle Công cụ sử dụng phân tích liệu đa theo nhiều chiều liệu, đặc biệt theo thời gian Hav việc xâv dựng hệ chuyên eia, hệ thống dựa sỡ tri thức chuyên gia, để có the dự báo khuvnh hướng phát triền cùa liệu, thực phán tích liệu cùa tố chức Mặc dù cơng cụ, hệ thống trèn hồn tồn cỏ thể thực phần lớn công việc nêu trên, chúng yêu cầu độ xác, đầy đù định mặt đữ liệu để đưa câu trà lời xác Trong đó, img dụng cúa mạng nơron truyền thăng xây dựng dựa nhân tố ảnh hưởng đến thay đổi liệu thực tiễn chứng minh mạnh hiệu tốn dự báo, phân tích liệu Chúng có thê huấn luyện ánh xạ từ liệu vào tới liệu mà khơng u cầu liệu phải đầy đủ Trong số loại mạng tương đổi phổ biển mạng neuron truyền thăng nhiều lóp, huấn luyện thuật toán lan truyền ngược sử dụng nhiều Các mạng nơron có biểu diễn ánh xạ phi tuyến đầu vào đầu ra, chúng coi “ xấp xỉ đa nàng” Việc ứng dụng cùa loại mạng chù yếu cho việc phân tích, dự báo, phân loại số liệu thực tế Đặc biệt việc dự báo khuynh hướng thay đồi dừ liệu tác nghiệp quan, tồ chức kinh tế, xã hội, Neu có thê dự báo khuynh hướng thay đồi dừ liệu với độ tin cậy định, nhà lãnh đạo đưa sách đắn cho quan, tổ chức cùa Luận vãn nàv thực với mục đích tìm hiểu làm sáng tỏ mt s khớa cnh v manỗ ncrron truvn thng nhiu lớp, thuật toán lan truyền nguợc ứng dụng chúng ìrong giải quyêt toán lĩnh vực dự báo liệu Tác gia xin chân thành cam ơn giúp đờ vế mật khoa học động viên cua đong nghiệp phịng Cơng nghệ phân mểm qn ìỷ - Viện Cơng nghệ thông tin ¡rong suốt (rỉnh thực luận văn Đặc biệt, lúc già xin chân thành cám ƠỈ1 TS Lê H ải Kliôi, người thầy đõ giúp đờ V kiến q’ báu đê tác già hồn thành tốt luận vãn Hà nội, tháng 12 năm 2002 T râ n Đ ứ c Minh CHƯƠNG I: CÁC KHẢI NIỆM c o BẢN VÈ MẠlNC NƠRON Ch trưng náy đê cập vấn đề sau: 1.1 / ỉ I ] Sơ lược vẽ mạng ncrron -) Đơn Hàm xứ Các hinh trạng cúa mạng M ạng học Hàm mục tiêu VỊ xứ lý lý So' lược m ạn g ncrron Lích sử phát triển Sự phát triển mạnu nơron trai qua cá trinh đưa khái niệm lẫn thực thi khái niệm Dưới mốc đáng V lịch sử phát triền cùa mạng nơron • Cuối TK 19 đầu TK 20, phát triển chù yếu chi cơng việc có tham gia ba ngành Vật lý học Tâm ỉv học Thẩn kinh học, nhà khoa học Hermann von Hemholtz, Ernst Mach, Ivan Pavlov Các cịng trình nghiên cứu họ chu yếu sâu vào lý thuyết tổng quát HỌC (Learning), NHÌN (vision) LẬP LUẬN (conditioning), khơng đưa mơ hình tốn học cụ thể mơ tà hoạt động nơron • Mọi chuyện thực bắt đầu vào năm 1940 với cơng trình cùa W aưen McCuỉIoch W alter Pitts Họ chì rìguvên tẳc mạng cùa nơron nhân tạo tính tốn hám so học hay logic nào! • Tiếp theo hai người Donald Hebb ông phát biều việc thuyết lập luận cổ điển (classical conditioning) (như Pavlov đưa ra) thực đo thuộc tính từns nơron riêng biệt Ồng nêu phương pháp học cùa nơron nhân tạo • ứ n g dụng thực nghiệm đầu tiê n cùa nơron nhàn tạo có vào cuối nảm 50 với phát minh mạng nhận thức (perceptron network) luật học tirơng ứng -5- bới Frank Rosenblatt M ạng nàv có kha nhận dạns mẫu Đièu mờ nhiều hy vọng cho việc nghiên cửu mạntỉ nơron Tuy nhiên có hạn chế chi có thè giai số lớp hữu hạn tốn • Cúng thời lỉian Bernard W idrow Ted H off đua thuật toán học sử dụng đê huấn luyện cho mạnu ncrron tuyến tính thích nghi, mạng có cấu trúc vá chức tương tự nhu mạng cùa Rosenblatt Luật học W idrow -H off sư đụns • Tuv nhiên cà Rosenblatt W idrow -H off vấp phải vấn đề Marvin Minsky Sevmour Papen phát mạng nhận thức chi có giài tốn khả phân tuyến tính Họ cố gắng cải tiến luật học mạng để có thề vượt qua hạn chế họ không thành cơng việc cài tiến luật học đề huấn luyện dược mạng có câu trúc phức tạp • Do kết M insky-Papert nên việc nghiên cứu mạng nơron gần bị đình lại suốt thập ký nguyên nhân khơng có dược ¡náy tính đủ mạnh đế có the thực nghiệm • Mặc dù váy, có vài phát kiến quan trọnu vào năm 70 N ăm 1972, Teuvo Kohonen Jam es Anderson độc lập tihau phát triền loại mạng mứi có thề hoạt động nhớ Stephen Grossberg tích cực việc khảo sát mạng tự tồ chức (S elf organizing networks) • Vào năm 80, việc nghiên cứu mạng nơron phát triển mạnh mẽ với đời PC Có hai khái niệm liên quan đến hồi sinh này, là: Việc sứ dụng phương pháp thổng kê để giải thích hoạt động cùa lóp mạng hồi quy (recurrent networks) dùng nhớ liên hợp (associative memory) cơng trình cùa nhà vật lý học Johh Hopíĩeld Sự đời thuật toán lan truvền ngược (back-propagation) để luyện mạng nhiều lép vài nhà nghiên cứu độc lộp tìm như: David R um đhart, Jam es M cCclland Đó câu trà lời cho Minsky-Papert -6- Ỉ.Ì.2 ứ n g dụng Trong q trình phát trien* mạng nơron ứng dụng thành công nhiều lĩnh vực Dưới liệt kê sổ ứne dụng cùa mạng nơron: s Aerospace: Phi cônR tự động ojà lập đường bay, hệ thống đ iều khiển lái máy bay, phát lỗi ^ Automotive: Các hệ thốn« đẫn đường tự động cho ô tô phân tích hoạt động cùa xe s Banking: Bộ đọc séc tài ííệu, tính tiền cùa thé tín dụng 'S Defense: Định vị - phát vù khí dị mục tiêu, phát đối tượng, nhận dạne nét mặt, cảm biến thẻ hệ mới, xử lý ảnh radar, s Electronics: Dự đoán mã tuần tự, sơ đồ chip IC, đ iề u khiển tiến trình, phân tích ngun nhân hịng chip, nhận dạna tiếng nói mơ hình phi tuyến s Entertainment: Hoạt hình, hiệu úng đặc biệt, dự báo thị trường 'S Financial: Định siá bất động sàn, cho vay, kiêm tra tài sản cầm cố, đánh giá mức độ họp tác, phân tích đường tín dụng, chương trinh thưcmg mại qua giấy tờ, phân tích tài liên doanh, dự báo tỷ giá tiền tệ s Insurance: Đánh giá việc áp đụng sách, tối ưu hóa sản phẩm ✓ ỉ 1.3 Căn nguyên sinh học Bộ não người chứa khoảng 10n phẩn từ liên kết chặt chẽ với (khoảng 104 liên kết đối vói phần tử) gọi nơron Dưới mẳt người làm tin học nơron cấu tạo thành phần: te bào hình câv (dendrite) - tế bào thân (cell body) - sợi trục thần kinh (axon) Te bào hình cày có nhiệm vụ mang tín hiệu điện tới tế bào thân, tế bào thân thực gộp (Sum) phân ngưỡng (Thresholds) tín hiệu đến Sợi trục thần kinh làm nhiệm vụ đưa tín hiệu từ tể bào thân ngồi Đièm tiêp xúc giửa sợi trục thân kinh ncrron tê bào hinh nơron khác uọi khớp thần kinh (synapse) Sự xếp cùa nơron mức độ mạnh yểu -7- cua khớp thần kinh định bới trinh hóa học phức tạp thiết lập chức nãng mạng noron Một vài nơron có sẵn từ sinh phần khác phát triền thông qua việc học dó có thiết lập liên kết inới loại bò liên kết cũ Cấu trúc m ạn" nơron luôn phái triên thay đôi Các thay đối sau nàv cỏ khuynh hướng bao gồm chù yếu việc làm tăng hay HÌám độ manh cùa mối liên kết thơng qua khớp thần kinh M ạng nơron nhân tạo không tiếp cận đến phức tạp cùa não Mặc đù vậy, có hai tương quan mạng nơron nhân tạo sinh học Thử nhất, cấu trúc khối tạo thành chúng thiết bị tinh toán đcm tiiản (mạng nơron nhân tạo đcm giàn nhiêu) liên kết chặt chẽ với Thứ hai liên kết aiữa nơron quvát định chức mạng Cần ý m ans noron sinh học hoạt độnẹ chậm so với linh kiện điện tử (10° giây so với 10"y giây), có thực nhiều cơng việc nhanh nhiều so với máy tính thơng thường Dó phần cấu trúc song song mạng nơron sinh học: toàn nơron hoạt dộníỉ cách dồng thời thời điểm M ạng ncrron nhản lạo chia sẻ đặc điếm náy Mặc dù nay, mạng nơron chù yểu thực nghiệm trèn máy tính số, cấu trúc song song chúng khiến thấy cấu trúc phù hợp thực nghiệm chúng vi m ạch tích hợp lớn (VLSI: Very Large Scale Integrated-circuit), thiết bị quang xử lý song song Mạng noron, xem mô hinh liên kết (connectionist m odels), mơ hình phân bố song song (parallel-distributed models) có đặc trưng phân biệt sau: 1) Tập đơn vị xử lý- 2) Trạng thái kích hoạt đầu đơn vị xir lv: 3) Liên kết đơn vị Xét tồng quát, liên kết định nghĩa bời trọng số Wjk cho ta biết hiệu ứng mà tín hiệu đơn vị j có đơn vị k; 4) Một luật lan truyền định cách tính tín hiệu đơn vị từ đầu vào cùa nó; 5) Một hám kích hoạt, hay hàm chuyên (activation function, transfer function), xác định mức độ kích hoạt khác dựa mức độ kích hoạt tại; 6} Một đơn vị điều chinh (độ lệch) (bias, offset) cùa mồi đơn vị: 7) Phương pháp thu thập thông tin (luật học - learning rule); 8) Môi trường hệ thong cớ thè hoạt động 1.2 Đcm vị x íý Một đơn vị xừ lý (Hình 1), duợc gọi nơron hav nút (node), thực công việc đon gián: nhận tín hiệu vào từ đơn vị phía tnrớc hay nguồn bên sử dụng chúng đè tính tín hiệu lan truyển sang đơn vị khác .X X, a, - £ VV.,.Y, + a Zf=g(aj) Hình I : Dim vị xứ lý (Processing unit) đó: X, : dầu vào Wj,: trọng số tương ứng với đầu vào Qý : độ lệch (bias) a, đầu váo mạng (net-input) Z/ : đâu nơron gfx): hàm chuyền (hàm kích hoạt) Trong m ột mạng nơron có ba kiều đơn v ị: 1) Các đem vị đầu vào (Input units), nhận tín hiệu từ bên ngồi; 2) Các đơn vị đầu (Output units), gừi đữ liệu bên ngoài; 3) Các đon vị ân (Hidden units), tín hiệu vào (input) (output) cua nằm mạng Mồi đan vị ị có thê có nhiều đầu vào: Xo X| XỊ Xn, nhimg chi có đầu Zj MỘI đẩu váo tới đon vị có thè liệu lừ mạntỉ, đầu cùa đơn vị khác, đâu cùa chinh 1.3 Hàm xử lý 1.3 ỉ Hàm kết hợp Mồi đơn vị m ạne kết họp giá trị đua vào thơny qua liên kết với đơn vị khác, sinh giá trị gọi n et input Hàm thực nhiệm vụ nàv gọi hàm kết hợp (com bination function), định nghĩa luật lan truyền cụ thể Trong phần lớn mạng nơron, già sư rằne đơn vị cung cấp cộng đẩu vào cho đon vị mà có Hên kêt rơng đầu vào đơn vị j đơn giàn chi tông trọng sô đầu riêng lé từ đơn vị kết cộng thêm naưỡna hay độ lệch (bias) 9ị : f\ Ch - ^ n-'».Yi + Oì - I Trường hợp w,i > nơron coi trạna thái kích thich Tương tự, \Vj, < 0, nơron trạng thái kiềm chế Chúng ta ÍỈỌĨ đơn vị vói luật lan truyền sigm a units Trong m ột vài trường hợp người ta có thề sừ dụng luật ian truyền phức tạp M ột số luật sigma-pL có dạng sau; n cti — m ^ ịI + W j, 1-1 Xik Gì *^1 Rất nhiều hàm kết hợp sứ dụng "độ lệch" hay "ngưỡng" để tính net input tới đơn vị Đối với đơn vị đầu tuyển tính, thơng thường, 6j chọn hàng sổ toán xấp xi đa thức Oj= 1.3.2 H m kích hoạt (hàm chuyên) Phân lớn đơn vị inạna nơron chuyển net input bans cách sừ dụng hàm vô hướng (scalar-to-scalar function) gọi hàm kích hoạt, kết quà cũa hàm giá trị -66- Public Sub updateMomentum{j , : X ’ i , "ráo ;, :< JSC đ ố-i v e c t o r del ~ as s w a p Ve c i o r pa _ d e i ; Üs , c u n _ r i e i t a s swapVacftor c s t _ c e i t ~ s _ B , For •: = c To n u r r I n p u t s < - : rcr ' cu!r._iieicas - I - n.unOutpúzs - T e riUïTiû'jr c - s ~J - He Dim p r e s r v e 7ur, c e z a s i k •• i ; 3: - G c u m _ d e l c a s ■!k Mexr Nex: cor ■> = 'Vo p u m O u c p a t s ReOim P r e s e r v e - cun d e l c a s _ (j ; v J U ! ' i _ d e i t a s _ B i •• = NỌX- End Sub Sau toàn thủ tục huấn luyện cũa m ạng nơron: Public Sub tr a i n () Dim t o t _ e r r cu rren tE rro r As D o u b l a , = 15CŨG S e D : rr d r r M S r Integer ■= 9 9 Diir M a x C y c l e s A s M axCycles num As Integer, i As in tsaer, j As D o u b l e , k As Integer -67- T s ÍT_•c Ị Õ cr s c **■ ~;o Tih l i e Tr e Ar.d N c - s :: o c T r a i r i n c •jpda t e K o m e n t u n ’ L ấ y :7 ,ầ u t h ủ D ặ t v e c t o r r h ứ s c t *1-JIT:? â ' L e : r s sstStriC js T e x t T 12 ' u n forw ard ĩ r o n g t ậ o h u ấ n i v v ệ CfliiJii ó i i q e z _ p a z z e r n s ' i i c h o T a r 'j biếc •_ 1, “ “ ' r a i r ì ^ n g " V ; ; -'•ì • orop p r e d i c t V ũiiie ( i = l a y e r s ín u n O L a y e r ' T r u v ề n n g ợ c òackw ard_prop ' T i n h lot t o n err L ỗ i cu rren tE rro r l ỗ i - r o -_ _ e r r X cu rren t E rror ' S e t _ o i : r r e n t C y c l e CLr.gí i ! ' Thực h i ệ n c ậ p ::nậc c c ọ n g s ố ■Jpda t e _wc i gh r ' T ă n g s ố t h ủ Cự v e c t o r m ẫu s ẻ đ ọ c i = i - ill V í? n z ^ If i r.umOf P a t t e r n s • N ếu i -• c đá Then ícổc t n ú c raộc c h u k ỷ cu rren tr.rrcr sin -68- XSE = s c r f t o t ReDin err) Preserve / nunr.OfFar, t e r n s a r rMS E ; U B o u n d {a r rMS E • - a r r M S £ ■'L’E o u n d • a r r M S E : ' I; = MSP "raiPloc u p d a te r.se Jp d a te update D otvent s KeDirr a r rMSE (0 } D c ”, v e n t s End I f If A c s ;.MSF, ;3i ' N s\j ’ c.'ji e r , _ c u r r e r c C y c i e CLr.g ; j seccurrencE rror Then ) currencE tret D oEvenls setstcp T rain in g True End I f MSE = f.ot_err - Nu T Cf CycLe s = K u m O f C y c l e s * Dnd : f set S tatusT ext 1C - h i lai c&c 1, 7!a " JOKE tr$n t.r