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

    solution

    Đề bài: [Data Science] Multinomial NB phân loại văn bản

    Multinomial Naive Bayes với làm mịn Laplace. Có KKK lớp, từ điển kích thước VVV. Cho ma trận đếm từ countc,v\text{count}_{c,v}countc,v​ (số lần từ vvv xuất hiện trong dữ liệu huấn luyện của lớp ccc), tiên nghiệm P(c)P(c)P(c), và vector đặc trưng xxx (số lần mỗi từ xuất hiện trong tài liệu cần phân loại).

    Xác suất từ có làm mịn: θc,v=countc,v+α∑v′countc,v′+αV\theta_{c,v} = \dfrac{\text{count}_{c,v} + \alpha}{\sum_{v'}\text{count}_{c,v'} + \alpha V}θc,v​=∑v′​countc,v′​+αVcountc,v​+α​.

    Điểm của lớp ccc: sc=log⁡P(c)+∑vxvlog⁡θc,vs_c = \log P(c) + \sum_v x_v \log \theta_{c,v}sc​=logP(c)+∑v​xv​logθc,v​.

    Dự đoán lớp có điểm lớn nhất; nếu hòa chọn chỉ số lớp nhỏ hơn. In ra chỉ số lớp.

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

      Dòng 1: KKK, VVV, α\alphaα. Tiếp theo KKK dòng, mỗi dòng VVV số đếm của một lớp. Dòng kế: KKK tiên nghiệm P(c)P(c)P(c). Dòng cuối: VVV số (vector xxx).

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

      1≤K≤501 \le K \le 501≤K≤50, 1≤V≤1001 \le V \le 1001≤V≤100, α>0\alpha > 0α>0. Tiên nghiệm dương.

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

      Một số nguyên: chỉ số lớp dự đoán (0-based).

    Ví dụ:

    Đầu vào:

    2 2 1.0
    3 1
    1 3
    0.5 0.5
    2 0
    

    Đầu ra:

    0

    Giải thích:

    Lớp0 theta=(4/6,2/6); lớp1 theta=(2/6,4/6). x=(2,0): s0=log0.5+2*log(4/6); s1=log0.5+2*log(2/6). s0>s1 -> lớp 0.

    Đang tải editor...