Perceptron là bộ phân lớp tuyến tính học trực tuyến: duyệt từng mẫu và chỉ cập nhật khi phân loại sai. Cho n mẫu (xi,yi) với xi∈Rd, nhãn yi∈{−1,+1}, trọng số khởi tạo w0∈Rd, b0, tốc độ học η và số epoch E.
Lặp E epoch; trong mỗi epoch duyệt các mẫu theo đúng thứ tự đầu vào i=1..n; với mỗi mẫu, nếu
yi(w⋅xi+b)≤0
(phân loại sai hoặc nằm trên biên) thì cập nhật ngay lập tức:
w←w+ηyixi,b←b+ηyi
Mẫu tiếp theo dùng w,b vừa cập nhật. In w và b sau khi chạy xong.
Dòng đầu: hai số nguyên n d, số nguyên E, số thực η. Dòng thứ hai: d+1 số thực — w0 (d thành phần) rồi b0. n dòng tiếp theo: d số thực (đặc trưng) và một số nguyên yi∈{−1,1}.
1 ≤ n ≤ 1000; 1 ≤ d ≤ 10; 1 ≤ E ≤ 100; 0 < η ≤ 1; |x| ≤ 100.
Một dòng gồm d+1 số: các thành phần của w rồi b, mỗi số làm tròn 2 chữ số thập phân ({:.2f}), cách nhau dấu cách. Lưu ý: nếu kết quả bằng 0 hãy in 0.00 (tránh in -0.00, có thể cộng thêm 0.0 trước khi in).
Ví dụ:
Đầu vào:
2 1 1 1
0 0
2 1
-1 -1
Đầu ra:
2.00 1.00
Giải thích:
Đang tải editor...