Giao trinh trí tuệ nhân tạo

104 401 0
Giao trinh trí tuệ nhân tạo

Đ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

CHƯƠNG 1: GIỚI THIỆU CHUNG ................................................................................ 7 1.1. KHÁI NIỆM TRÍ TUỆ NHÂN TẠO .......................................................................... 7 1.2. LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN ............................................................. 9 1.3. CÁC LĨNH VỰC NGHIÊN CỨU VÀ ỨNG DỤNG CHÍNH.................................... 10 1.3.1. Các lĩnh vực nghiên cứu ....................................................................................... 10 1.3.2. Một số ứng dụng................................................................................................... 11 CHƯƠNG 2: GIẢI QUYẾT VẤN ĐỀ BẰNG TÌM KIẾM ............................................. 13 2.1. GIẢI QUYẾT VẤN ĐỀ VÀ KHOA HỌC TTNT ..................................................... 13 2.2. BÀI TOÁN TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI ............................ 13 2.2.1. Phát biểu bài toán tìm kiếm .................................................................................. 13 2.2.2. Một số ví dụ ......................................................................................................... 14 2.2.3. Các tiêu chuẩn đánh giá thuật toán tìm kiếm ......................................................... 15 2.2.4. Thuật toán tìm kiếm tổng quát và cây tìm kiếm..................................................... 16 2.3. TÌM KIẾM KHÔNG CÓ THÔNG TIN (TÌM KIẾM MÙ) ........................................ 17 2.3.1. Tìm kiếm theo chiều rộng (Breadthfirst search – BFS) ........................................ 17 2.3.2. Tìm kiếm theo giá thành thống nhất (UniformCostSearch) ................................. 19 2.3.3. Tìm kiếm theo chiều sâu (DepthFirstSearch: DFS) ............................................. 19 2.3.4. Tìm theo hai hướng (Bidirectional Search) ........................................................... 23 2.4. TÌM KIẾM CÓ THÔNG TIN (INFORMED SEARCH) ........................................... 25 2.4.1. Tìm kiếm tham lam (Greedy Search) .................................................................... 25 2.4.2. Thuật toán A ....................................................................................................... 26 2.4.3. Các hàm heuristic ................................................................................................. 27 2.4.4. Thuật toán IDA (thuật toán A sâu dần).............................................................. 28 2.5. TÌM KIẾM CỤC BỘ ................................................................................................ 30 2.5.1. Thuật toán leo đồi (Hill climbing) ......................................................................... 31 2.5.2. Thuật toán tôi thép (Simulated Annealing) ............................................................ 33 2.5.3. Một số thuật toán tìm kiếm cục bộ khác ................................................................ 35 CHƯƠNG 3: BIỂU DIỄN TRI THỨC VÀ SUY DIỄN LOGIC ..................................... 36 3.1. SỰ CẦN THIẾT SỬ DỤNG TRI THỨC TRONG GIẢI QUYẾT VẤN ĐỀ ............. 36 3.2. LOGIC MỆNH ĐỀ ................................................................................................... 37 3.2.1. Cú pháp ................................................................................................................ 37 3.2.2. Ngữ nghĩa............................................................................................................. 38 3.3. SUY DIỄN VỚI LOGIC MỆNH ĐỀ ........................................................................ 40 3.3.1. Suy diễn logic ....................................................................................................... 40 3.3.2. Suy diễn sử dụng bảng chân lý ............................................................................. 40 3.3.3. Sử dụng các quy tắc suy diễn ................................................................................ 41 3.4. LOGIC VỊ TỪ (LOGIC BẬC 1) ............................................................................... 44 3.4.1. Đặc điểm .............................................................................................................. 44 3.4.2. Cú pháp và ngữ nghĩa ........................................................................................... 44 5 3.5. SUY DIỄN VỚI LOGIC VỊ TỪ ............................................................................... 49 3.5.1. Quy tắc suy diễn ................................................................................................... 49 3.5.2. Suy diễn tiến và suy diễn lùi ................................................................................. 51 3.5.3. Suy diễn sử dụng phép giải .................................................................................. 54 3.5.4. Hệ thống suy diễn tự động: lập trình logic ............................................................ 59 CHƯƠNG 4: SUY DIỄN XÁC SUẤT ........................................................................... 60 4.1. VẤN ĐỀ THÔNG TIN KHÔNG CHẮC CHẮN KHI SUY DIỄN ............................ 60 4.2. NGUYÊN TẮC SUY DIỄN XÁC SUẤT ................................................................. 61 4.3. MỘT SỐ KHÁI NIỆM VỀ XÁC SUẤT ................................................................... 62 4.3.1. Các tiên đề xác suất .............................................................................................. 62 4.3.2. Xác suất đồng thời ................................................................................................ 62 4.3.3. Xác suất điều kiện ................................................................................................ 63 4.3.4. Tính độc lập xác suất ............................................................................................ 64 4.3.5. Quy tắc Bayes ...................................................................................................... 65 4.4. MẠNG BAYES ........................................................................................................ 67 4.4.1. Khái niệm mạng Bayes ......................................................................................... 67 4.4.2. Tính độc lập xác suất trong mạng Bayes ............................................................... 69 4.4.3. Cách xây dựng mạng Bayes .................................................................................. 70 4.5. SUY DIỄN VỚI MẠNG BAYES ............................................................................. 73 4.5.1. Suy diễn dựa trên xác suất đồng thời..................................................................... 73 4.5.2. Độ phức tạp của suy diễn trên mạng Bayes ........................................................... 74 4.5.3. Suy diễn cho trường hợp riêng đơn giản ............................................................... 74 4.5.4. Suy diễn bằng phương pháp lấy mẫu .................................................................... 76 4.6. ỨNG DỤNG SUY DIỄN XÁC SUẤT...................................................................... 78 CHƯƠNG 5: HỌC MÁY ............................................................................................... 81 5.1. KHÁI NIỆM HỌC MÁY .......................................................................................... 81 5.1.1. Học máy là gì ....................................................................................................... 81 5.1.2. Ứng dụng của học máy ......................................................................................... 81 5.1.3. Một số khái niệm .................................................................................................. 82 5.1.4. Các dạng học máy ................................................................................................ 82 5.2. HỌC CÂY QUYẾT ĐỊNH ....................................................................................... 84 5.2.1. Khái niệm cây quyết định ..................................................................................... 84 5.2.2. Thuật toán học cây quyết định .............................................................................. 85 5.2.3. Các đặc điểm thuật toán học cây quyết định.......................................................... 90 5.2.4. Vấn đề quá vừa dữ liệu ......................................................................................... 91 5.2.5. Sử dụng thuộc tính có giá trị liên tục..................................................................... 92 5.2.6. Sử dụng cách đánh giá thuộc tính khác ................................................................. 93 5.3. PHÂN LOẠI BAYES ĐƠN GIẢN ........................................................................... 94 5.3.1. Phương pháp phân loại Bayes đơn giản ................................................................ 94 5.3.2. Vấn đề tính xác suất trên thực tế ........................................................................... 96 5.3.3. Ứng dụng trong phân loại văn bản tự động ........................................................... 96 5.4. HỌC DỰA TRÊN VÍ DỤ: THUẬT TOÁN K HÀNG XÓM GẦN NHẤT ............... 97 5.4.1. Nguyên tắc chung ................................................................................................. 97 6 5.4.2. Phương pháp khàng xóm gần nhất ....................................................................... 98 5.4.3. Một số lưu ý với thuật toán kNN ......................................................................... 99 5.5. SƠ LƯỢC VỀ MỘT SỐ PHƯƠNG PHÁP HỌC MÁY KHÁC .............................. 101 TÀI LIỆU THAM KHẢO .................................................................................................. 104

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG -TỪ MINH PHƯƠNG BÀI GIẢNG Nhập môn trí tuệ nhân tạo Hà nội 2010 LỜI NÓI ĐẦU Trí tuệ nhân tạo nhánh khoa học máy tính với mục tiêu nghiên cứu xây dựng ứng dụng hệ thống thông minh nhân tạo Đây lĩnh vực quan tâm nghiên cứu nhiều khoa học máy tính với nhiều kết ứng dụng rộng rãi Môn học Nhập môn trí tuệ nhân tạo môn học mang tính chuyên ngành chương trình đào tạo công nghệ thông tin hệ đại học Mục tiêu môn học nhằm giúp sinh viên làm quen với khái niệm trí tuệ nhân tạo thông qua việc giới thiệu số kỹ thuật ứng dụng cụ thể Với việc học trí tuệ nhân tạo, mặt, sinh viên làm quen với phương pháp, cách giải vấn đề không thuộc lĩnh vực toán rời rạc giải thuật truyền thống, chẳng hạn phương pháp dựa heuristics, phương pháp dựa tri thức, liệu Mặt khác, sinh viên làm quen với khả ứng dụng tiềm tàng kỹ thuật trí tuệ nhân tạo nhiều toán thực tế Do trí tuệ nhân tạo phát triển thành lĩnh vực rộng với nhiều lĩnh vực chuyên sâu, việc lựa chọn nội dung để giới thiệu cho sinh viên vấn đề không đơn giản Trong tài liệu này, nội dung lựa chọn nội dung có tính tiêu biểu, kinh điển trí tuệ nhân tạo nội dung biểu diễn tri thức logic, phương pháp tìm kiếm, nội dung có tính ứng dụng có tính thời nay, tiêu biểu phương pháp suy diễn xác suất kỹ thuật học máy Do khuôn khổ có hạn tài liệu với tính chất giảng, phần giới thiệu việc sử dụng kỹ thuật trí tuệ nhân tạo ứng dụng cụ thể không trình bày nhiều Chúng dành phần lựa chọn ứng dụng cụ thể cho giảng viên trình lên lớp hướng dẫn sinh viên Tùy điều kiện, giảng viên lựa chọn danh mục ứng dụng phong phú để giới thiệu minh họa cho nội dung tài liệu Nội dung tài liệu trình bày thành năm chương Chương phần giới thiệu tổng quan trí tuệ nhân tạo bao gồm khái niệm, lịch sử hình thành, sơ lược kỹ thuật ứng dụng tiêu biểu Nội dung chương không sâu vào việc định nghĩa xác trí tuệ nhân tạo gì, thay vào đó, sinh viên giới thiệu lĩnh vực nghiên cứu chuyên sâu lịch sử phát triển, trước làm quen với nội dung cụ thể chương sau Chương trình bày cách giải vấn đề phương pháp tìm kiếm Các phương pháp tìm kiếm bao gồm: tìm kiếm mù, tìm kiếm có thông tin, tìm kiếm cục Khác với số tài liệu khác trí tuệ nhân tạo, nội dung tìm kiếm có đối thủ không đề cập đến tài liệu Chương tóm tắt vấn đề sử dụng, biểu diễn tri thức suy diễn, trước sâu trình bày biểu diễn tri thức suy diễn với logic Trong hai hệ thống logic trình bày logic mệnh đề logic vị từ, nội dung chương dành nhiều cho logic vị từ Do nội dung lập trình logic không ứng dụng nhiều, không giới thiệu vấn đề lập trình xây dựng ứng dụng cụ thể Chương mở rộng biểu diễn tri thức suy diễn với việc sử dụng nguyên tắc suy diễn xác suất mạng Bayes Sau trình bày cần thiết lập luận điều kiện không rõ ràng với nguyên tắc suy diễn xác suất, phần chương tập trung vào khái niệm với ứng dụng mạng Bayes biểu diễn tri thức suy diễn Chương chương nhập môn học máy Trong chương này, sinh viên làm quen với khái niệm, nguyên tắc ứng dụng học máy Trong phạm vi chương trình bày ba kỹ thuật học máy dùng cho phân loại định, phân loại Bayes phân loại dựa ví dụ Đây phương pháp đơn giản, dễ giới thiệu, đồng thời phương pháp tiêu biểu có nguyên lý khác nhau, thuận tiện để trình bày với tính chất nhập môn Tài liệu biên soạn từ kinh nghiệm giảng dạy học phần Nhập môn trí tuệ nhân tạo tác giả Học viện Công nghệ bưu viễn thông, sở tiếp thu phản hồi từ sinh viên đồng nghiệp Tài liệu sử dụng làm tài liệu học tập cho sinh viên đại học ngành công nghệ thông tin ngành liên quan, sử dụng với mục đích tham khảo nhanh cho người quan tâm tới trí tuệ nhân tạo Trong trình biên soạn tài liệu, tác giả có nhiều cố gắng song tránh khỏi thiếu sót Ngoài ra, trí tuệ nhân tạo lĩnh vực rộng, tiến nhanh khoa học máy tính đòi hỏi tài liệu phải cập nhật thường xuyên Tác giả mong muốn nhận ý kiến phản hồi, góp ý cho thiếu sót ý kiến việc cập nhật, hoàn thiện nội dung tài liệu Hà nội 2010 Tác giả Mục lục CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 KHÁI NIỆM TRÍ TUỆ NHÂN TẠO 1.2 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN 1.3 CÁC LĨNH VỰC NGHIÊN CỨU VÀ ỨNG DỤNG CHÍNH 10 1.3.1 Các lĩnh vực nghiên cứu 10 1.3.2 Một số ứng dụng 11 CHƯƠNG 2: GIẢI QUYẾT VẤN ĐỀ BẰNG TÌM KIẾM 13 2.1 GIẢI QUYẾT VẤN ĐỀ VÀ KHOA HỌC TTNT 13 2.2 BÀI TOÁN TÌM KIẾM TRONG KHÔNG GIAN TRẠNG THÁI 13 2.2.1 Phát biểu toán tìm kiếm 13 2.2.2 Một số ví dụ 14 2.2.3 Các tiêu chuẩn đánh giá thuật toán tìm kiếm 15 2.2.4 Thuật toán tìm kiếm tổng quát tìm kiếm 16 2.3 TÌM KIẾM KHÔNG CÓ THÔNG TIN (TÌM KIẾM MÙ) 17 2.3.1 Tìm kiếm theo chiều rộng (Breadth-first search – BFS) 17 2.3.2 Tìm kiếm theo giá thành thống (Uniform-Cost-Search) 19 2.3.3 Tìm kiếm theo chiều sâu (Depth-First-Search: DFS) 19 2.3.4 Tìm theo hai hướng (Bidirectional Search) 23 2.4 TÌM KIẾM CÓ THÔNG TIN (INFORMED SEARCH) 25 2.4.1 Tìm kiếm tham lam (Greedy Search) 25 2.4.2 Thuật toán A* 26 2.4.3 Các hàm heuristic 27 2.4.4 Thuật toán IDA* (thuật toán A* sâu dần) 28 2.5 TÌM KIẾM CỤC BỘ 30 2.5.1 Thuật toán leo đồi (Hill climbing) 31 2.5.2 Thuật toán thép (Simulated Annealing) 33 2.5.3 Một số thuật toán tìm kiếm cục khác 35 CHƯƠNG 3: BIỂU DIỄN TRI THỨC VÀ SUY DIỄN LOGIC 36 3.1 SỰ CẦN THIẾT SỬ DỤNG TRI THỨC TRONG GIẢI QUYẾT VẤN ĐỀ 36 3.2 LOGIC MỆNH ĐỀ 37 3.2.1 Cú pháp 37 3.2.2 Ngữ nghĩa 38 3.3 SUY DIỄN VỚI LOGIC MỆNH ĐỀ 40 3.3.1 Suy diễn logic 40 3.3.2 Suy diễn sử dụng bảng chân lý 40 3.3.3 Sử dụng quy tắc suy diễn 41 3.4 LOGIC VỊ TỪ (LOGIC BẬC 1) 44 3.4.1 Đặc điểm 44 3.4.2 Cú pháp ngữ nghĩa 44 3.5 SUY DIỄN VỚI LOGIC VỊ TỪ 49 3.5.1 Quy tắc suy diễn 49 3.5.2 Suy diễn tiến suy diễn lùi 51 3.5.3 Suy diễn sử dụng phép giải 54 3.5.4 Hệ thống suy diễn tự động: lập trình logic 59 CHƯƠNG 4: SUY DIỄN XÁC SUẤT 60 4.1 VẤN ĐỀ THÔNG TIN KHÔNG CHẮC CHẮN KHI SUY DIỄN 60 4.2 NGUYÊN TẮC SUY DIỄN XÁC SUẤT 61 4.3 MỘT SỐ KHÁI NIỆM VỀ XÁC SUẤT 62 4.3.1 Các tiên đề xác suất 62 4.3.2 Xác suất đồng thời 62 4.3.3 Xác suất điều kiện 63 4.3.4 Tính độc lập xác suất 64 4.3.5 Quy tắc Bayes 65 4.4 MẠNG BAYES 67 4.4.1 Khái niệm mạng Bayes 67 4.4.2 Tính độc lập xác suất mạng Bayes 69 4.4.3 Cách xây dựng mạng Bayes 70 4.5 SUY DIỄN VỚI MẠNG BAYES 73 4.5.1 Suy diễn dựa xác suất đồng thời 73 4.5.2 Độ phức tạp suy diễn mạng Bayes 74 4.5.3 Suy diễn cho trường hợp riêng đơn giản 74 4.5.4 Suy diễn phương pháp lấy mẫu 76 4.6 ỨNG DỤNG SUY DIỄN XÁC SUẤT 78 CHƯƠNG 5: HỌC MÁY 81 5.1 KHÁI NIỆM HỌC MÁY 81 5.1.1 Học máy 81 5.1.2 Ứng dụng học máy 81 5.1.3 Một số khái niệm 82 5.1.4 Các dạng học máy 82 5.2 HỌC CÂY QUYẾT ĐỊNH 84 5.2.1 Khái niệm định 84 5.2.2 Thuật toán học định 85 5.2.3 Các đặc điểm thuật toán học định 90 5.2.4 Vấn đề vừa liệu 91 5.2.5 Sử dụng thuộc tính có giá trị liên tục 92 5.2.6 Sử dụng cách đánh giá thuộc tính khác 93 5.3 PHÂN LOẠI BAYES ĐƠN GIẢN 94 5.3.1 Phương pháp phân loại Bayes đơn giản 94 5.3.2 Vấn đề tính xác suất thực tế 96 5.3.3 Ứng dụng phân loại văn tự động 96 5.4 HỌC DỰA TRÊN VÍ DỤ: THUẬT TOÁN K HÀNG XÓM GẦN NHẤT 97 5.4.1 Nguyên tắc chung 97 5.4.2 Phương pháp k-hàng xóm gần 98 5.4.3 Một số lưu ý với thuật toán k-NN 99 5.5 SƠ LƯỢC VỀ MỘT SỐ PHƯƠNG PHÁP HỌC MÁY KHÁC 101 TÀI LIỆU THAM KHẢO 104 CHƯƠNG 1: GIỚI THIỆU CHUNG 1.1 KHÁI NIỆM TRÍ TUỆ NHÂN TẠO Trí tuệ nhân tạo lĩnh vực nghiên cứu khoa học máy tính khoa học tính toán nói chung Có nhiều quan điểm khác trí tuệ nhân tạo có nhiều định nghĩa khác lĩnh vực khoa học Mục đích trí tuệ nhân tạo xây dựng thực thể thông minh Tuy nhiên, khó định nghĩa thực thể thông minh nên khó thống định nghĩa trí tuệ nhân tạo Theo tài liệu sử dụng rộng rãi giảng dạy trí tuệ nhân tạo nay, định nghĩa nhóm thành bốn nhóm khác nhau, theo đó, trí tuệ nhân tạo lĩnh vực nghiên cứu việc xây dựng hệ thống có đặc điểm sau: 1) Hệ thống hành động người 2) Hệ thống suy nghĩ người 3) Hệ thống suy nghĩ hợp lý 4) Hệ thống hành động hợp lý Trong số định nghĩa trên, nhóm thứ hai ba quan tâm tới trình suy nghĩ tư duy, nhóm thứ thứ tư quan tâm chủ yếu tới hành vi Ngoài ra, hai nhóm định nghĩa đầu xác định mức độ thông minh hay mức độ trí tuệ cách so sánh với khả suy nghĩ hành động người, hai nhóm định nghĩa sau dựa khái niệm suy nghĩ hợp lý hành động hợp lý Trong phần phân tích bên ta thầy suy nghĩ hành động hợp lý khác với suy nghĩ hành động người Sau ta xem xét cụ thể nhóm định nghĩa 1) Hành động người Theo cách định nghĩa này, trí tuệ nhân tạo nhằm tạo hệ thống có khả thực công việc đòi hỏi có trí tuệ người Phép thử Turing (Turing test): Vào năm 1950, Alan Turing – nhà toán học người Anh có nhiều đóng góp cho khoa học máy tính – xây dựng thủ tục cho phép định nghĩa trí tuệ Thủ tục sau gọi phép thử Turing (Turing test), thực sau Hệ thống gọi thông minh, hay có trí tuệ hệ thống hành động tương tự người công việc đòi hỏi trí tuệ Trong trình thử, người kiểm tra đặt câu hỏi (dưới dạng văn bản) nhận câu trả lời dạng văn từ hệ thống Nếu người kiểm tra không phân biệt câu trả lời người thật trả lời hay máy sinh hệ thống qua phép thử gọi có trí tuệ Cần lưu ý rằng, phép thử Turing nguyên không đòi hỏi có tiếp xúc vật lý trực tiếp người kiểm tra hệ thống bị kiểm tra, việc tạo hệ thống người nhân tạo cách vật lý coi không liên quan tới trí tuệ Giới thiệu chung Để qua phép thử Turing, hệ thống cần có khả sau: - Xử lý ngôn ngữ tự nhiên: để phân tích, hiểu câu hỏi tổng hợp câu trả lời ngôn ngữ giao tiếp thông thường tiếng Việt hay tiếng Anh - Biểu diễn tri thức: phục vụ việc lưu tri thức thông tin hệ thống - Suy diễn: sử dụng tri thức để trả lời câu hỏi - Học máy: để thích nghi với hoàn cảnh học mẫu trả lời Trong lịch sử trí tuệ nhân tạo có hệ thống ELIZA xây dựng nhằm mục đích vượt qua phép thử Turing mà không cần đầy đủ tới bốn khả 2) Suy nghĩ người Những nghiên cứu theo hướng dựa việc nghiên cứu trình nhận thức tư người, từ mô hình hóa tạo hệ thống có mô hình nhận thức, tư tương tự Việc tìm hiểu trình nhận thức, tư người thực cách thực thí nghiệm tâm lý theo dõi trình sinh ý nghĩ người Một hệ thống trí tuệ nhân tạo dạng hệ thống GPS, viết tắt General Problem Solver Newell Simon trình diễn năm 1961 GPS chương trình máy tính cho phép giải toán cách mô chuỗi suy nghĩ người giải toán Hiện nay, hướng nghiên cứu thực khuôn khổ khoa học nhận thức (cognitive science) quan tâm nhiều khuôn khổ tâm lý học 3) Suy nghĩ hợp lý Một cách tiếp cận khác xây dựng hệ thống có khả suy diễn dựa việc sử dụng hệ thống hình thức lô gic Tiền thân cách tiếp cận có gốc rễ từ triết học Hy lạp Aristot khởi xướng Cơ sở chủ yếu sử dụng lô gic để biểu diễn toán giải suy diễn lô gic Khó khăn chủ yếu cách tiếp cận việc mô tả hay biểu diện toán dạng cấu trúc lô gic để giải Trên thực tế, tri thức thông tin toán thường có yếu tố không đầy đủ, không xác Ngoài ra, việc suy diễn lô gic đòi hỏi khối lượng tính toán lớn sử dụng thực tế 4) Hành động hợp lý Cách tiếp cận tập trung vào việc xây dựng tác tử (agent) có khả hành động hợp lý, tức hành động để đem lại kết tốt kết kỳ vọng tốt có yếu tố không chắn Cần lưu ý rằng, hành động hợp lý khác với hành động giống người: người lúc hành động hợp lý bị chi phối yếu tố chủ quan Một đặc điểm quan trọng hành động hợp lý hành động kiểu dựa việc suy nghĩ (suy diễn) hợp lý không Trong nhiều tình huống, việc hành động theo phản xạ, chẳng hạn gặp nguy hiểm, không đòi hỏi suy diễn phức tạp, lại cho kết tốt Giới thiệu chung 1.2 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN Lịch sử hình thành phát triển TTNT chia thành số giai đoạn sau (các giai đoạn chia theo mức độ phát triển giao thời gian): a Giai đoạn tiền khởi đầu (1943-1955) Mặc dù chưa có khái niệm TTNT, giai đoạn ghi nhận số kết có liên quan trực tiếp tới nghiên cứu TTNT sau này: - Năm 1943, Warren McCulloch Walter Pitts mô tả mô hình mạng nơ ron nhân tạo đầu tiên, cho thấy mạng nơ ron nhân tạo có khả biểu diễn nhiều hàm số toán học - Năm 1950, Alan Turing công bố báo nhắc tới trí tuệ máy, lần mô tả khái niệm phép thử Turing, học máy, thuật toán di truyền, học tăng cường - Năm 1956 coi năm thức đời khái niệm trí tuệ nhân tạo Mười nhà nghiên cứu trẻ tổ chức hội thảo kéo dài hai tháng trường đạt học Dartmouth với mục đích đặt móng với tên gọi thức TTNT b Giai đoạn khởi đầu (1952-1969) Đây giai đoạn với nhiều thành tích định nghiên cứu TTNT, thể qua số ví dụ sau: - Các chương trình Logic Theorist sau General Problem Solver Newell Simon, có khả chứng minh định lý toán học theo cách tương tự tư người - Năm 1952, Arthur Samuel xây dựng số chương trình chơi checkers Chương trình có khả học đánh thắng đối thủ nghiệp dư - Năm 1958, John McCarthy đề xuất ngôn ngữ Lisp, sau trở thành hai ngôn ngữ thông dụng TTNT - Mạng nơ ron nhân tạo tiếp tục tiếp tục phát triển với số phát minh mạng adalines (1962), Perceptron Rosenblatt (1962), cho phép giải nhiểu toán học máy c Hệ thống dựa trí thức (1969-1979) Các chương trình trí tuệ nhân tạo xây dựng giai đoạn trước có số định tri thức lĩnh vực liên quan, giải toán khó, đòi hỏi khối lượng tính toán lớn nhiều tri thức chuyên sâu Để khắc phục, giai đoạn trọng tới việc sử dụng nhiều tri thức, thông tin đặc thù cho lĩnh vực hẹp vấn đề cần giải Sau số hệ thống vậy: - DENDRAL chương trình hệ chuyên gia xây dựng trường Stanford, cho phép dự đoán cấu trúc phân tử Chương trình làm việc dựa luật chuyên gia hóa cung cấp Một tác giả DENDRAL, sau với cộng xây dựng MYCIN, hệ chuyên gia cho phép chẩn đoán bệnh nhiễm trùng máy Với khoảng 450 quy Giới thiệu chung tắc chuyên gia cung cấp, hệ thống có chất lượng chẩn đoán tương đương chuyên gia lĩnh vực - Việc sử dụng tri thức sử dụng để giải vấn đề hiểu ngôn ngữ tự nhiên, ví dụ hệ thống dịch tự động d TTNT có sản phẩm thương mại (1980 đến nay) Sau thành công hệ chuyên gia đầu tiên, việc xây dựng hệ chuyên gia thương mại hóa từ năm 1980 đặc biệt phát triển 1988 Sau giai đoạn này, số hạn chế hệ chuyên gia, TTNT rơi vào giai đoạn trì trệ, bước tiến đáng kể Giai đoạn đánh dấu trở lại mạng nơ ron nhân tạo sau thời gian phát minh ứng dụng đáng kể Cho đến này, mạng nơ ron nhân tạo sử dụng tương đối nhiều cho học máy chương trình nhận dạng, phân loại tự động e TTNT thức trở thành ngành khoa học (1987 đến nay) Bắt đầu từ giai đoạn này, TTNT có phương pháp nghiên cứu riêng mình, tuân theo yêu cầu chung phương pháp nghiên cứu khoa học Chẳng hạn, kết cần chứng minh thực nghiệm, phân tích kỹ lưỡng khoa học thống kê Nhiều phát minh trước TTNT mạng nơ ron nhân tạo phân tích so sánh kỹ với kỹ thuật khác thống kê, nhận dạng, học máy, phương pháp không mang tính kinh nghiệm túy mà dựa sở lý thuyết rõ ràng 1.3 CÁC LĨNH VỰC NGHIÊN CỨU VÀ ỨNG DỤNG CHÍNH 1.3.1 Các lĩnh vực nghiên cứu Trí tuệ nhân tạo chia thành số lĩnh vực nghiên cứu nhỏ nhằm giải vấn đề khác xây dựng hệ thống trí tuệ nhân tạo Thông thường, hệ thống trí tuệ nhân tạo hoàn chỉnh, làm việc việc môi trường cần có khả năng: cảm nhận (perception), suy diễn (reasoning), hành động (action) Lĩnh vực nghiên cứu trí tuệ nhân tạo phân chia theo ba thành phần a Cảm nhận Hệ thống cần có chế thu nhận thông tin liên quan tới hoạt động từ môi trường bên Đó camera, cảm ứng âm thanh, cảm biến khác Đó đơn giản thông tin người dùng nhập vào chương trình nhập vào tay Để biến đổi thông tin nhận dạng hiểu được, thông tin cần xử lý nhờ kỹ thuật thuộc lĩnh vực sau: - Thị giác máy (computer vision): nghiên cứu việc thu nhận, xử lý, nhận dạng thông tin hình ảnh (chẳng hạn từ camera) thành biểu diễn mức cao đối tượng xung quanh để máy tính sau hiểu 10 Học máy {D1, D2, …, D14} [9+, 5-] Trời nắng u ám mưa {D3, D7, D12, D13} {D4, D5, D6, D10, D14} [2+, 3-] [4+, 0-] [3+, 2-] ? có ? {D1, D2, D8, D9, D11} Hình 5.4 Xây dựng định Đối vớ i nhánh giữa, toàn mẫu có nhãn dương, trình học cho nhánh dừng lại, thuật toán tạo nút với nhãn “có” Đối với nhánh bên trái bên phải, trình học tiếp tục với tập liệu nhánh Dưới minh họa việc tính IG chọn thuộc tính cho nút bên trái IG (Snắng, Độ ẩm) = 0.97 –(3/5)*0 – (2/5)*0 = 0.97 IG (Snắng, Nhiệt độ) = 0.97 – (2/5)*0 –(2/5)*1 – (1/5)*0 = 0.57 IG (Snắng, Gió) = 0.97 – (2/5)*1 – (3/5)*0.918 = 0.019 Thuộc tính Độ ẩm có IG lớn chọn cho nút Kết học đầy đủ thể hình 5.2 5.2.3 Các đặc điểm thuật toán học định Thuật toán học định ID3 có số đặc điểm sau: - ID3 thuật toán tìm kiếm định phù hợp với liệu huấn luyện - Đây phươ ng pháp tìm kiếm theo kiểu tham lam, từ xuống, rỗng Hàm đánh giá độ tăng thông tin Tính chất tham lam thuật toán thể chỗ nút, thuộc tính chọn thuộc tính có hàm mục tiêu lớn nhất, thuật toán không nhìn xa nút định chọn thuộc tính Không gian tìm kiếm đầy đủ, nghĩa theo cách xây dựng vậ y, thuật toán di chuyển tới hợp lệ - ID3 có khuynh hướng lựa chọn định đơn giản tức có nút, nút tương ứng với thuộc tính có độ tăng thông tin lớ n xếp gần gốc Lưu ý: Ở vừa nhắc tới “khuynh hướng” (bias) thuật toán Trong học máy, từ khuynh hướ ng dùng để tính chất thuật toán ưu tiên phương án hơ n phương án 90 Học máy khác hai phương án thỏa mãn yêu cầu đặt Trong trường hợp định, hai phù hợp với liệu thuật toán có khuynh hướng lựa chọn nút Việc lựa chọn định đơn giản phù hợp với nguyên tắc triết học gọi Occam’s razor (Occam tên nhà triết học) theo có nhiều giả thiết cho phép giải thích số quan sát ưu tiên chọn giả thiết đơn giản 5.2.4 Vấn đề vừa liệu Quá vừa liệu (data overfitting hay đơn giản overfitting) vấn đề thường gặp học máy có ảnh hưở ng nhiều tới độ xác kỹ thuật học máy Trong xây dựng định (hay phân loại nói chung), thuật toán học máy thường cố gắng để phù hợp với liệu, tức phân loại mẫu huấn luyện, mức tối đa Tuy nhiên, mục đích học định để phân loại liệu mẫu, mà để phân loại liệu nói chung, tức liệu mà thuật toán chưa biết thờ i gian học Có thể xẩ y tình định có độ xác tốt liệu huấn luyện lại cho độ xác không tốt liệu nói chung Khi ta nói định vừa với liệu huấn luyện Ta nói định t vừa liệu huấn luyện tồn định t’ cho t xác t’ liệu huấn luyện xác t’ liệu nói chung Lý phân loại làm việc tốt liệu huấn luyện không tốt liệu nói chung mẫu huấn luyện thường không đủ không mang tính đại diện cho phân bố liệu nói chung Chẳng hạn, số lượng mẫu nút ít, việc xuất tương quan giá trị thuộc tính nhãn phân loại xẩ y trùng hợp ngẫu nhiên dẫn tới số thuộc tính phân chia mẫu tốt thực tế thuộc tính quan hệ với nhãn phân loại Một lý khác dẫn tới vừa liệu liệu huấn luyện có nhiễu thuật toán cố gắng xây dựng để phân loại ví dụ nhiễu Đối với định, thuật toán ID3 mô tả phát triển nhánh sâu phân loại toàn mẫu, hết thuộc tính Nghiên cứu cho thấ y, việc phát triển phức tạp với nhiều nút nguyên nhân dẫn tới vừa liệu Từ đây, có hai nhóm giải pháp để hạn chế vừa liệu cho thuật toán học định: - Giải pháp dừng việc dựng định sớm, trước đủ phức tạp để phân loại mẫu huấn luyện - Giải pháp xây dựng đầ y đủ, sau thực “tỉa” để có đơn giản hơ n Trong hai nhóm trên, nhóm giải pháp thứ hai sử dụng thành công thực tế vậ y trình bày Chống vừa liệu cách tỉa Trước tiên, để thực tỉa cây, cần có cách xác định độ xác phân loại Do mục đích phân loại mẫu chưa biết trình huấn luyện nên cách tính độ xác thông dụng sử dụng tập huấn luyện tập kiểm tra riêng sau: 91 Học máy - Toàn mẫu chia thành hai tập: tập thứ gọi tập huấn luyện, tập thứ hai gọi tập kiểm tra, thường vớ i tỷ lệ 2:1 - Sử dụng tập huấn luyện để xây dựng cây, sử dụng tập kiểm tra để tính độ xác cây, tức xác định xem kết phân loại phù hợp đến mức với mẫu tập kiểm tra Trong trường hợp liệu, phương pháp hay sử dụng kiểm tra chéo Dữ liệu chia ngẫu nhiên thành n phần Thuật toán sử dụng n-1 phần làm tập huấn luyện phần lại làm tập kiểm tra Độ xác tính độ xác trung bình cho n lần Thủ tục tỉa thực sau Trước tiên sử dụng tập huấn luyện để xây dựng đầy đủ Sau xem xét để tỉa dần nút Khi tỉa nút, toàn nhánh bên nút bị bỏ, nút trở thành nút với nhãn phân loại lấ y theo đa số nhãn ví dụ nút Nút tỉa độ xác sau tỉa không giảm so với trước tỉa Lưu ý độ xác tính tập kiểm tra Quá trình tỉa lặp lại, bước chọn nút để tỉa nút cho phép tăng độ xác phân loại nhiều Thủ tục tỉa nút dừng lại việc bỏ nút làm giảm độ xác Chống vừa cách tỉa luật Thay tỉa nút thuật toán ID3 trên, cải tiến thuật toán ID3 thuật toán C4.5 thực tỉa luật sau: - Xây dựng định cho phép phân loại tối đa tập huấn luyện - Biến đổi thành luật suy diễn cho nhánh từ gốc đến tươ ng ứng luật Ví dụ, luật có dạng “Nếu Trời = nắng Độ ẩm = cao Thì không chơi” - Tỉa luật cách bỏ bớt điều kiện thành phần sau bỏ độ xác tăng lên - Sắp xếp luật tỉa theo độ xác tập kiểm tra Sử dụng luật theo thứ tự để phân loại ví dụ Ví dụ: luật “Nếu Trời = nắng Độ ẩm = cao Thì không chơi” tạo hai luật cách bỏ điều kiện “Trời = nắng” “Độ ẩm = cao” Cần lưu ý rằng, sau tỉa luật, ví dụ trùng với vế trái nhiều hơ n luật (điều không xẩ y với nhánh loại trừ lẫn nhau) Trong trường hợp cần xác định luật sử dụng Đó lý cần xếp luật sử dụng theo thứ tự 5.2.5 Sử dụng thuộc tính có giá trị liên tục Thuật toán trình bày yêu cầu thuộc tính nhận giá trị rời rạc tập hữu hạn Trong nhiều trường hợp, thuộc tính nhận giá trị liên tục dạng số thực Chẳng hạn, nhiệt độ cho dạng số đo thực ví dụ sau (ở nhiệt độ tính độ F): 92 Học máy Nhiệt độ 45 56 60 74 80 90 Chơ i tennis không có có không Để sử dụng thuộc tính vậ y cần tạo thuộc tính rời rạc cho phép phân chia thuộc tính rời rạc thành khoảng giá trị Với thuộc tính liên tục A, cách thường sử dụng tạo thuộc tính rời rạc Ac cho Ac = true A > c Ac = false A ≤ c, c giá trị ngưỡng Vấn đề đặt xác định ngưỡng c Trước hết, c cần chọn cho Ac đem lại độ tăng thông tin lớn Để tìm c vậ y, ta xếp ví dụ theo thứ tự tăng dần thuộc tính A, sau xác định trường hợp hai ví dụ nằm cạnh có nhãn khác Giá trị trung bình thuộc tính A hai thuộc tính vậ y sử dụng làm giá trị dự kiến c, ví dụ (56+60)/2 = 58 (80+90)/2 = 85 Sau tính độ tăng thông tin cho giá trị dự kiến chọn c đem lại độ thăng thông tin lớn nhất, ví dụ độ thăng thông tin Nhiệt_độ58 Nhiệt_độ85 Phương pháp mở rộng cách cha giá trị thuộc tính thành nhiều khoảng với nhiều ngưỡng, thay sử dụng ngườ ng ta vừa thấ y 5.2.6 Sử dụng cách đánh giá thuộc tính khác Cách đánh giá thuộc tính độ tăng thông tin IG cho kết không tốt số trường hợp Cụ thể, việc đánh giá dựa entropy túy dẫn tới việc ưu tiên thuộc tính có nhiều giá trị tạo nhiều tập Trong ví dụ bảng 4.1, sử dụng Ngày thuộc tính, thuộc tính có tới 14 giá trị khác nhau, chia tập huấn luyện thành 14 tập vớ i entropy = có Ngày có IG cao Việc chọn ngày vậ y dẫn tới định khả phân loại ngày Như vậ y, thuộc tính Ngày có IG tốt cần tránh ví có nhiều giá trị Để giải vấn đề này, ta thêm thành phần vào công thức tính IG để phạt thuộc tính nhiều giá trị Thành phần gọi thông tin chia (Split Informatio – SI) tính sau: | Si | |S | log i i =1 | S | |S| C SI ( S , A) = − ∑ Tiêu chuẩn đánh giá thuộc tính (ký hiệu GR – Gain Ratio) tạo thành cách chia IG cho SI: GR = IG (S, A) / SI (S, A) Một vấn đề cần quan tâm sử dụng GR giá trị SI không |Si| = |S| Để xử lý trường hợp cần có quy tắc riêng, chẳng hạn tính GR IG lớ n tới mức 93 Học máy Bên cạnh GR có nhiều độ đo khác nghiên cứu đề xuất sử dụng xây dựng định 5.3 PHÂN LOẠI BAYES ĐƠN GIẢN Phần đề cập tới phân loại Bayes đơn giản (Naïve Bayes), phương pháp phân loại đơn giản có nhiều ứng dụng thực tế phân loại văn bản, lọc thư rác Phân loại Bayes đơn giản trường hợp riêng kỹ thuật học máy Bayes, giả thiết độc lập xác suất sử dụng để đơn giản hóa việc tính xác suất 5.3.1 Phương pháp phân loại Bayes đơn giản Tương tự học định trên, phân loại Bayes đơn giản sử dụng trường hợp ví dụ cho tập thuộc tính cần xác định nhãn phân loại y, y nhận giá trị từ tập nhãn hữu hạn C Trong giai đoạn huấn luyện, liệu huấn luyện cung cấp dạng mẫu Sau huấn luyện xong, phân loại cần dự đoán nhãn cho mẫu x Theo lý thuyết học Bayes, nhãn phân loại xác định cách tính xác suất điều kiện nhãn quan sát thấ y tổ hợp giá trị thuộc tính Thuộc tính chọn, ký hiệu cMAP thuộc tính có xác suất điều kiện cao (MAP viết tắt maximum a posterior), tức là: y = c MAP = arg max P(c j | x1 , x , , x n ) c j ∈C Sử dụng quy tắc Bayes, biểu thức viết lại sau c MAP = arg max c j ∈C P( x1 , x , , x n | c j ) P(c j ) P( x1 , x , , x n ) = arg max P( x1 , x , , x n | c j ) P(c j ) c j ∈C Hai thành phần biểu thức tính từ liệu huấn luyện Giá trị P(cj) tính tần suất quan sát thấ y nhãn cj tập huấn luyện, tức số mẫu có nhãn cj chia cho tổng số mẫu Việc tính P ( x1 , x , , x n | c j ) khó khăn nhiều Vấn đề số tổ hợp giá trị n thuộc tính với nhãn phân loại lớn n lớn Để tính xác suất xác, tổ hợp giá trị thuộc tính phải xuất nhãn phân loại đủ nhiều, số mẫu huấn luyện thường không đủ lớn Để giải vấn đề trên, ta giả sử thuộc tính độc lập xác suất với biết nhãn phân loại cj Trên thực tế, thuộc tính thường không độc lập với vậ y, chẳng hạn đối vớ i ví dụ chơi tennis, trời nắng xác suất nhiệt độ cao lớ n hơ n Chính dựa giả thiết độc lập xác suất đơn giản vậ y nên phươ ng pháp có tên gọi “Bayes đơn giản” Tuy nhiên, ta thấ y sau đây, giả thiết vậ y cho phép tính xác suất điều kiện đơn giản hơ n nhiều thực tế phân loại Bayes có độ xác tốt nhiều ứng dụng 94 Học máy Với giả thiết tính độc lập xác suất có điều kiện, viết: P ( x1 , x , , x n | c j ) = P ( x1 | c j ) P ( x | c j ) P ( x n | c j ) tức xác suất đồng thờ i quan sát thấ y thuộc tính tích xác suất điều kiện tứng thuộc tính riêng lẻ Thay vào biểu thức trên, ta phân loại Bayes đơn giản (có đầu ký hiệu cNB) sau c NB = arg max P (c j )∏ P( xi | c j ) c j ∈C i đó, P ( xi | c j ) tính từ liệu huấn luyện số lần xi xuất với cj chia cho số lần cj xuất Việc tính xác suất đòi hỏi liệu nhiều so với tính P ( x1 , x2 , , xn | c j ) Quá trình học Bayes đơn giản trình tính xác suất P(cj) xác suất điều kiện P ( xi | c j ) cách đếm tập liệu Học Bayes đơn giản không đòi hỏi tìm kiếm không gian phân loại trường hợ p học định Ví dụ Để minh họa cho kỹ thuật học Bayes đơn giản, ta sử dụng lại toán phân chia ngày thành phù hợp hay không phù hợp cho việc chơi tennis theo điều kiện thời tiết sử dụng phần học định với liệu huấn luyện cho bảng 4.1 Giả sử phải xác định nhãn phân loại cho ví dụ sau: < Trời = nắng, Nhiệt độ = trung bình, Độ ẩm = cao, Gió = mạnh > Thay số liệu toán vào công thức Bayes đơn giản, ta có: c NB = arg max P (c j )∏ P( xi | c j ) c j ∈C i = arg max P (Trời=nắng| cj)P (Nh độ=t bình| cj)P (Độ ẩm=cao| cj)P (Gió=mạnh |cj) c j ∈{co , khong} P (cj) Do cj nhận hai giá trị, ta cần tính 10 xác suất Các xác suất P(có) P(không) tính tất suất “có” “không” liệu huấn luyện P(có) = 9/14 = 0,64 P(không) = 5/14 = 0,36 Các xác suất điều kiện tính từ liệu huấn luyện, ví dụ ta có: P (Độ ẩm = cao | có) = 3/9 = 0,33 P (Độ ẩm = cao | không) = 4/5 = 0,8 Thay xác suất thành phần vào công thức Bayes đơn giản, ta được: P(có)P(nắng| có)P(trung bình| có)P(cao| có)P(mạnh| có) = 0.0053 P(không)P(nắng| không)P(trung bình| không)P(cao| không)P(mạnh| không) = 0.0206 95 Học máy Như vậ y, theo phân loại Bayes đơn giản, ví dụ xét phân loại “không” Cần ý rằng, 0.0053 0.0206 xác suất thực nhãn “có” “không” Để tính xác suất, ta cần chuẩn hóa để tổng hai xác suất 1, chẳng hạn xác suất có chơi 0.0053/(0.0053+0.0206) = 0.205 5.3.2 Vấn đề tính xác suất thực tế Phân loại Bayes đơn giản đòi hỏi tính xác suất điều kiện thành phần P ( xi | c j ) Xác suất tính nc / n, nc số lần xi cj xuất đồng thời tập huấn luyện n số lần cj xuất Trong nhiều trường hợp, giá trị nc nhỏ, chí không, ảnh hưở ng tới độ xác tính xác suất điều kiện Nếu nc = 0, xác suất điều kiện cuối không, xác suất thành phần khác có giá trị Để khắc phục vấn đề này, kỹ thuật gọi làm trơn thườ ng sử dụng Trong trường hợp đơn giản nhất, ta tính P ( xi | c j ) = (nc + 1) /( n + 1) Trong trường hợp chung, sử dụng công thức làm trơn sau: P ( xi | c j ) = nc + mp n+m p xác suất tiền nghiệm xi m tham số cho phép xác định ảnh hưở ng p tới công thức Nếu thêm thông tin khác xác suất tiền nghiệm thường tính p = / k, k số thuộc tính thuộc tính Xi Ví dụ, thêm thông tin thêm xác suất quan sát thấ y Gió = mạnh 1/2 thuộc tính Gió có hai giá trị Nếu m = 0, ta công thức không làm trơn ban đầu Ngược lại, m→ ∞, xác suất hậu nghiệm p, nc Trong trường hợp lại, nc / n p đóng góp vào công thức 5.3.3 Ứng dụng phân loại văn tự động Phân loại văn tự động toán có nhiều ứng dụng thực tế Trước tiên, cho tập huấn luyện bao gồm văn Mỗi văn thuộc vào C loại khác (ở ta không xét trường hợp văn thuộc vào nhiều loại khác nhau) Sau huấn luyện xong, thuật toán phân loại nhận văn cần xác định phân loại cho văn Ví dụ, với văn nội dung thư điện tử, thuật toán phân loại thư thành “thư rác” “thư bình thường” Khi huấn luyện, thuật toán học cung cấp tập thư rác tập thư thường Sau đó, dựa nội dung thư nhận, phân loại tự xác định có phải thư rác không Một ứng dụng khác tự động phân chia tin thành thể loại khác nhau, ví dụ “chính trị”, “xã hội”, “thể thao”.v.v báo điện tử Phân loại văn tự động dạng ứng dụng phân loại Bayes đơn giản phương pháp xác suất khác sử dụng thành công Chương trình lọc thư rác mã nguồn mở SpamAssassin (http:// spamassassin.apache.org) chương trình lọc thư rác sử dụng 96 Học máy rộng rãi với nhiều chế lọc khác nhau, lọc Bayes đơn giản chế lọc gán trọng số cao Sau ta xem xét cách sử dụng phân loại Bayes đơn giản cho toán phân loại vă n Để đơn giản, ta xét trường hợp văn nhận hai nhãn: “rác” “không” Để sử dụng phân loại Bayes đơn giản, cần giải hai vấn đề chủ yếu: thứ nhất, biểu diễn văn cho phù hợp; thứ hai: lựa chọn công thức cụ thể cho phân loại Bayes Cách thông dụng đơn giản để biểu diễn văn cách biểu diễn “túi từ” (bag-of-word) Theo cách này, văn biểu diễn tập hợp, phần tử tập hợp tương ứng với từ khác văn Để đơn giản, ta coi từ đơn vị ngôn ngữ ngăn với dấu cách Lưu ý cách đơn giản nhất, ta thêm số lần xuất thực tế từ văn Cách biểu diễn không quan tâm tới vị trí xuất từ văn quan hệ với từ xung quanh, vậ y có tên gọi túi từ Ví dụ, văn có nội dung “Chia thư thành thư rác thư thường” biểu diễn tập từ {“chia”, “thư”, “thành”, “rác”, “và”, “thườ ng”} vớ i sáu phần tử Giả thiết từ biểu diễn cho thư xuất độc lập với biết nhãn phân loại, công thức Bayes đơn giản cho phép ta viết: c NB = arg max P(c j )∏ P( xi | c j ) c j ∈{ rac ,khong } i = arg max P (cj) P(“chia”| cj) P(“thư ”| cj) P(“thành”| cj) c j ∈{ rac , khong} P(“rác”| cj) P(“và”| cj) P(“thường ”| cj) Các xác suất P(“rác”| cj) tính từ tập huấn luyện mô tả Những từ chưa xuất tập huấn luyện bị bỏ qua, không tham gia vào công thức Cần lưu ý cách biểu diễn áp dụng phân loại Bayes đơn giản cho phân loại văn vừa trình bày phươ ng án đơn giản Trên thực tế có nhiều biến thể khác việc chọn từ, biểu diễn văn từ, công thức tính xác suất điều kiện văn Mặc dù đơn giản, nhiều thử nghiệm cho thấ y, phân loại văn tự động Bayes đơn giản có độ xác cao Trên nhiều tập liệu thư điện tử, t ỷ lệ phân loại xác thư rác đạt 98% Kết cho thấ y, giả thiết từ độc lập với không thực tế, độ xác phân loại Bayes đơn giản không bị ảnh hưởng đáng kể 5.4 HỌC DỰA TRÊN VÍ DỤ: THUẬT TOÁN K HÀNG XÓM GẦN NHẤT 5.4.1 Nguyên tắc chung Trong phương pháp học định Bayes đơn giản, thuật toán học dựa liệu huấn luyện để học mô hình tham số cho phân loại Mô hình phân loại sau sử dụng để dự đoán nhãn cho ví dụ Quá trình học thực chất trình xác định dạng tham số hàm đích, hàm xấp xỉ giá trị nhãn phân loại 97 Học máy Phần trình bày kỹ thuật học máy dựa nguyên tắc khác gọi học dựa ví dụ (instance-based learning) Khác vớ i phươ ng pháp học trên, học dựa ví dụ không tạo mô hình hay hàm đích cho liệu, thay vào đó, trình học thuật toán lưu lại tất mẫu huấn luyện cung cấp Khi cần phân loại hay định cho ví dụ mới, thuật toán tìm mẫu huấn luyện tương tự xác định nhãn phân loại hay giá trị ví dụ dựa mẫu Do thuật toán không làm trình học mà lưu lại mẫu huấn luyện, phương pháp học dựa ví dụ gọi học lười (lazy learning) hay học cách nhớ (memory-based learning) Học dựa ví dụ bao gồm số kỹ thuật học khác thuật toán k-hàng xóm gần (k-nearest neighbor), suy diễn theo trường hợp (case-based reasoning) Điểm khác nhứng kỹ thuật cách biểu diễn tính độ tương tự ví dụ Thuật toán k-hàng xóm gần sử dụng cách biểu diễn ví dụ đơn giản dạng vec tơ không gian Ơclit sử dụng khoảng cách Ơclit để tính độ tương tự, suy diễn theo trường hợp dựa việc biểu diễn mẫu (gọi trường hợp) phức tạp dùng k ỹ thuật phức tạp xây dựng riêng để tính độ tương tự cho trường hợp Ưu điểm So với phương pháp học dựa mô hình, học dựa ví dụ có số ưu điểm Thứ nhất, không quy định trước mô hình hay dạng hàm đích, học dựa ví dụ xây dựng hàm đích phức tạp Thứ hai, thay xây dựng hàm đích chung cho toàn liệu, học dựa ví dụ xây dựng hàm đích dựa số mẫu gần với ví dụ cần dự đoán, vậ y tận dụng đặc điểm mang tính cục liệu để mô tả tốt giá trị ví dụ Nhược điểm Nhược điểm thứ học dựa ví dụ tốc độ chậm giai đoạn phân loại Do thuật toán phải so sánh ví dụ với toàn tập mẫu để tìm mẫu tương tự nên thời gian phân loại t ỷ lệ thuận với kích thước tập mẫu Để khắc phục vấn đề tốc độ, cách thông dụng sử dụng kỹ thuật đánh số để tìm kiếm nhanh mẫu tương tự Nhược điểm thứ hai học dựa ví dụ việc tính độ tương tự thực vớ i toàn thuộc tính Nếu thuộc tính không liên quan tới phân loại ví dụ sử dụng gây nhiễu, khiến ví dụ nhãn không tương tự vớ i Vấn đề chọn sử dụng thuộc tính tốt, vậy, có ảnh hưởng định tới độ xác phương pháp 5.4.2 Phương pháp k-hàng xóm gần K-hàng xóm gần (k-nearest neighbors, viết tắt k-NN) phươ ng pháp tiêu biểu học dựa ví dụ Nguyên tắc phươ ng pháp đặc điểm mẫu định dựa đặc điểm k mẫu giống mẫu xét Ví dụ, muốn xác định nhãn phân loại, ta tìm k mẫu gần xem mẫu mang nhãn Phương pháp k-NN thườ ng làm việc với liệu thuộc tính cho dạng vec tơ số thực Như vậ y, mẫu tương ứng vớ i điểm không gian Ơ clit Giả sử mẫu x có giá trị thuộc tính < a1(x), a2(x),…, an(x) > Để xác định mẫu giống x, cần có độ 98 Học máy đo khoảng cách mẫu Do mẫu tương ứng với điểm không gian, khoảng cách Ơ clit thường dùng cho mục đích Khoảng cách Ơ clit hai mẫu xi xj tính sau: d (xi, xj) = ∑ln=1 ( a l ( xi ) − al ( x j )) Với khoảng cách d (xi, xj) vừa định nghĩa, phương pháp k-NN cho hai trường hợp: phân loại hồi quy (regression) thực sau Phân loại Mỗi mẫu x nhãn phân loại f(x) với f(x) nhận giá trị tập hữu hạn phân loại C Thuật toán k-NN cho phân loại cho hình 5.5 Giai đoạn học (huấn luyện) Lưu mẫu huấn luyện có dạng vào sở liệu Giai đoạn phân loại Đầu vào: tham số k Với mẫu x cần phân loại: Tính khoảng cách d (x, xi) từ x tới tất mẫu xi sở liệu Tìm k mẫu có d (x, xi) nhỏ nhất, giả sử k mẫu x1, x2, …, xk Xác định nhãn phân loại f’(x) nhãn chiếm đa số tập { x1, x2, …, xk.} Hình 5.5 Thuật toán k-NN cho toán phân loại Hồi quy (regression) Mỗi mẫu x nhãn phân loại f(x) với f(x) số thực Thuật toán k-NN thay đổi dễ dàng cho toán hồi quy cách thay bước đánh số thuật toán hình 4.3 sau: k f ' ( x) = ∑ i =1 f ( xi ) k Thuật toán k-NN có tham số đầu vào k: số hàng xóm dùng để định nhãn cho mẫu xét Nếu k = 1, giá trị hàm f ’(x) chọn giá trị hàm f mẫu gần Thông thườ ng k = không cho kết tốt hàng xóm gần có ảnh hưởng định tới giá trị f ’(x) Trong trườ ng hợp hàng xóm gần nhiễu khiến kết bị sai Nhiều nghiên cứu cho thấ y giá trị k khoảng từ đến 10 phù hợp Để xác định giá trị cụ thể k sử dụng phương pháp kiểm tra chéo trình bày phần tỉa Giá trị k cho độ xác kiểm tra chéo tốt lựa chọn cho thuật toán 5.4.3 Một số lưu ý với thuật toán k-NN a) Các độ đo khoảng cách độ tương tự 99 Học máy Khoảng cách Ơ clit độ đo thông dụng để tính khoảng cách ví dụ Bên cạnh sử dụng độ đo khác - Khoảng cách Mahalanobis Khoảng cách Mahalanobis cho phép tính độ tương quan thuộc tính sử dụng trường hợp thuộc tính biểu diễn theo thang khác nhau, chẳng hạn hai thuộc tính chiều cao cân nặng Trong trường hợp đó, khoảng cách Mahalanobis cho phép chuẩn hóa khoảng cách, cân đóng góp hai thuộc tính - Khoảng cách Hamming Khoảng cách Ơ clit sử dụng thuộc tính nhận giá trị rời rạc Trong trường hợp sử dụng khoảng cách Hamming, tính số thuộc tính có giá trị khác b) Sử dụng trọng số cho hàng xóm Theo thuật toán k-NN trình bày cho toán hồi quy, hàng xóm có đóng góp vào giá trị ví dụ Tuy nhiên, hợp lý cho phép hàng xóm gần có ảnh hưởng nhiều tới giá trị dự đoán Có thể thực điều cách nhân giá trị hàng xóm với trọng số, trọng số lớ n hàng xóm gần ví dụ cần dự đoán Ví dụ, trọng số tính nghịch đảo bình phương khoảng cách tới ví dụ cần dự đoán, tức là: wi = d ( x, xi ) Thêm trọng số vào công thức hồi quy, giá trị hàm f ‘(x) ví dụ x tính sau: k f ' ( x) = ∑ wi i =1 f ( xi ) k ∑ wi i =1 Trong trường hợp này, mẫu số tổng trọng số cho phép chuẩn hóa độ đóng góp hàng xóm Với việc sử dụng trọng số, không cần giớ i hạn số lượng hàng xóm ví dụ xa có ảnh hưởng nhỏ tới giá trị hàm đích ví dụ Tuy nhiên, việc không giới hạn số lượng hàng xóm đòi hỏi tính toán nhiều vậ y tốc độ thuật toán bị ảnh hưở ng c) Ảnh hưởng thuộc tính tới thuật toán Để tính khoảng cách, k-NN sử dụng toàn thuộc tính ví dụ, thuộc tính có liên quan tới nhãn phân loại ví dụ hay không Đây điểm khác với phương pháp học định, thuộc tính liên quan chọn nút, hay phương pháp Bayes đơn giản, thuộc tính liên quan có xác suất điều kiện cao Nếu liệu bao gồm thuộc tính không liên quan tới nhãn phân loại, thuộc tính ảnh hưởng tới khoảng cách Ví dụ, giả sử liệu có 100 thuộc tính, có thuộc tính có ảnh hưở ng tới nhãn phân loại Khi ví dụ có hai thuộc tính giống nằm xa không gian 100 chiều Ảnh hưởng số lượng thuộc tính lớn không liên quan làm giảm đáng kể độ xác k-NN Để giải vấn đề sử dụng hai phương pháp: 100 Học máy - Đánh trọng số cho thuộc tính cho thuộc tính liên quan có trọng số nhỏ ngược lại - Lựa chọn thuộc tính (hay gọi trích chọn đặc trưng): thuộc tính liên quan giữ lại, thuộc tính không liên quan bị bỏ Đây trường hợp riêng phương pháp đánh trọng số cho thuộc tính, thuộc tính bị loại có trọng số không Có nhiều nghiên cứu đề cập tới việc lựa chọn đánh trọng số cho thuộc tính Do giớ i hạn môn học, nội dung không đề cập tới 5.5 SƠ LƯỢC VỀ MỘT SỐ PHƯƠNG PHÁP HỌC MÁY KHÁC Ngoài ba phương pháp học máy dùng cho phân loại trình bày trên, nhiều phương pháp học máy khác phát triển sử dụng nhiều ứng dụng khác Sau giới thiệu sơ lược số phương pháp ứng dụng nhiều độ xác tốt Mạng nơ ron nhân tạo Mạng nơ ron nhân tạo dựa nguyên lý hệ thống thần kinh (nơ ron) người động vật bậc cao, sử dụng nhiều nút nối với thành mạng lướ i Tín hiệu truyền từ nút sang nút tùy thuộc mức tín hiệu chế xử lý nút Trên hình sau ví dụ tổ chức mạng nơ ron số nút nhận tín hiệu từ vào, số nút trả tín hiệu ngoài, nút truyền tín hiệu tới nút khác Tại nút có hàm cho phép trả kết theo tín hiệu đầu vào Nhờ việc sử dụng nhiều nút vớ i hàm xử lý riêng nút, mạng nơ ron cho phép xây dựng hàm đích phức tạp để ánh xạ từ tín hiệu đầu vào thành kết đầu Quá trình học mạng nơ ron trình hiệu chỉnh tham số hàm xử lý nút cho ánh xạ đầu vào sang đầu phù hợp với liệu huấn luyện Mạng nơ ron nhân tạo phươ ng pháp học máy phát triển từ sớm, dùng cho phân loại hồi quy với độ xác cao, sử dụng nhiều ứng dụng khác Support vector machines (SVM) 101 Học máy Support vector machines (SVM) (một số tài liệu dịch máy vec tơ tựa) kỹ thuật học máy phát triển nghiên cứu gần (từ năm 1995) SVM xây dựng cho toán phân loại nhị phân, tức ví dụ nhận hai nhãn Các ví dụ phải biểu diễn thuộc tính liên tục, ví dụ tương ứng vớ i vec tơ không gian (tương tự trường hợp k-NN) SVM dựa hai nguyên tắc - SVM tìm cách phân chia ví dụ có nhãn khác siêu phẳng cho khoảng cách từ siêu phẳng tới ví dụ có nhãn khác lớn Nguyên tắc gọi nguyên tắc lề cực đại (max margin) Trong trình huấn luyện, thuật toán SVM xác định siêu phẳng có lề cực đại cách giải toán tối ưu cho hàm mục tiêu bậc - Để giải trường hợp ví dụ phân chia siêu phẳng, phương pháp SVM ánh xạ không gian ban đầu ví dụ sang không gian khác thườ ng có số chiều cao hơn, sau tìm siêu phẳng với lề cực đại không gian Để tăng tính hiệu ánh xạ, kỹ thuật sử dụng kỹ thuật dùng hàm nhân (kernel function) thay cho tích có hướng vec tơ Trong trường hợp phân loại với nhiều nhãn, cách thường dùng kết hợp nhiều SVM nhị phân với SVM có nhiều ưu điểm: - Đây phương pháp có sở lý thuyết tốt dựa lý thuyết khả khái quát hóa phân loại - Có thể làm việc tốt với liệu nhiều chiều (nhiều thuộc tính) - Cho kết xác so với phương pháp khác hầu hết ứng dụng Boosting Khác với phươ ng pháp trình bày trên, boosting dạng meta learning, tức làm việc dựa phương pháp học khác Để giải toán phân loại, boosting kết hợp nhiều phân loại đơn giản với để tạo phân loại có độ xác cao Ví dụ, ta xây dựng phân loại đơn giản cách sử dụng định có nút – nút gốc, gọi gốc định Cây định vậ y có độ xác không cao Thuật toán boosting kết hợp gốc sau: - Mỗi ví dụ huấn luyện gán trọng số, trọng số - Thuật toán lặp lại nhiều vòng Tại vòng, lựa chọn gốc có độ xác tốt Gốc xác gốc có lỗi nhỏ vớ i lỗi tính tổng trọng số ví dụ bị phân loại sai 102 Học máy Những ví dụ bị phân loại sai tăng trọng số ví dụ bị giảm trọng số Nhờ việc thay đổi trọng số vậy, thuật toán ý nhiều hơ n tới ví dụ bị phân loại sai vòng sau - Bộ phân loại cuối tạo tổng định xây dựng vòng lặp Thuật toán boosting có số ưu điểm như: - Độ xác cao - Ít bị ảnh hưở ng tượng vừa liệu - Có thể sử dụng với nhiều phương pháp phân loại đơn giản khác 103 Học máy TÀI LIỆU THAM KHẢO S Russell, P Norvig Artificial intelligence: a modern approach 2nd edition Prentice Hall 2003 Tim M Jones Artificial intelligence a system approach Infinity science press 2008 Đinh Mạnh Tường Trí tuệ nhân tạo Nhà xuất Khoa học kỹ thuật 2002 Nguyễn Thanh Thủ y Trí tuệ nhân tạo Nhà xuất khoa học kỹ thuật 1999 T Mitchell Machine learning McGrawhill 1997 Đỗ Trung Tuấn Trí tuệ nhân tạo Nhà xuất Giáo dục 1998 104

Ngày đăng: 21/09/2016, 23:39

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

Tài liệu liên quan