Báo cáo đồ án trí tuệ nhân tạo: xây dựng chương trình sử dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm trên không gian

10 764 0
Báo cáo đồ án trí tuệ nhân tạo: xây dựng chương trình sử dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm trên không gian

Đang tải... (xem toàn văn)

Thông tin tài liệu

I /Giới thiệu chung 1/ Giới thiệu về bài toán Bài toán được mô tả là có các tập điểm trên không gian 2 chiều, mỗi điểm mang nhãn 1 hoặc -1, hãy xây dựng chương trình sử dụng dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm nói trên Để giải quyết vấn đề của bài toán này chúng ta có thể dùng nhiều phương pháp khác nhau như hàm tuyến tính (hoặc affine), máy phân lớp sử dụng véctơ hỗ trợ (Support Vector Machines – SVM). Và một trong những cách khá phổ biến là sử dụng mạng các hàm cơ sở dạng bán kính (Radial Basis Functions network – RBF) do mạng hàm cơ sở bán kính có khá nhiều ưu điểm so với các phương pháp khác: 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: 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. 2/ Giới thiệu về 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ố x đến một điểm c (gọi là tâm) cho trước Với 1 số hàm bán kính Hàm Gaussian: Hàm đa thức: Hàm khoảng cách: Mạng hàm cơ sở bán kính (RBF): Giả sử ta có D 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

