Nhập môn trí tuệ nhân tạo

202 767 0
Nhập môn 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

  HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG -TỪ MINH PHƯƠNG GIÁO TRÌNH Nhập mơn trí tuệ nhân tạo Hà nội 2014   LỜI NĨI ĐẦU Trí tuệ nhân tạo lĩnh vực 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 chun 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 tố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 biểu diễn tri thức logic, phương pháp tìm kiếm, kỹ thuật có nhiều ứ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 Trong khn khổ có hạn tài liệu với tính chất giáo trình, 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 đó, người đọc 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 Một số nội dung giải thuật di truyền bỏ qua phần nhập môn dùng để tham khảo tương đối phức tạp so với kỹ thuật khác Chương tóm tắt vấn đề sử dụng, biểu diễn tri thức lập luận, trước sâu trình bày biểu diễn tri thức lập luận sử dụng 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 cịn ứng dụng nhiều, chúng tơi 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 lập luậ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 lập luậ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 lập luận Chương chương nhập môn học máy Trong chương này, người đọc 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 bốn 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ụ hồi quy logistic, với số kỹ thuật đánh giá mơ hình lựa chọn đặc trưng Đây phương pháp đơn giản, dễ giới thiệu, thuận tiện để trình bày với tính chất nhập mơn Đồng thời, phương pháp có tính đại diện học máy, cần thiết cho người nghiên cứu lĩnh vực Do ưu điểm phổ biến Support Vector Machines, phương pháp phân loại giới thiệu, mức tóm tắt, khơng vào chi tiết để phù hợp với trình độ 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, ngồi sử dụng với mục đích tham khảo 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 khơng thể tránh khỏi thiếu sót Ngồ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 12/2014 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 14   1.3.1  Các lĩnh vực nghiên cứu 14   1.3.2  Một số ứng dụng thành tựu 18   1.3.3  Những vấn đề chưa giải 20   CHƯƠNG 2:   GIẢI QUYẾT VẤN ĐỀ BẰNG TÌM KIẾM 22   2.1 GIẢI QUYẾT VẤN ĐỀ VÀ KHOA HỌC TRÍ TUỆ NHÂN TẠO 22   2.2 BÀI TỐN TÌM KIẾM TRONG KHƠNG GIAN TRẠNG THÁI 23   2.2.1  Phát biểu toán tìm kiếm 23   2.2.2  Một số ví dụ 24   2.2.3  Thuật tốn tìm kiếm tổng qt tìm kiếm 27   2.2.4  Các tiêu chuẩn đánh giá thuật tốn tìm kiếm 30   2.3 TÌM KIẾM KHƠNG CĨ THƠNG TIN (TÌM KIẾM MÙ) 31   2.3.1  Tìm kiếm theo chiều rộng 31   2.3.2  Tìm kiếm theo giá thành thống 35   2.3.3  Tìm kiếm theo chiều sâu 36   2.3.4  Tìm kiếm sâu dần 38   2.3.5  Tìm theo hai hướng 42   2.4 TÌM KIẾM CĨ THƠNG TIN 43   2.4.1  Tìm kiếm tham lam 44   2.4.2  Thuật toán A* 46   2.4.3  Các hàm heuristic 48   2.4.4  Thuật toán IDA* (thuật toán A* sâu dần) 50   2.5 TÌM KIẾM CỤC BỘ 52   2.5.1  Thuật toán leo đồi 54   2.5.2  Thuật tốn tơi thép 59   2.5.3  Giải thuật di truyền 61   2.5.4  Một số thuật tốn tìm kiếm cục khác 68   2.6 ỨNG DỤNG MINH HOẠ 69   2.7 CÂU HỎI VÀ BÀI TẬP CHƯƠNG 73   CHƯƠNG 3:   BIỂU DIỄN TRI THỨC VÀ LẬP LUẬN LOGIC 76   3.1 SỰ CẦN THIẾT SỬ DỤNG TRI THỨC TRONG GIẢI QUYẾT VẤN ĐỀ 76   3.2 LOGIC MỆNH ĐỀ 77   3.2.1  Cú pháp 77   3.2.2  Ngữ nghĩa 79   3.3 SUY DIỄN VỚI LOGIC MỆNH ĐỀ 80   3.3.1  Suy diễn logic 80   3.3.2  Suy diễn sử dụng bảng chân lý 81     3.3.3  Sử dụng quy tắc suy diễn 82   3.4 LOGIC VỊ TỪ (LOGIC BẬC 1) 84   3.4.1  Đặc điểm 84   3.4.2  Cú pháp ngữ nghĩa 84   3.5 SUY DIỄN VỚI LOGIC VỊ TỪ 90   3.5.1  Quy tắc suy diễn 90   3.5.2  Suy diễn tiến suy diễn lùi 95   3.5.3  Suy diễn sử dụng phép giải 98   3.5.4  Hệ thống suy diễn tự động: lập trình logic 104   3.6 CÂU HỎI VÀ BÀI TẬP CHƯƠNG 104   CHƯƠNG 4:   LẬP LUẬN XÁC SUẤT 108   4.1 VẤN ĐỀ THÔNG TIN KHÔNG CHẮC CHẮN KHI LẬP LUẬN 108   4.2 NGUYÊN TẮC LẬP LUẬN XÁC SUẤT 109   4.3 MỘT SỐ KHÁI NIỆM VỀ XÁC SUẤT 110   4.3.1  Các tiên đề xác suất 110   4.3.2  Xác suất đồng thời 112   4.3.3  Xác suất điều kiện 114   4.3.4  Tính độc lập xác suất 116   4.3.5  Quy tắc Bayes 117   4.4 MẠNG BAYES 119   4.4.1  Khái niệm mạng Bayes 119   4.4.2  Tính độc lập xác suất mạng Bayes 121   4.4.3  Cách xây dựng mạng Bayes 122   4.4.4  Tính độc lập xác suất tổng quát: khái niệm d-phân cách 125   4.5 SUY DIỄN VỚI MẠNG BAYES 127   4.5.1  Suy diễn dựa xác suất đồng thời 128   4.5.2  Độ phức tạp suy diễn mạng Bayes 129   4.5.3  Suy diễn cho trường hợp riêng đơn giản 130   4.5.4  Suy diễn phương pháp lấy mẫu 131   4.5.5  Phương pháp loại trừ biến 136   4.6 ỨNG DỤNG SUY DIỄN XÁC SUẤT 143   4.7 CÂU HỎI VÀ BÀI TẬP CHƯƠNG 147   CHƯƠNG 5:   HỌC MÁY 150   5.1 KHÁI NIỆM HỌC MÁY 150   5.1.1  Học máy 150   5.1.2  Ứng dụng học máy 151   5.1.3  Các dạng học máy 152   5.1.4  Học có giám sát 153   5.2 HỌC CÂY QUYẾT ĐỊNH 156   5.2.1  Khái niệm định 156   5.2.2  Thuật toán học định 158   5.2.3  Các đặc điểm thuật toán học định 163   5.2.4  Vấn đề vừa liệu 164     5.2.5  Sử dụng thuộc tính có giá trị liên tục 165   5.2.6  Sử dụng cách đánh giá thuộc tính khác 166   5.3 PHÂN LOẠI BAYES ĐƠN GIẢN 166   5.3.1  Phương pháp phân loại Bayes đơn giản 167   5.3.2  Vấn đề tính xác suất thực tế 169   5.3.3  Ứng dụng phân loại văn tự động 170   5.4 HỌC DỰA TRÊN VÍ DỤ: THUẬT TỐN K LÁNG GIỀNG GẦN NHẤT 171   5.4.1  Nguyên tắc chung 171   5.4.2  Phương pháp k-láng giềng gần 172   5.4.3  Một số lưu ý với thuật toán k-NN 174   5.5 HỒI QUY TUYẾN TÍNH VÀ HỒI QUY LOGISTIC 175   5.5.1  Hồi quy tuyến tính 175   5.5.2  Hồi quy logistic 180   5.5.3  Hồi quy logistic cho phân loại đa lớp 183   5.6 SUPPORT VECTOR MACHINES 185   5.6.1  Phân loại tuyến tính với lề cực đại 185   5.6.2  Kỹ thuật hàm nhân SVM tổng quát 189   5.6.3  Sử dụng thực tế 192   5.7 ĐÁNH GIÁ VÀ LỰA CHỌN MƠ HÌNH 193   5.7.1  Các độ đo sử dụng đánh giá 193   5.7.2  Đánh giá mơ hình kiểm tra chéo 194   5.7.3  Lựa chọn đặc trưng 196   5.8 SƠ LƯỢC VỀ MỘT SỐ PHƯƠNG PHÁP HỌC MÁY KHÁC 198   5.9 CÂU HỎI VÀ BÀI TẬP CHƯƠNG 200   TÀI LIỆU THAM KHẢO 202     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 (TTNT) lĩnh vực nghiên cứu khoa học máy tính khoa học tính tố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 máy tính 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 Do người coi động vật có trí tuệ, nên cách tự nhiên lấy người làm thước đo đánh giá mức độ thơng minh máy tính Theo cách định nghĩa này, trí tuệ nhân tạo nhằm tạo hệ thống có hành vi hay hành động tương tự người, đặc biệt hoạt động có liên quan tới trí tuệ Để xác định hành động người, sử dụng phép thử Turing 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, tương tự ta chat hay nhắn tin 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 ngun 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 hồ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ả Mặc dù khơng nhiều người coi mục đích trí tuệ nhân tạo vượt qua phép thử Turing, số hệ thống xây dựng chuyên cho mục đích Gần nhất, vào tháng năm 2014, hệ thống chat tự động có tên Eugene Goostman nhóm nghiên cứu người Nga xây dựng giành giải thi phép thử Turing Sau thực đoạn hội thoại dài phút với hệ thống, 33% giám khảo cho người thực Một số ý kiến cho Eugene Goostman hệ thống máy tính vượt qua phép thử Turing 2) Suy nghĩ người Theo nhóm định nghĩa này, hành động thơng minh đạt dẫn dắt trình suy nghĩ tương tự trình 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 theo số phương pháp như: 1) thực nghiệm hành vi người suy nghĩ giải vấn đề; 2) chụp ảnh sóng não, đo tín hiệu điện từ tín hiệu khác não trình thực công việc khác nhau; 3) sử dụng phương pháp nơ ron sinh học khác kích thích não, giải phẫu não v.v 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 tố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) Đây lính vực khoa học liên ngành, kết hợp mơ hình máy tính với phương pháp thực nghiệm tâm lý Nhiều kết nghiên cứu nhận thức áp dụng mơ hình tính tốn Ví dụ, nhiều nghiên cứu q trình tiếp nhận tín hiệu ảnh nhận dạng đối tượng áp dụng lĩnh vực thị giác máy Hay, gần đây, số nghiên cứu việc thiết kế vi mạch có cấu trúc dựa hệ thần kinh người (neuromorphic chips) cho kết tốt toán học máy xử lý lượng khối lượng liệu lớn 3) Suy nghĩ hợp lý Thực tế cho thấy người bị chi phối tâm lý, cảm xúc Do vậy, lúc người suy nghĩ hành động theo hướng đạt tới kết tốt Từ xuất cách tiếp cận theo hướng xây dựng hệ thống cho phép đạt tới kết tốt mà không cần học Giới thiệu chung theo người Cách tiếp cận gọi suy nghĩ hợp lý hành động hợp lý Trước hết suy nghĩ hợp lý Một cách tiếp cận tiêu biểu suy nghĩ hợp lý xây dựng hệ thống có khả lập luận dựa việc sử dụng hệ thống hình thức logic 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 logic để biểu diễn toán giải suy diễn logic Một số hệ thống logic cho phép biểu diễn loại đối tượng quan hệ đối tượng Sau biểu diễn dạng logic, xây dựng chương trình để giải tốn suy diễn lập luận 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 logic để giải Trên thực tế, tri thức thơng tin tốn thường có yếu tố khơng đầy đủ, khơng xác Ngồi ra, việc suy diễn logic địi hỏi khối lượng tính toán lớn sử dụng thực tế khó để triển khai cho tốn thực 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 luận) hợp lý không Trong số trường hợp, để định hành động nào, cần dựa việc suy luận hợp lý Tuy nhiên, 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 Các hệ thống hành động hợp lý sử dụng hai cách tiếp cận dựa suy diễn dựa phản xạ để đạt kết tốt Hệ thống có khả hành động hợp lý bao gồm suy diễn khơng, dựa cách suy nghĩ giống người khơng, bao gồm kỹ thuật dùng để vượt qua phép thử Turing Do vậy, cách tiếp cận coi tổng quát bao gồm cách tiếp cận khác Hiện có nhiều ý kiến coi hệ thống trí tuệ nhân tạo hệ thống dạng Tóm tắt Các phân tích cho thấy số cách tiếp cận định nghĩa trí tuệ nhân tạo: - Lấy người làm tiêu chuẩn, nghiên cứu tâm lý thần kinh học để mô nhận thức người, dựa xây dựng hệ thống trí tuệ nhân tạo - Lấy kết làm tiêu chuẩn, không thiết phải xây dựng hệ thống mô người - Lấy hành vi hành động làm mục đích, có q trình lập luận để hướng dẫn hành động khơng 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 trí tuệ nhân tạo 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): Giới thiệu chung a Giai đoạn tiền khởi đầu (1943-1955) Mặc dù chưa có khái niệm thức trí tuệ nhân tạo, giai đoạn ghi nhận số kết có liên quan trực tiếp tới nghiên cứu trí tuệ nhân tạo 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 trí tuệ nhân tạo: “artificial intelligence” Đa số người tham gia hội thảo này, bao gồm John McCarthy, Marvin Minsky, Allen Newell, Herbert Simon, sau trở thành chuyên gia tiên phong nghiên cứu trí tuệ nhân tạo Điểm quan trọng hội thảo đưa số đề xuất hình dung trí tuệ nhân tạo Các đề xuất vượt ngồi khn khổ lĩnh vực nghiên cứu hình thành trước lý thuyết điều khiển, vận trù học, lý thuyết định Chính đề xuất đưa trí tuệ nhân tạo thành lĩnh vực khoa học với đối tượng phương pháp nghiên cứu riêng 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 trí tuệ nhân tạo, thể qua số ví dụ sau: - Các chương trình Logic Theorist sau General Problem Solver (GPS) Newell Simon, có khả chứng minh định lý toán học theo cách tương tự tư người Chẳng hạn, lớp tốn mà GPS giải quyết, việc chia toán thành toán thứ tự bước giải tiến hành tương tự với người giải tốn Chương trình Logic Theorist chứng minh 38 số 52 định lý từ sách giáo khoa tốn, có định lý tam giác cân chứng minh theo cách ngắn cách truyền thống - Năm 1952, Arthur Samuel xây dựng số chương trình chơi cờ đam (checkers) Chương trình có khả học đánh thắng đối thủ người chơi cờ đam nghiệp dư Điểm đặc biệt chương trình khả tự học từ kinh nghiệm Nhờ khả học, chương trình thắng người tạo - Năm 1958, John McCarthy đề xuất ngôn ngữ Lisp, sau trở thành hai ngôn ngữ thông dụng trí tuệ nhân tạo - Cũng năm này, Minsky khởi xướng việc giải vấn đề có miền giới hạn hẹp cần tới tri thức giải Các tốn có miền hẹp gọi giới nhỏ (microworld) Chẳng hạn, lĩnh vực hẹp giải tích, chương trình SAINT James Slagle viết năm 1963 giải tốn tích phân mức độ sinh viên năm thứ đại học 10 Học máy Để xác định siêu phẳng với lề cực đại, ta cần tìm w b tương ứng Q trình thực sau Trước hết, yêu cầu hàm phân loại cho phép phân chia tồn ví dụ huấn luyện với khoảng cách an toàn, chẳng hạn phải thoả mãn: wT x i + b ≥ +1 yi = +1 wT x i + b ≤ −1 yi = −1 hay viết gọn lại thành yi (wT x i + b) −1 ≥ với i Điều thực được, chẳng hạn cách nhân w b với hệ số phù hợp Các điểm xi cho wT x i + b = +1 nằm siêu phẳng song song với siêu phẳng phân cách cách gốc toạ độ khoảng |1-b|/||w|| Tương tự, điểm xi cho wT x i + b = −1 nằm siêu phẳng song song với siêu phẳng phân cách cách gốc toạ độ khoảng |-1b|/||w|| Khi đó, m+ = m- = 1/||w||, giá trị lề 2/||w|| Để giá trị lề cực đại, ta cần xác định w cho 2/||w|| lớn nhất, hay ||w||2/2 nhỏ (cực tiểu hoá ||w||2 thuận lợi dễ tính đạo hàm hơn) Như vậy, siêu phẳng có lề cực đại xác định cách tìm w b cho: || w ||2 nhỏ nhất, đồng thời thoả mãn ràng buộc: yi (wT x i + b) −1 ≥ với i Phân loại với lề mềm cho liệu khơng phân chia tuyến tính Trong trường hợp liệu khơng thể phân chia tuyến tính, chẳng hạn số ví dụ nhiễu, hay chí trường hợp phân chia tuyến tính, tìm siêu phẳng với lề rộng chấp nhận phân loại sai số ví dụ Việc chấp nhận số trường hợp sai thể cách thay ràng buộc thành: yi (wT x i + b) ≥ 1− ξ i ξ i ≥ biến phụ, thêm vào phép ví dụ nằm vùng lề ( ≥ ξ i > ) chí bị phân loại sai ( ξ i ≥ ) Tổng biến phụ giới hạn mức độ sai phân loại, tổng lớn chứng tỏ sai nhiều, tất biến phụ tồn liệu không lấn vào vùng lề phân loại Do vậy, ta thêm tổng biến phụ vào hàm mục tiêu thành phần phạt cho trường hợp bị sai Bài toán tìm cực trị trở thành: Tìm w b cho: || w ||2 +C ∑ξ i nhỏ nhất, i đồng thời thoả mãn ràng buộc: yi (wT x i + b) ≥ 1− ξ i , ξ i ≥ , với i Tham số C > thể ưu tiên hai mục tiêu: 1) tìm lề lớn; 2) giảm số lỗi C lớn mục tiêu thứ hai ưu tiên ngược lại Mơ hình phân loại gọi phân loại với lề mềm (soft margin) Bài toán tối ưu gồm yêu cầu cực tiểu hoá mục tiêu ràng buộc Bài tốn giải phương pháp nhân tử Lagrange (chi tiết việc áp dụng phương pháp 188 Học máy khơng trình bầy đây) Sử dụng phương pháp nhân tử Lagrange, ta đưa tốn dạng đối ngẫu sau: Tìm tham số αi cho hàm mục tiêu: n ∑αi − i=1 n n yi y jα iα j x Ti x j ∑ ∑ i=1 j=1 đạt giá trị lớn (cực đại hoá), đồng thời thoả mãn ràng buộc: n ∑yα i i = 0, ≤ αi ≤ C i=1 Sau xác định αi , trọng số w tính sau: n w = ∑ yiα i x i i=1 để tính b, ta chọn giá trị i cho αi > tính b theo công thức sau: n b = yi − wT x i = yi − ∑ y jα j x Tj x i j=1 SVM với vec tơ trọng số w tham số b xác định gọi SVM tuyến tính Cần lưu ý ví dụ có giá trị tham số αi tương ứng Các ví dụ có giá trị αi > nằm ranh giới lề (hoặc bên lề sử dụng lề mềm) Các ví dụ tạo thành vec tơ tựa (support vector) xác định giới hạn lề Đây ví dụ quan trọng liệu huấn luyện, cho phép xác định siêu phẳng phân cách SVM nằm gần siêu phẳng Các ví dụ cịn lại nằm bên ngồi vùng lề bỏ mà khơng ảnh hưởng tới vị trí lề hàm phân loại Nói cách khác, vec tơ tựa chứa tồn thơng tin cần thiết từ liệu huấn luyện để xây dựng hàm phân loại cho SVM Như vậy, hàm phân loại tạo thành từ ví dụ huấn luyện, ví dụ tương ứng với αi > đóng góp vào hàm phân loại (trọng số w tổ hợp ví dụ này), số lượng ví dụ thường khơng lớn Đây đặc điểm giúp SVM có tính khái qt hố khả dự tốn tốt cho liệu 5.6.2 Kỹ thuật hàm nhân SVM tổng qt Bộ phân loại tuyến tính trình bầy cho kết tốt trường hợp liệu phân chi tuyến tính Với liệu khơng phân chia tuyến tính, việc sử dụng hàm phân loại phi tuyến phù hợp cho kết tốt Trong phần này, ta xem xét cách mở rộng SVM tuyến tính cho trường hợp phi tuyến Việc sử dụng hàm phân loại tuyến tính cho trường hợp khơng tuyến tính thực cách ánh xạ không gian liệu ban đầu X sang không gian F hàm ánh xạ phi tuyến φ(x) Thơng thường khơng gian F có số chiều lớn số chiều không gian liệu ban đầu Trong không gian mới, hàm phân loại trở thành: f (x) = wT φ (x) + b Ảnh hưởng việc ánh xạ sang không gian minh hoạ qua số ví dụ sau 189 Học máy Ví dụ Để minh hoạ cho việc ánh xạ sang không gian mới, trước tiên ta xét ví dụ đơn giản hình 5.20 Dữ liệu ban đầu (bên trái) thuộc không gian chiều, tức ví dụ biểu diễn thuộc tính (x) Các chấm đen tương ứng ví dụ dương, chấm trắng ví dụ âm Rõ ràng khơng thể tìm điểm cho phép phân chia ví dụ khác dấu Hình bên phải thể việc ánh xạ sang không gian với chiều (z1, z2) với (z1 = x, z2 = x2) Có thể thấy khơng gian tìm đường thẳng cho phép phân cách ví dụ dương khỏi ví dụ âm Hình 5.20 Ví dụ ánh xạ từ khơng gian chiều sang không gian hai chiều sử dụng ánh xạ (x) ! (z1, z2 ) = (x, x ) Trong khơng gian hai chiều, liệu phân chia tuyến tính Ví dụ Trên hình 5.21 ví dụ khác Từ khơng gian chiều ban đầu (x1, x2), ánh xạ (x1, x2 ) ! (z1, z2 , z3 ) = (x12 , 2x1 x2 , x22 ) ta không gian ba chiều, ví dụ dương (dấu nhân) phân chia tuyến tính khỏi ví dụ âm (chấm trắng) mặt phẳng Vec tơ đặc trưng không gian bao gồm tất tích bậc hai đặc trưng khơng gian gốc Hình 5.21 Ví dụ ánh xạ từ khơng gian hai chiều sang không gian ba chiều Trong không gian mới, ví dụ phân chia tuyến tính mặt phẳng Ánh xạ cách dùng hàm nhân (kernel) Các ví dụ cho thấy, việc ánh xạ sang không gian (nhiều chiều hơn) làm cho 190 Học máy liệu trở thành phân chia tuyến tính Khó khăn chỗ, việc thực ánh xạ địi hỏi tính tốn đặc trưng Số lượng đặc trưng lớn Chẳng hạn, với phép ánh xạ ví dụ trên, số đặc trưng xấp xỉ bình phương số đặc trưng cũ Một số phép ánh xạ khác dẫn tới số đặc trưng lớn nữa, chí vơ Việc tính số lượng đặc trưng nhiều khơng thực tế Để tránh việc tính tốn đặc trưng khơng gian mới, SVM sử dụng hàm nhân (kernel function) Cụ thể, không gian mới, vec tơ trọng số SVM tính n w = ∑ yiα iφ (x i ) i=1 nên hàm phân loại trở thành n f (x) = wT φ (x) + b = ∑ yiα iφ (x i )T φ (x) + b i=1 Hàm mục tiêu cần cực đại hoá trở thành n n n ∑αi − ∑∑ yi y jαiα jφ (xi )T φ (xi ) i=1 i=1 j=1 Do biểu thức chứa φ (x)T φ (x') nên ta tìm hàm K(x, x') = φ (x)T φ (x') , ta sử dụng K(x, x') biểu thức không cần tính cụ thể ánh xạ φ (x) , φ (x') Hàm K(x, x') gọi hàm nhân (kernel function) cách sử dụng hàm nhân gọi kỹ thuật nhân (kernel trick) Ví dụ Quay lại ví dụ với ánh xạ φ (x) = (x12 , 2x1 x2 , x22 ) Dễ dàng chứng minh K(x, x') = φ (x)T φ (x') = (x T x')2 vậy, thay tính φ (x) , ta dùng K(x, x') = (x T x')2 Với kỹ thuật sử dụng hàm nhân, ta SVM tổng quát có dạng: Hàm phân loại: n f (x) = ∑ yiα i K(x i , x) + b i=1 Trong tham số xác định cách giải toán tối ưu sau: Cực đại hoá hàm mục tiêu: n ∑αi − i=1 n n ∑∑ yi y jαiα j K(xi, x j ) i=1 j=1 đồng thời thoả mãn ràng buộc: n ∑yα i i = 0, ≤ αi ≤ C i=1 sau tính b theo cơng thức sau: 191 Học máy n b = yi − wT x i = yi − ∑ y jα j x Tj x i j=1 Một số dạng hàm nhân thơng dụng Với tốn phù hợp với dạng hàm nhân cụ thể Sau số dạng hàm nhân thường sử dụng với SVM: Hàm nhân đa thức: K(x, x') = (x T x'+1)d Trong trường hợp d = 1, hàm nhân gọi hàm tuyến tính (khơng ánh xạ cả) SVM trở thành SVM tuyến tính Trong trường hợp nói chung, d bậc hàm nhân đa thức Hàm nhân Gauss: K(x, x') = exp(−γ || x − x' ||2 ) ||x|| độ dài vec tơ x : || x ||= x T x ; γ tham số thể độ rộng nhân Hàm nhân sigmoid: K(x, x') = tanh(κ x T x + θ ) Trong trường hợp nói chung, khơng có thơng tin tốn nên thử hàm nhân Gauss Đây dạng hàm nhân thông dụng 5.6.3 Sử dụng thực tế Huấn luyện SVM Huấn luyện SVM trình xác định tham số α cách giải toán tối ưu trình bầy Đây tốn tối ưu với hàm mục tiêu bậc hai giải cách phương pháp số Trên thực tế, số phương pháp thiết kế để giải toán tối ưu này, tất dựa việc chia nhỏ toán tối ưu thành tốn Phương pháp thơng dụng Sequential Minimal Optimization (SMO) Phương pháp cố định giá trị α cho phép hai giá trị thay đổi sau tìm giá trị tối ưu hai tham số Quá trình thực với đôi α đạt tới giá trị tối ưu Chi tiết thuật toán huấn luyện SMO khơng trình bầy Phân loại đa lớp 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 Có hai cách kết hợp phân loại nhị phân Cách thứ gọi kết hợp đôi (Pairwise) Cách thứ hai gọi chọi tất (one-vs-all) Chi tiết hai cách hoàn toàn giống phần phân loại đa lớp với hồi quy logistic trình bầy Lựa chọn tham số Tham số cần quan tâm sử dụng SVM dạng hàm nhân tham số C Với dạng hàm nhân lại có tham số riêng bậc d hàm nhân đa thức, độ rộng hàm nhân Gaus hay tham số ngưỡng nhân sigmoid Việc lựa chọn hàm nhân thực biết đặc điểm tốn Trong trường hợp khơng có thơng tin vậy, cần thử nghiệm dạng nhân tham số khác cách sử dụng thủ tục kiểm tra chéo (cross-validation) trình bầy phần 5.7.2 Các ưu điểm SVM SVM có nhiều ưu điểm: a Đâ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 192 Học máy b Có thể làm việc tốt với liệu nhiều chiều (nhiều thuộc tính) c Cho kết xác so với phương pháp khác hầu hết ứng dụng d Hiện có nhiều thư viện phần mềm cho phép sử dụng SVM thuận tiện kết hợp vào chương trình viết hầu hết ngơn ngữ lập trình thơng dụng SVM phương pháp phân loại dùng phổ biến có độ xác cao, nhiều phần mềm thư viện có hỗ trợ 5.7 ĐÁNH GIÁ VÀ LỰA CHỌN MƠ HÌNH 5.7.1.Các độ đo sử dụng đánh giá Để đánh giá hiệu mơ hình, ta cần có tiêu chí hay độ đo Có nhiều độ đo khác sử dụng, tùy vào ứng dụng cụ thể thuật toán phân loại hồi quy trường hợp Phần giới thiệu số độ đo thông dụng Độ đo dùng phân loại Trước tiên, xét trường hợp phân loại hai lớp, ví dụ nhận nhãn dương âm Với trường hợp ví dụ mà mơ hình dự đốn nhãn, có bốn khả xẩy liệt kê bảng sau, nhãn thật nhãn ví dụ nhãn dự đốn mơ hình tính tốn ra: Nhãn dự đốn Nhãn thật Dương Âm Dương tp: dương fn: âm sai p Âm fp: dương sai tn: âm n Tổng số p' Tổng số n' N Theo bảng trên, ví dụ loại dương mơ hình dự đốn dương gọi dương (true positive: tp), dự đốn âm gọi âm sai (false negative: fn) Một ví dụ loại âm mơ hình dự đốn dương gọi dương sai (false positive: fp), dự đốn âm gọi âm (true negative: tn) Sử dụng khái niệm tp, tn, fp, fn trên, định nghĩa số độ đo hiệu phân loại sau (lưu ý: ta sử dụng tp, tn, fp, fn để ký hiệu số ví dụng dương đúng, âm đúng, dương sai, âm sai, N tổng số ví dụ): tỷ lệ lỗi: error = (fp + fn)/N độ xác accuracy: accuracy = (fp + fn)/N = - error tỷ lệ dương đúng: tp-rate = tp/p tỷ lệ dương sai: fp-rate = fp/p độ xác precision: precision = tp/p’ 193 Học máy độ thu hồi: recall = tp/p = tp-rate độ đo F F-measure = (precision + recall)/2 độ nhậy: sensitivity = tp/p = tp-rate độ cụ thể: specificity = tn/n = 1-fp-rate Các độ đo nói có giá trị nằm khoảng [0, 1] Trong độ đo nói trên, độ đo accuracy, recall precision thường sử dụng Độ đo accuracy dùng ta quan tâm tới độ xác nói chung Độ đo precision recall dùng ta quan tâm tới hiệu suất phân loại cho lớp cụ thể Ví dụ, phân loại email thành “thư rác” “thư bình thường”, ta cần quan tâm tới tỷ lệ thư rác phát tức độ đo recall, tỷ lệ thư rác phát số thư rác dự đoán, tức độ đo precision Cần ý rằng, recall tăng precision thường giảm ngược lại Ví dụ, trường hợp lọc thư rác, ta dự đốn tất thư thư rác, recall đạt giá trị cực đại Tuy nhiên, đó, giá trị p’ tăng lên precision giảm Trong trường hợp phân loại nhiều lớp, độ đo recall, precision, sensitivity, specificity cho lớp tính cách coi lớp dương tất lớp cịn lại gộp chung thành lớp âm Độ dùng hồi quy Trong trường hợp hồi quy, hai độ đo thường dùng lỗi trung bình tuyệt đối MAE (Mean absolute error), lỗi trung bình bình phương MSE (Mean squared error) Giả sử ta có N ví dụ huấn luyện với giá trị đầu y1, y2, …, yN Tiếp theo, giả sử với ví dụ này, mơ hình hồi quy đưa dự đốn giá trị đầu f1, f2, …, fN Hai độ đo định nghĩa sau: MAE = MSE = N N N ∑f i − yi i =1 N ∑( f i − yi ) i =1 Độ đo MAE tính giá trị lỗi trường hợp nhau, độ đo MSE nhấn mạnh vào trường hợp có lỗi lớn Cụ thể, chênh lệch có trị tuyệt đối lớn lớn bình phương Trong đó, chênh lệch với trị tuyệt đối nhỏ bình phương giảm so với giá trị ban đầu 5.7.2 Đánh giá mơ hình kiểm tra chéo Khi sử dụng thuật tốn phân loại hồi quy, cơng đoạn quan trọng đánh giá độ xác mơ hình Việc đánh giá mơ hình cần thiết hai lý Thứ nhất, cần biết mơ hình xây dựng huấn luyện có độ xác sao, có đáp ứng u cầu tốn đặt khơng, trước sử dụng mơ hình để giải tốn Thứ hai, thơng thường ta có nhiều mơ hình phân loại hồi quy cần lựa chọn mơ hình tốt số cho tốn cần giải Chẳng hạn, cần lựa chọn định, k-NN, hay hồi quy logistic Hoặc với loại mơ hình, cần lựa chọn tham số cho độ xác cao Ví dụ, 194 Học máy với k-NN, cần chọn giá trị k (số láng giềng) đem lại độ xác cao cho toán liệu Một cách đánh giá mơ hình huấn luyện mơ hình tồn tập liệu huấn luyện, sau thử nghiệm độ xác tập liệu cách dùng mơ hình huấn luyện để dự đốn giá trị đầu cho ví dụ huấn luyện so sánh giá trị dự đoán với giá trị thực đầu cho ví dụ Tuy nhiên, cách đánh giá không hợp lý không nên sử dụng Lý cách đánh giá không cho kết khách quan mơ hình bị q vừa liệu, tức cho độ xác cao liệu huấn luyện lại cho kết xác liệu Thay đánh giá mơ hình liệu dùng huấn luyện mơ hình, cách đánh giá khách quan kiểm tra chéo (cross-validation) Có số biến thể khác thủ tục kiểm tra chéo, trình bầy Kiểm tra chéo với tập kiểm tra tách riêng (hold-out cross validation), hay gọi kiểm tra chéo đơn giản, phương pháp kiểm tra chéo đơn giản thực sau: e Chia tập liệu huấn luyện S ban đầu cách ngẫu nhiên thành hai tập con: tập thứ Shl gọi tập huấn luyện, tập thứ hai (phần lại) Skt gọi tập kiểm tra Thông thường, Shl gồm 70% tập liệu ban đầu Skt gồm 30% cịn lại f Huấn luyện mơ hình cần đánh giá hi tập Shl g Đánh giá độ xác mơ hình hi tập kiểm tra Skt h Chọn mơ hình có độ xác cao tập kiểm tra để sử dụng (nếu mục đích lựa chọn mơ hình) Do mơ hình đánh giá tập liệu kiểm tra Skt , liệu chưa dùng huấn luyện nên độ xác mơ hình trường hợp liệu nói chung ước lượng xác Thơng thường, tập liệu huấn luyện có kích thước 1/4 đến 1/3 tập liệu ban đầu, hay khoảng 30% tập liệu ban đầu Trong trường hợp lựa chọn mơ hình, mơ hình tốt chọn sau huấn luyện lại toàn tập liệu ban đầu Nói chung, việc huấn luyện lại mơ hình tập liệu lớn cho phép tăng độ xác Một nhược điểm phương pháp sử dụng liệu kiểm tra riêng phần dùng để huấn luyện (tập Shl) khoảng 70% tập ban đầu bỏ phí nhiều liệu dùng để kiểm tra Dưới phương pháp kiểm tra chéo khác cho phép sử dụng liệu kiểm tra Kiểm tra chéo k-fold (k-fold cross validation) Đây biến thể tốt so với kiểm tra chéo đơn giản, thực sau: Chia ngẫu nhiên tập liệu ban đầu S thành k tập liệu có kích thước (gần) S1, S2,…, Sk Lặp lại thủ tục sau k lần với i = 1, ,k: i Dùng tập Si làm tập kiểm tra Gộp k-1 tập cịn lại thành tập huấn luyện j Huấn luyện mơ hình cần đánh giá tập huấn luyện 195 Học máy k Đánh giá độ xác mơ hình tập kiểm tra Độ xác mơ hình tính trung bình cộng độ xác k lần kiểm tra bước Chọn mơ hình có độ xác trung bình lớn Ưu điểm kiểm tra chéo k-fold nhiều liệu sử dụng cho huấn luyện Mỗi ví dụ sử dụng để kiểm tra lần, sử dụng tập huấn luyện k - lần Nhược điểm phương pháp cần huấn luyện đánh giá mơ hình k lần, địi hỏi nhiều thời gian Thơng thường, phương pháp sử dụng với k = 10 Giá trị vừa cho kết đánh giá khách quan vừa khơng địi hỏi huấn luyện mơ hình q nhiều Kiểm tra chéo với ví dụ kiểm tra (Leave one out cross validation, hay LOOCV) Đây trường hợp riêng kiểm tra chéo k-fold, giá trị k số ví dụ tập liệu ban đầu Như vậy, lần kiểm tra, ví dụ dành làm ví dụ kiểm tra, tất ví dụ cịn lại dùng để huấn luyện Độ xác sau tính trung bình tồn ví dụ Phương pháp dùng trường hợp liệu ban đầu có kích thước nhỏ cần dành nhiều ví dụ cho tập huấn luyện 5.7.3 Lựa chọn đặc trưng Lựa chọn đặc trưng (feature selection) kỹ thuật quan trọng xây dựng hệ thống học máy Việc lựa chọn đặc trưng hợp lý để biểu diễn ví dụ cho phép tạo mơ hình học máy có độ xác cao Như trình bầy đầu chương, để phân loại hồi quy, ví dụ hay đối tượng cần biểu diễn dạng vec tơ đặc trưng Với toán cụ thể, ta chọn đặc trưng khác Ví dụ, tốn phân loại email thành thư rác thư thường, sử dụng đặc trưng từ chứa thư, địa nơi gửi, dòng tiêu đề, độ dài thư, địa người nhận Trong đó, địa nơi gửi thơng tin quan trọng việc thư rác hay khơng, địa người nhận không liên quan tới phân loại này, không nên sử dụng đặc trưng địa người nhận phân loại thư Tập đặc trưng phù hợp với toán phân loại phải thỏa mãn hai điều kiện sau: l Giá trị đặc trưng có quan hệ với nhãn phân loại việc sử dụng đặc trưng cho thêm thơng tin phân loại ví dụ m Tập đặc trưng không dư thừa Nếu giá trị đặc trưng suy từ giá trị số đặc trưng khác đặc trưng xét bị coi dư thừa không cung cấp thêm thông tin cho mơ hình phân loại Việc bớt thuộc tính dư thừa mặt cho phép giảm thời gian tính tốn, mặt khác cho phép tăng độ xác mơ hình số trường hợp Khi lựa chọn đặc trưng, từ tập đặc trưng ban đầu bao gồm n đặc trưng ta cần lựa chọn m đặc trưng (m

Ngày đăng: 11/12/2016, 07:46

Từ khóa liên quan

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

Tài liệu liên quan