Uploaded by Han Pham

Bao cao Perceptron

advertisement
BÁO CÁO:
THUẬT TOÁN PERCEPTRON (PERCEPTRON LEARNING ALGORITHM)
1. Perceptron algorithm
a/ Bài toán Perceptron
Perceptron là một trong những thuật toán máy học đơn giản nhất và là một phần quan trọng của
lĩnh vực học máy cơ bản, được phát triển bởi Frank Rosenblatt vào những năm 1950 và đã đóng
góp quan trọng vào sự phát triển ban đầu của học máy.
Bài toán Perceptron nhằm giải quyết bài toán phân loại tuyến tính cho các điểm dữ liệu. Trong
trường hợp đơn giản nhất, chúng ta có hai lớp dữ liệu, và mục tiêu là tìm một đường thẳng
(hyperplane) sao cho tất cả các điểm dữ liệu thuộc vào một lớp nằm ở một bên của đường thẳng,
trong khi các điểm thuộc lớp còn lại nằm ở bên kia.
Bài toán Perceptron được phát biểu như sau:
Cho hai class được gán nhãn, tìm một đường phẳng sao cho toàn bộ các điểm thuộc class 1 nằm
về 1 phía, toàn bộ các điểm thuộc class 2 nằm về phía còn lại của đường phẳng đó. Với giả định
rằng tồn tại một đường phẳng như thế.
Nếu tìm được một đường thẳng phân chia hai class, ta gọi hai class này là linearly separable. Các
bài toán phân chia hai class bằng đường phẳng được gọi là linear classifier.
Ảnh 1: Minh họa bài toán Perceptron
b/ Perceptron Algorithm:
Ảnh 2: Phương trình đường boundary khi d = 2
Giả sử tìm được boundary là đường phẳng có phương trình:
Với:
là điểm dữ liệu mở rộng bằng cách thêm phần tử
lên trước vector x
Giả sử các điểm nằm trong nửa mặt phẳng nền xanh mang dấu dương (+), các điểm nằm trong
nửa mặt phẳng nền đỏ mang dấu âm (-). Các dấu này cũng tương đương với nhãn y của mỗi
class. Vậy nếu w là một nghiệm của bài toán Perceptron, với một điểm dữ liệu mới x chưa được
gán nhãn, ta có thể xác định class của nó bằng phép toán đơn giản như sau:
Hay ngắn gọn hơn:
Trong đó, sgn là hàm xác định dấu, với giả sử rằng sgn(0)=1
c/ Xây dựng hàm mất mát:
Hàm mất mát của thuật toán Perceptron được xây dựng dựa trên sự sai lệch giữa dự đoán của mô
hình và nhãn thực tế của dữ liệu. Hàm mất mát này giúp đo lường mức độ sai lệch giữa các điểm
dữ liệu và đường thẳng phân loại.
Với một điểm dữ liệu xi bị misclassified, hàm mất mát trở thành:
Đạo hàm
Quy tắc cập nhật
*Tóm tắt thuật toán PLA
Thuật toán Perceptron (PLA) có mục tiêu tìm một vector trọng số w sao cho hàm mất mát tổng
cộng trên tất cả các điểm dữ liệu đều bằng 0 hoặc là cực tiểu. Giải thuật thực hiện như sau:
1. Khởi tạo w ngẫu nhiên hoặc = 0 (một phần tử gần với 0)
2. Duyệt ngẫu nhiên qua từng điểm dữ liệu xi
o
Nếu xi được phân lớp đúng, tức sgn(wTxi)=yi , chúng ta không cần làm gì.
o
Nếu xi bị misclassifed, cập nhật w theo công thức:w=w+yi xi
2. Kiểm tra xem có bao nhiêu điểm bị misclassifed. Nếu không còn điểm nào, dừng thuật
toán. Nếu còn, quay lại bước 2.
d/ Chứng minh hội tụ:
2. Thảo Luận Ưu Điểm và Nhược Điểm của Thuật Toán Perceptron
21. Ưu Điểm
21.1. Đơn giản và nhanh chóng:
- Thuật toán Perceptron rất đơn giản để triển khai và hiểu.
- Thời gian hội tụ thường nhanh chóng nếu dữ liệu có thể phân tách tuyến tính.
2.1.2. Phù hợp cho bài toán phân loại tuyến tính:
- Perceptron hoạt động tốt cho các bài toán phân loại tuyến tính khi có một đường thẳng hoặc
hyperplane có thể phân chia dữ liệu.
21.3. Hiệu suất tốt cho dữ liệu lớn:
- Perceptron có thể áp dụng cho dữ liệu lớn với khả năng tiết kiệm bộ nhớ và tính toán hiệu quả.
2.2. Nhược Điểm
2.1. Không xử lý được dữ liệu phi tuyến tính:
- Perceptron chỉ hoạt động khi có thể phân tách dữ liệu bằng đường thẳng hoặc hyperplane tuyến
tính. Nó không thể xử lý được các bài toán dữ liệu phi tuyến tính.
2.2.2. Khả năng không hội tụ:
- Nếu dữ liệu không thể phân tách tuyến tính, thuật toán Perceptron có thể không hội tụ và không
chấm dứt.
2.2.3. Nhạy cảm với dữ liệu nhiễu:
- Perceptron có thể bị ảnh hưởng bởi dữ liệu nhiễu và không cho kết quả tốt khi dữ liệu chứa
nhiễu lớn.
Download