Báo cáo đề tài môn học Nhập Môn Trí Tuệ Nhân Tạo Đề Tài: Bài toán được mô tả là các điểm trên không gian 2 chiều. Mỗi điểm đã được gán là 0 hoặc 1. Hãy xây dựng chương trình sử dụng Radial basis functions neural networds để tìm đường phân lớp 2 tập điểm nói trên. Giáo viên hướng dẫn: Thầy giáo Ngô Hữu Phúc Họ và tên: Phạm Hùng Thịnh Lớp: Tin học 5A I. Lời nói đầu Động lực thúc đẩy RBF phát triển là: 1. Hàm phân lớp tuyến tính đơn thuần (Perceptron) không thể phân lớp trong một số trường hợp. Ví dụ như hàm XOR: {(0,0), (1,1)} , {(1,0), (0,1)} 2. Khả năng nhớ các mẫu học: nếu đầu vào của hàm phân lớp “gần giống” với một mẫu học đã biết trước đó thì kết quả phân lớp cũng phải “gần giống” kết quả phân lớp đã được học. 3. Ý tưởng phân lớp trên không gian có nhiều chiều hơn: có nhiều ví dụ cho thấy, khi được ánh xạ lên không gian nhiều chiều hơn lúc đầu, bài toán phân lớp trở nên dễ dàng hơn. II. Cơ sở lý thuyết Hàm bán kính (Radial function): Hàm bán kính là hàm chỉ phụ thuộc vào khoảng cách từ đối số đến một điểm (gọi là tâm) cho trước với Một số hàm bán kính: • Hàm Gaussian: . • Hàm đa thức:
Trang 1HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO MÔN HỌC TRÍ TUỆ NHÂN TẠO
Giáo viên hướng dẫn: Ngô Hữu Phúc
HÀ NỘI 3/2010
Trang 2Báo cáo đề tài môn học Nhập Môn Trí Tuệ Nhân Tạo
Đề Tài: Bài toán được mô tả là các điểm trên không gian 2 chiều Mỗi điểm đã được gán là 0 hoặc 1 Hãy xây dựng chương trình sử dụng Radial basis functions neural networds để tìm đường phân lớp 2 tập điểm nói trên
Giáo viên hướng dẫn: Thầy giáo Ngô Hữu Phúc
Họ và tên: Phạm Hùng Thịnh
Lớp: Tin học 5A
Trang 3I Lời nói đầu
Động lực thúc đẩy RBF phát triển là:
1 Hàm phân lớp tuyến tính đơn thuần (Perceptron) không thể phân lớp
trong một số trường hợp Ví dụ như hàm XOR: {(0,0), (1,1)} 1,
{(1,0), (0,1)} 2
2 Khả năng nhớ các mẫu học: nếu đầu vào của hàm phân lớp “gần giống”
với một mẫu học đã biết trước đó thì kết quả phân lớp cũng phải “gần giống” kết quả phân lớp đã được học
3 Ý tưởng phân lớp trên không gian có nhiều chiều hơn: có nhiều ví dụ cho
thấy, khi được ánh xạ lên không gian nhiều chiều hơn lúc đầu, bài toán phân lớp trở nên dễ dàng hơn
II Cơ sở lý thuyết
Hàm bán kính (Radial function): Hàm bán kính là hàm chỉ phụ thuộc vào
khoảng cách từ đối số đến một điểm (gọi là tâm) cho trước
với
Một số hàm bán kính:
Hàm Gaussian : .
Hàm đa thức:
Trang 4 Khoảng cách:
Mạng hàm cơ sở bán kính (RBF): Giả sử ta có tâm , khi đó mạng hàm cơ sở bán kính là tổ hợp tuyến tính của các hàm bán kính tại các tâm này
Nhận xét:
1 Mạng hàm cơ sở bán kính đã tạo ra ánh xạ
2 Kết quả của mạng là
vì vậy, đây là hàm tuyến tính phân lớp dữ liệu trên không gian
3 Mạng RBF còn có thể dùng để xấp xỉ hàm số nếu ta trực tiếp dùng đầu ra
Huấn luyện mạng RBF: Với tập mẫu học ta phải tìm các tham
số của mạng bao gồm: trọng số , tâm của các hàm bán kính
, tham số của các hàm bán kính
Hàm sai số (error function): Để xác định các tham số của mạng, ta phải đưa ra
một tiêu chí đánh giá các tham số này khi áp dụng mạng RBF trên tập mẫu học
Một tiêu chí đánh giá hay dùng là hàm tổng bình phương sai số
Lưu ý: Hàm tổng bình phương sai số hay được sử dụng vì thuận tiện trong tính
toán đạo hàm Gần đây, người ta nhận ra một số nhược điểm của loại hàm sai số này và có xu hướng chuyển sang các hàm sai số khác (mặc dù tính toán phức tạp hơn nhiều) Ví dụ, hàm tổng sai số tuyệt đối
Trang 5hoặc hàm sai số tuyệt đối lớn nhất
Trường hợp cố định: Ta cần giải bài toán tối ưu
Nếu ta đặt và
thì bài toán trên tương đương với
Đây là bài toán tối thiểu bình phương sai số kinh điển Trường hợp có hạng
đầy đủ (full rank), giá trị tối ưu của là
trong đó gọi là ma trận giả nghịch đảo (pseudo-inverse)
Trong thực hành, người ta không dùng ma trận giả nghịch đảo mà sử dụng biến
đổi Gauss để giải (giống như giải hệ phương trình tuyến tính) Một đặc điểm
nữa của theo công thức trên là
nghĩa là là vectơ có độ dài nhỏ nhất trong các véctơ tối thiểu hóa Đặc điểm này có ý nghĩa lớn vì nó làm tăng tính ổn định của hệ thống (không làm quá lớn)
Trường hợp : Nghĩa là tâm của các hàm bán kính chính là các
mẫu học Khi đó, ma trận là ma trận vuông, ta có giá trị tối ưu của trọng số
Trang 6Tất nhiên, trong thực hành, người ta không tính nghịch đảo của mà dùng biến
đổi Gauss để giải phương trình
Trường hợp cũng là tham số cần tìm: Ta cần giải bài toán tối ưu
Do hàm sai số này không còn là hàm lồi, cách giải quyết thường dùng là sử dụng phương pháp xuống đồi theo véctơ đạo hàm Khi đó, người ta lấy đạo hàm của theo các biến rồi chỉnh lại các tham số này Một cách tối
ưu hóa khác là:
1 Cố định , tính theo phương pháp trên
2 Cố định , chỉnh sửa theo phương pháp đạo hàm
3 Lặp bước 1,2
Trong thực hành, người ta thấy việc tìm rất mất thời gian Do đó, các tâm thường được chọn là chính các mẫu học Còn đặt giá trị
sau đó chọn thử một vài giá trị đến khi đạt được kết quả như ý
III Chương trình
Chương trình được xây dựng trên cơ sở lý thuyết vừa được nêu trên với các tâm c chính là mẫu học và chọn 1 2 n 1
Giao diện chươngtrinh
Trang 7Nhấn vào nút Input sẽ hiện ra 1 cửa sổ mới và tìm đến file nhập đầu vào như sau
Trang 8Chọn file và nhấn Open.
Trang 9Nhấn Train để tính ma trận trọng số w, lúc này các điểm đã được phân lớp Muốn kiểm tra điểm x nào mang giá trị 0 hay 1 thì nhâp tọa độ của điểm đó vào
2 textbox điểm cần test và nhấn nút Test chương trình sẽ show giá trị y của điểm cần test
Trang 10IV KẾT LUẬN
Khuôn khổ bản đồ án chỉ dừng lại ở mức độ minh họa thuật toán đối với trường hợp các tâm c trùng với mẫu học và giá trị β cua hàm bán kính là 1 2 n 1 Trong quá trình xây dựng chương trình, không tránh khỏi những sai sót, cũng như thiếu kinh nghiệm trong quá trình xây dựng một hàm đánh giá được coi là tốt Hy vọng sẽ nhận được
sự giúp đỡ của thầy để tiếp tục phát triển bản đồ án và có thể đưa vào ứng dụng trong thực tế
Cuối cùng, em xin cảm ơn thầy Ngô Hữu Phúc đã tận tình giúp đỡ
em trong quá trình xây dựng và hoàn thành bản đồ án này
Em xin cảm ơn thầy!