Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
1,34 MB
Nội dung
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 NHẬN XÉT CỦA GIẢNG VIÊN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 MỤC LỤC LỜI CÁM ƠN 1 LỜI NÓI ĐẦU 2 CHƢƠNG 1: MẠNG NEURAL NHÂN TẠO 3 I. Tổng quan về mạng Neural nhân tạo 3 1. Giới thiệu 3 2. Lịch sử phát triển của mạng neural: 4 3. Biểu diễn một mạng Neural 4 4. Các vấn đề thích hợp cho việc học bằng mạng Neural 5 II. Cơ sở lý thuyết cho Mạng Neural 6 1. Dữ liệu huấn luyện: 6 2. Neural nhân tạo (Đơn vị xử lý): 6 3. Mạng Neural Nhân tạo: 10 4. Các kiến trúc của mạng Neural: 10 5. Đào tạo Huấn luyện Mạng Neural: 12 III. Thuật toán lan truyền ngược: 14 1. Thuật toán Backpropagation: 14 2. Chứng minh - Đạo hàm của thuật toán lan truyền ngược: 15 3. Thuật toán lan truyền ngược với đơn vị signmoid: 17 IV. Đánh giá mạng Neural: 20 1. Các bài toán thích hợp với mạng Neural: 20 2. Ưu nhược điểm của mạng Neural: 21 CHƢƠNG 2 : GIẢI THUẬT DI TRUYỀN 23 I. Tổng quan về thuật giải di truyền 23 II. Các thao tác cơ bản: 24 1. Mã hóa: 24 2. Phát sinh quần thể ban đầu: 25 3. Hàm đánh giá và hàm thích nghi: 25 4. Các toán tử di truyền: 26 5. Các tham số của thuật giải: 27 III. Các toán tử và kỹ thuật di truyền nâng cao 28 1. Thể lưỡng bội (Diploidy), thể trội (Dominicance) và thể khuyết (Abeyance): 28 2. Thể đa bội (Multiploid): 30 3. Một số toán tử vi mô tái thiết lập thứ tự: 31 4. Vùng thích nghi (Niche) và sự hình thành loài (Speciation): 35 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 5. Tối ưu hóa đa mục tiêu: 42 6. Tối ưu tổ hợp: 43 CHƢƠNG 3: BÀI TOÁN PHÁT THƢ TPHCM 44 I. Giới thiệu Bưu Điện Thành Phố: 44 II. Bài toán lấy thư hằng ngày: 46 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 1 LỜI CÁM ƠN Đầu tiên, em xin chân thành cám ơn thầy GS.TSKH Hoàng Kiếm đã truyền đạt hết sức nhiệt tình cho chúng em những kiến thức quý báu trong môn Công nghệ tri thức và ứng dụng để em hoàn thành đề tài này. Em cũng xin gửi lời cám ơn chân thành đến các thầy cô trong trường Đại học Công Nghệ Thông Tin đã tận tình giúp đỡ em trong thời gian học vừa qua. Xin cảm ơn tất bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập và hoàn thành đề tài này. TPHCM, ngày 09 tháng 10 năm 2014 Lớp CH08 Học viên thực hiện Huỳnh Thanh Việt CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 2 LỜI NÓI ĐẦU Cuộc sống của chúng ta luôn có rất nhiều vấn đề được đặt ra đòi hỏi ta cần phải giải quyết. Máy tính giúp chúng ta giải quyết các vấn đề một cách chính xác và thông minh. Sau khi hoàn thành môn học Công nghệ tri thức và ứng dụng do thầy Hoàng Kiếm phụ trách em đã nắm bắt được một số kiến thức quan trọng về nghiên cứu phân tích tri thức và ứng dụng vào các bài toán trong thực tế. Trong bài báo cáo này em xin được nếu một vài điểm tìm hiểm về mạng neural nhân tạo và thuật giải di truyền. Từ thuật giải di truyền em đã xây dựng một chương trình demo giải bài toán phát thư cho khu vực TPHCM. CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 3 CHƢƠNG 1: MẠNG NEURAL NHÂN TẠO I. Tổng quan về mạng Neural nhân tạo 1. Giới thiệu Nghiên cứu về mạng Neural đã được quan tâm từ những năm 40 của thế kỉ 20. Khoảng những năm 1990, mạng Neural được đặc biệt chú ý vì những khả năng ứng dụng rộng của nó. Chỉ tính riêng ở Mỹ có đến 50 tổ chức trong các viện nghiên cứu cũng như trường đại học nghiên cứu về mạng Neural. Lý thuyết mạng Neural được xây dựng dựa trên mô hình các Neural của não bộ con người. Trong đó, mỗi Neural sẽ kết nối với rất nhiều các Neural khác để tạo nên một mạng lưới các Neural được kết nối rất phức tạp. Mặc dù tốc độ chuyển đổi nhanh nhất của các Neural trong não người chỉ là 10 -3 giây, khá chậm khi so sánh với tốc độ của máy tính là 10 -10 giây, nhưng con người lại có khả năng đưa ra quyết định trong thời gian rất nhanh. Điều này có nghĩa là hệ thống mạng lưới sinh học này đã xử lý thông tin song song trên nhiều Neural cùng lúc. Dựa vào đó, người ta cũng đã phát triển ra các mô hình tính toán phân tán trên mạng Neural nhân tạo. Mặc dù mạng Neural nhân tạo dựa trên hệ thống Neural sinh học, tuy nhiên hệ thống sinh học vẫn tỏ ra cực kỳ phức tạp mà không thể được mô hình hóa trong mạng nhân tạo. Tương tự như hoạt động của não bộ, mạng Neural nhân tạo không thể được lập trình trước để đưa ra cách giải quyết cho một vấn đề như các phương pháp thông thường. Mạng Neural học bằng cách rèn luyện qua các ví dụ. Các ví dụ này cũng phải được chọn lọc và chuẩn hóa cẩn thận để tránh việc lãng phí thời gian hoặc thậm chí làm cho cả hệ thống hoạt động không chính xác. Do các ưu điểm của mạng Neural nhân tạo đem lại mà nó đã được áp dụng vào trong nhiều lĩnh vực khác nhau như: - Phân tích đầu tư: dự đoán giá cổ phiếu, giá vàng… từ các dữ liệu đã có trước đó - Phân tích chữ ký viết tay. - Điều khiển các quy trình trong công nghiệp và doanh nghiệp. - Quản lý - theo dõi: ví dụ theo dõi trạng thái động cơ máy bay. - Marketing: tìm ra mối liên hệ giữa dữ liệu về khách hàng đó và các phản ứng của khách hàng sau khi nhận được quảng cáo. CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 4 2. Lịch sử phát triển của mạng neural: Các quá trình phát triển của mạng Neural được chia làm 4 giai đoạn : Giai đoạn 1: Mạng Neural bắt đầu từ nghiên cứu của William(1980) về tâm lý học và sự liên kết các Neural thần kinh . Đến năm 1940, Mc Culloch và Pitts đã chứng minh các Neural có thể mô hình hóa như những thiết bị giới hạn ( hay thiết bị ngưỡng) để giải quyết các phép tính logic và mô hình mạng Neural của Mc Culloch – Pitts cùng với giải thuật huấn luyên của Hebb ra đời 1943. Giai đoạn 2: Vào khoảng 1960 một số mô hình Neural hoàn thiện hơn ra đời như mô hình Perceptron do Rosenblatt (1958), Adalile của Widrow(1962),…. Cả hai mô hình này cho đến hiện nay vẫn được dùng rộng rãi nhưng nó có một số nhược điểm . Ví dụ như mô hình Perceptron, theo Marvin Minsky và Seymour Papert của MIT chứng minh nó không dùng được cho các hàm logic phức(1969).Còn Adalie là mô hình tuyến tính, tự điều chỉnhđược dùng rộng rãi trong điều khiển thích nghi, tách nhiễu và phát triển cho đến nay. Giai đoạn 3: Giai đoạn này có thể tính là bắt đầu từ thập niên 80. Chúng ta có thể kể đến những đóng góp của Grossberg, Kohonen, Rumelhart, Hopfield…Đặc biệt là đóng góp của Hopfield gồm 2 mạng phản hồi: Mạng rời rạc 1982 và mạng liên tục 1984 Giai đoạn 4: Từ năm 1987 đến nay, hàng năm thế giới đều mở ra các hội nghị toàn cầu chuyên ngành Neural IJCNN. Rất nhiều công trình được nghiên cứu để ứng dụng mạng Neural vào các lĩnh vực như: kỹ thuật tính, điều khiển, bài toán tối ưu … 3. Biểu diễn một mạng Neural Hình dưới đây là một ví dụ tiêu biểu cho mạng Neural được Pomerleu đề xuất trong hệ thống ALVINN, hệ thống này là hệ thống lái xe tự động trên đường cao tốc. Dữ liệu đầu vào của mạng Neural này là một ảnh gồm 30x32 ô, mỗi ô là 1 pixel thu từ camera được gắn phía trước xe. Hệ thống này được huấn luyện để bắt chước cách lái xe của người lái xe trong khoảng 5 phút sau đó ALVINN đã tự động lái xe được quãng đường 90 dặm với tốc độ trung bình 70 dặm một giờ. CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 5 Hình bên trái cho thấy cách thức mà hình ảnh thu được từ camera được ánh xạ thành 960 dữ liệu đầu vào mạng Neural, và sau đó dữ liệu này được đưa vào 4 đơn vị ẩn kết nối với 30 đơn vị đầu ra. Biểu đồ phía bên phải thể hiện các giá trị trọng số của một trong những đơn vị ẩn trong mạng này. Ma trận lớn phía dưới thể hiện cho 30x32 trọng số của các dữ liệu đầu vào, trong đó ô màu trắng thể hiện cho trọng số dương, còn ô màu đen thể hiện trọng số âm. Trọng số khi dữ liệu truyền từ các đơn vị ẩn cho các đơn vị đầu ra được thể hiện bằng khối chữ nhật nhỏ phía bên trên. 4. Các vấn đề thích hợp cho việc học bằng mạng Neural Mạng Neural thích hợp để giải quyết các vấn đề mà có dữ liệu huấn luyện có nhiễu, dữ liệu phức tạp từ các cảm biến (như từ camera hoặc microphone). Ngoài ra mạng Neural cũng có thể được áp dụng cho các vấn đề mà các biểu diễn mô hình thường dùng, ví dụ Decision Tree. Thuật toán BackPropagation là thuật toán được dùng thông dụng nhất trong các kĩ thuật học của mạng Neural. Nó thích hợp cho những vấn đề có các đặc điểm sau: - Các dữ liệu huấn luyện được biểu diễn bằng các cặp thuộc tính-giá trị - Giá trị của hàm mục tiêu có thể là giá trị rời rạc, liên tục hoặc là một vector của các giá trị rời rạc hoặc liên tục - Trong các dữ liệu học có thể chứa lỗi. - Cho phép học trong thời gian dài. - Ước lượng nhanh các hàm mục tiêu. - Con người không cần phải hiểu hàm mục tiêu Mạng Neural trong hệ thống ALVINN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 6 II. Cơ sở lý thuyết cho Mạng Neural 1. Dữ liệu huấn luyện: Đặc điểm của mạng Neural đó là phải trải qua giai đoạn huấn luyện dựa trên một tập hợp các dữ liệu huấn luyện.Dữ liệu huấn luyện là một cặp < > mà ở đó mỗi input cho ta một output tương ứng. Đối với mạng Neural nhân tạo, là vector chứa các giá trị rời rạc hoặc liên tục, còn là một giá trị liên tục hoặc rời rạc duy nhất. Xét bảng giá trị sau: Diện tích (feet 2 ) Số phòng ngủ Giá tiền (1000$s) 2104 3 400 1600 3 330 2400 3 369 1416 2 232 3000 4 540 …. …. …. Đây là một tập hợp dữ liệu huấn luyện với dữ liệu đầu vào là diện tích và số phòng ngủ của căn nhà, còn dữ liệu đầu ra là giá tiền của căn nhà đó. Sau khi được huấn luyện với bộ dữ liệu này, mạng Neural nhân tạo có thể đưa ra được dự đoán giá của một căn nhà khi biết diện tích và số phòng ngủ của nó. 2. Neural nhân tạo (Đơn vị xử lý): Neural nhân tạo là Neural mô phỏng theo Neural sinh học. Nó là đơn vị cơ bản của mạng Neural. Cũng giống như Neural sinh học ở chỗ nếu như Neural sinh học có nhiều dây thần kinh để có thể tiêp nhận đồng thời nhiều dữ liệu thì Neural nhân tạo cũng có nhiều tín hiệu đầu vào.Mỗi tín hiệu đầu vào của Neural nhân tạo được gán cho một trọng số w ij . Nó tiếp nhận các đầu vào, xử lí các tín hiệu đầu vào này và cho một tín hiệu đầu ra tương ứng để truyền đến các Neural (Đơn vị xử lí khác). CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Huỳnh Thanh Việt – CH1301114 Trang 7 Trong mô hình một Neural nhân tạo như trên, thì: - U i là tích = x 1 .w 1 + x 2 .w 2 + … x n .w n - f(U i ) là hàm kích hoạt của Neural. Hàm kích hoạt có nhiệm vụ chuyển tổng các tích của dữ liệu đầu vào và trọng số thành một giá trị duy nhất. Hai hàm thông dụng được dùng đó là hàm ngưỡng và hàm xích ma. Bên cạnh các giá trị đầu vào có từ dữ liệu huấn luyện, các Neural nhân tạo này còn kèm theo một giá trị đầu vào cố định gọi là giá trị bias x 0 = 1. Bởi vì như ta biết trong mạng Neural nhân tạo thì có hai tham số có thể được điều chỉnh: các trọng số w i và giá trị ngưỡng của hàm kích hoạt. Điều này là không thực tế và sẽ dễ dàng hơn nếu chỉ có một tham số cần phải điều chỉnh. Để giải quyết điều này, người ta đưa giá trị bias thêm vào. Khi đó, tổng các giá trị đầu vào sẽ được tính là: U = x 0 w 0 + x 1 w 1 + x 2 w 2 + … + x n w n 2.1 Perceptron: Perceptron là một loại đơn vị xử lý của một mạng Neural do Rosenblatt đề xuất. Perceptron có vai trò giống như một Neural nhân tạo. Perceptron nhận vào 1 vector các giá trị thực, sau đó tổ hợp tuyến tính vector này được 1 giá trị y. Perceptron có một đầu ra (output), giá trị của đầu ra là sgn(y). [...]... theo dõi và hiểu được sự thay đổi của các tham số bên trong mạng Chúng ta chỉ hy vọng sau khi được huấn luyện, mạng Neural sẽ có thể giải quyết được vấn đề ta đang gặp phải Huỳnh Thanh Việt – CH1301114 Trang 22 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG CHƢƠNG 2 : GIẢI THUẬT DI TRUYỀN I Tổng quan về thuật giải di truyền Thuật giải di truyền là một kỹ thuật của khoa học máy tính được dùng để tìm kiếm lời giải cho... với mạng có kích thước nhỏ.Thường sử dụng các giải thuật di truyền hay kĩ thuật gọt tỉa Huỳnh Thanh Việt – CH1301114 Trang 13 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG III Thuật toán lan truyền ngƣợc: Thuật toán lan truyền ngược được đề xuất bởi Rumelhart, Hinton và Williams năm 1986 Nhằm tính toán các trọng số, là cơ sở cho việc huấn luyện các mạng Perceptron nhiều lớp Nó mở đường cho việc sử dụng các Mạng Neural. .. momentum nhằm cải thiện hiệu suất của thuật toán lan truyền ngược là một hằng số bổ sung vào công thức update các trọng số , các công thức update được sửa lại như sau : Theo công thức này thì wji (n) là wji lần update thứ n của wji Huỳnh Thanh Việt – CH1301114 Trang 19 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG IV Đánh giá mạng Neural: 1 Các bài toán thích hợp với mạng Neural: Bài toán phân lớp (classification)... đơn vị khi input vào mạng đầu vào b) Với mỗi đầu ra của mạng ta tính các giá trị k theo công thức c) Với mỗi đơn vị ẩn tính k theo công thức: Với Downstream(j) là tập hợp các đơn vị liên kết trưc tiếp với đơn vị j và nhận đầu ra của đơn vị j là đầu vào d) Tính lại các trọng số theo công thức: Huỳnh Thanh Việt – CH1301114 Trang 18 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG 3.2.2 Momentum Ta sử dụng một hằng số... nhau tạo thành các lớp, tìn hiệu được truyền lần lượt qua các lớp theo 1 hướng nhất định Huỳnh Thanh Việt – CH1301114 Trang 10 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Mạng truyền thẳng có thể có một hoặc nhiều lớp, thế nhưng mạng truyền thẳng 1 lớp với cấu trúc đơn giản rất khó để có thể biểu di n những bài toán phức tạp và các hàm phức tạp nên các mạng truyền thẳng thường được sử dụng nhiều lớp Các lớp của mạng. .. bởi các Neural trong cùng một lớp Mô hình mạng Hồi qui có 1 lớp nối ngược Mô hình mạng hồi quy có nhiều lớp nối ngược Huỳnh Thanh Việt – CH1301114 Trang 11 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Các mô hình mạng hồi quy thường gây cho ta khó khăn khi phân tích và thiết kế các thuật toán học cho nó so với các mạng truyền thẳng Đào tạo Huấn luyện Mạng Neural: Ngày nay để giải quyết các bài toán, các vấn đề đặt... dọc theo mạng: a) Tính các ou của mỗi đơn vị khi input vào mạng đầu vào b) Với mỗi đầu ra của mạng ta tính các giá trị k theo công thức Với f là hàm ngưỡng của Đơn vị xử lý c) Với mỗi đơn vị ẩn tính k theo công thức: Huỳnh Thanh Việt – CH1301114 Trang 14 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Với Downstream(j) là tập hợp các đơn vị liên kết trưc tiếp với đơn vị j và nhận đầu ra của đơn vị j là đầu vào d)... chênh lệch này thì thuật toán thực hiện thủ tục: Theo đó sẽ được tính theo công thức (1) Vì: Và độ giảm của E : Phân tích công thức (1) theo cách tính đạo hàm của hàm hợp ta có : (2) Trong đó netjlà tích vector đầu vào và vector trọng số vào đơn vị xử lí j Xji là tín hiệu đầu vào từ đơn vị xử lí i vào đơn vị xử lí j Huỳnh Thanh Việt – CH1301114 Trang 15 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Trường hợp 1:... đơn vị sử dụng một số hàm kích hoạt khác: - Hàm McCuloch-Pitts: - Hàm McCuloch-Pitts trễ: - Hàm lưỡng cực: Bipolar Sigmoid (tansig) Với g(x) = Huỳnh Thanh Việt – CH1301114 Trang 9 CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG Hàm này cũng có những đặc tính khá thuận lợi giống như hàm Xích ma nhưng nó làm việc tốt với đầu ra nằm trong khoảng [-1,1] 3 Mạng Neural Nhân tạo: Mạng Neural nhân tạo (Artificial Neural Network... trí quan trọng trong thuật giải di truyền Ngoài việc mang hai lần thông tin di truyền, nhiễm sắc thể phải mang thông tin trội 2 Thể đa bội (Multiploid): Một thuật giải di truyền đa bội kết hợp một vài ứng viên (candidates) cho mỗi gen trong một kiểu gen duy nhất, và sử dụng một vài cơ chế dạng trội để quyết định gen nào sẽ được kích hoạt trong kiểu hình Trong tự nhiên, chúng ta tìm thấy nhiều tổ hợp . tích tri thức và ứng dụng vào các bài toán trong thực tế. Trong bài báo cáo này em xin được nếu một vài điểm tìm hiểm về mạng neural nhân tạo và thuật giải di truyền. Từ thuật giải di truyền. LỜI NÓI ĐẦU 2 CHƢƠNG 1: MẠNG NEURAL NHÂN TẠO 3 I. Tổng quan về mạng Neural nhân tạo 3 1. Giới thiệu 3 2. Lịch sử phát tri n của mạng neural: 4 3. Biểu di n một mạng Neural 4 4. Các vấn đề. IV. Đánh giá mạng Neural: 20 1. Các bài toán thích hợp với mạng Neural: 20 2. Ưu nhược điểm của mạng Neural: 21 CHƢƠNG 2 : GIẢI THUẬT DI TRUYỀN 23 I. Tổng quan về thuật giải di truyền 23 II.