HỌ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 Học viện kỹ thuật quân sự - khoa CNTT Báo cáo môn trí tuệ nhân tạo Đề tài: xây dựng chương trình sử dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm trên không gian Sinh Viên: Nguyễn Minh Tiến – Tin 5a Giáo viên: Ngô Hữu Phúc I /Giới thiệu chung 1/ Giới thiệu về bài toán Bài toán được mô tả là có các tập điểm trên không gian 2 chiều, mỗi điểm mang nhãn 1 hoặc -1, hãy xây dựng chương trình sử dụng dụng Radial basis functions networks để tìm đường phân lớp 2 tập điểm nói trên Để giải quyết vấn đề của bài toán này chúng ta có thể dùng nhiều phương pháp khác nhau như hàm tuyến tính (hoặc affine), máy phân lớp sử dụng véctơ hỗ trợ (Support Vector Machines – SVM). Và một trong những cách khá phổ biến là sử dụng mạng các hàm cơ sở dạng bán kính (Radial Basis Functions network – RBF) do mạng hàm cơ sở bán kính có khá nhiều ưu điểm so với các phương pháp khác: 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: 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. 2/ Giới thiệu về 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ố x đến một điểm c (gọi là tâm) cho trước Với 1 số hàm bán kính Hàm Gaussian: Hàm đa thức: Hàm khoảng cách: Mạng hàm cơ sở bán kính (RBF): Giả sử ta có D 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 II / Giới thiệu chương trình Chương trình được viết bằng ngôn ngữ VB.Net với các thành phần cơ bản như sau Trong đó: Form 1: form main chính của chương trình Form 2: Sử dụng để test kết quả của ma trận trọng số mới tạo ra Class Matran: Lưu các phương thức của ma trận như nghịch đảo, nhân Class Toado: Các thuộc tính về tọa độ của 1 điểm bào gồm TdoX và TdoY Sau khi khởi động chương trình chúng ta có thể đánh dấu các điểm huấn luyện trên canvas chính sử dụng chuột trái (tạo ra màu đỏ mang giá trị 1) hoặc phải (tạo ra màu xanh mang giá trị -1) Hoặc có thể lấy mặc định 4 điểm XOR Sau khi bấm nút Train, chương trình sẽ tạo ra ma trận trọng số W có thể sử dụng để phân lớp các tập điểm Sau khi đã có ma trận trọng số W, chúng ta có thể sử dụng nút test để kiểm tra 1 điểm bất kỳ sẽ thuộc về phần tập điểm nào III/ Thuật toán Chương trình sẽ sử dụng hàm Với tâm là tất cả các điểm huấn luyện */ Khi khởi chạy chương trình sẽ tạo ra Public mangx(50) As toado Dim mangy(50, 1) As Double Mangx kiểu toado sẽ lưu vị trí của các điểm huấn luyện Mangy kiểu double sẽ lưu giá trị của điểm huấn luyện tương ứng, mảng y này thực chất chỉ cần là mảng 1 chiều kiểu int (do chỉ có giá trị 1 hoặc -1) nhưng để dễ dàng thao tác khi nhân ma trận nên e để là mảng 2 chiều kiểu double */ Khi bắt đầu huấn luyện chương trình Ví dụ chúng ta sử dụng hàm XOR Với khi đó ma trận là Thế W mới tìm được vào hàm F(x) Dim i, j As Integer 'tao ra mang phi voi phi(r) = exp (-r binh) For i = 0 To (sodiem - 1) For j = 0 To (sodiem - 1) mangphi(i, j) = Math.Exp(-(tinhkhoangcach(mangx(i), mangx(j)) * (tinhkhoangcach(mangx(i), mangx(j))))) Next Next nghichdaophi = matran.Inv(mangphi) W = matran.Multiply(nghichdaophi, mangy) TextBox1.Text = "" For i = 0 To sodiem - 1 thapphan = Format$(W(i, 0), "0.000") TextBox1.Text += thapphan + vbCrLf 'vbcrlf la de xuong dong thoi Next Sau bước này chúng ta đã có ma trận trọng số W dạng n hàng 1 cột và được thể hiện ra trong textbox 1 Sau khi đã có ma trận trọng số W chúng ta có thể test lại ma trận mới tạo ra này với 1 số điểm bất kỳ 'tao ra mang phi voi phi(r) = exp (-r binh) For i = 0 To (Form1.sodiem - 1) j = Form1.tinhkhoangcach(test, Form1.mangx(i)) khoangcach(i, 0) = Math.Exp(-(j * j)) Next For i = 0 To Form1.sodiem - 1 chuyenviW(0, i) = Form1.W(i, 0) Next For i = 0 To Form1.sodiem - 1 ketqua += chuyenviW(0, i) * khoangcach(i, 0) Next If ketqua < 0 Then ketqua = -1 MsgBox("điểm test có giá trị -1 (Blue)") Else ketqua = 1 MsgBox("điểm test có giá trị 1 (Red)") End If Sau khi điểm test được nhập vào thông qua form 2, chương trình sẽ tính khoảng cách từ điểm test này đến các tâm của mạng, các giá trị này sẽ được lưu vào 1 ma trận khoangcach có n hàng 1 cột Ma trận W sau khi chuyển vị có 1 hàng n cột nhân với ma trận khoảng cách n hàng 1 cột sẽ tạo ra 1 số thực, số thực này được hardlim để xem sẽ thuộc về phần phân lớp nào IV/ 1 số nhược điểm Do thời gian và khả năng có hạn, chương trình không thể tránh khỏi có 1 số nhược điểm khá lớn như sau: - Chương trình không tính được số tâm tối ưu cho mạng mà sẽ sử dụng hết tất cả các điểm huấn luyện được cho để làm tâm (Nếu tìm số tâm sẽ có tình trạng mảng phi khi tạo ra sẽ không vuông, không nghịch đảo được, khi đó sẽ phải áp dụng phương pháp giả nghịch đảo (pseudo-inverse) hoặc biến đổi gauss khá phức tạp) - Chưa thể áp dụng ma trận trọng số W để vẽ ra 1 đường thẳng hoặc siêu phẳng trên thực tế để đáp ứng được yêu cầu phân lớp - Chương trình còn chưa tối ưu, giao diện còn xấu V/ Tài liệu tham khảo - Giáo trình trí tuệ nhân tạo _ Thầy Ngô Hữu Phúc _ HVKTQS - Trang web Wikipedia - Trang web http://csstudyfun.etintin.com/ - Giáo trình Pattern Recognition with Neural Networks in C++ - 1 số tài liệu khác trên internet . 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 Học viện kỹ thuật quân sự - khoa CNTT Báo cáo môn trí tuệ nhân tạo Đề tài: xây dựng chương. 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. 2/ Giới thiệu về Hàm bán kính (Radial function) Hàm bán kính là hàm chỉ phụ thuộc. 1 số hàm bán kính Hàm Gaussian: Hàm đa thức: Hàm khoảng cách: Mạng hàm cơ sở bán kính (RBF): Giả sử ta có D 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

Ngày đăng: 25/03/2014, 22:19

Từ khóa liên quan

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

Tài liệu liên quan