Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Data Science] Perceptron học qua từng mẫu

    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 nnn mẫu (xi,yi)(x_i, y_i)(xi​,yi​) với xi∈Rdx_i \in \mathbb{R}^dxi​∈Rd, nhãn yi∈{−1,+1}y_i \in \{-1, +1\}yi​∈{−1,+1}, trọng số khởi tạo w0∈Rdw_0 \in \mathbb{R}^dw0​∈Rd, b0b_0b0​, tốc độ học η\etaη và số epoch EEE.

    Lặp EEE epoch; trong mỗi epoch duyệt các mẫu theo đúng thứ tự đầu vào i=1..ni = 1..ni=1..n; với mỗi mẫu, nếu

    yi (w⋅xi+b)≤0y_i\,(w \cdot x_i + b) \le 0yi​(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+η yi xi,b←b+η yiw \leftarrow w + \eta\, y_i\, x_i, \qquad b \leftarrow b + \eta\, y_iw←w+ηyi​xi​,b←b+ηyi​

    Mẫu tiếp theo dùng w,bw, bw,b vừa cập nhật. In www và bbb sau khi chạy xong.

    • Định dạng đầu vào:

      Dòng đầu: hai số nguyên nnn ddd, số nguyên EEE, số thực η\etaη. Dòng thứ hai: d+1d+1d+1 số thực — w0w_0w0​ (ddd thành phần) rồi b0b_0b0​. nnn dòng tiếp theo: ddd số thực (đặc trưng) và một số nguyên yi∈{−1,1}y_i \in \{-1, 1\}yi​∈{−1,1}.

    • Ràng buộc đầu vào:

      1 ≤ n ≤ 1000; 1 ≤ d ≤ 10; 1 ≤ E ≤ 100; 0 < η ≤ 1; |x| ≤ 100.

    • Định dạng đầu ra:

      Một dòng gồm d+1d+1d+1 số: các thành phần của www rồi bbb, 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:

    Mẫu 1 (x=2, y=1): y(w·x+b) = 0 ≤ 0 ⇒ cập nhật w = 0+1·1·2 = 2, b = 1. Mẫu 2 (x=−1, y=−1): y(w·x+b) = −1·(−2+1) = 1 > 0 ⇒ giữ nguyên. Kết quả: 2.00 1.00

    Đang tải editor...