AI

Adaboost Classify

AdaBoost algorithm

Cho tập huấn luyện

$$\mathcal{D}=\{(x_i,y_i)\}_{i=1}^{N}, \qquad y_i \in \{1,2,\ldots,K\}.$$

Bước 1. Khởi tạo trọng số mẫu

$$w_i^{(1)}=\frac{1}{N}, \qquad i=1,\ldots,N.$$

Bước 2. Lặp với $$m = 1,\ldots,M$$

Huấn luyện bộ phân loại yếu $$h_m(x)$$ trên tập huấn luyện với trọng số $$w_i^{(m)}$$.

a: Tính sai số có trọng số

$$\varepsilon_m = \frac{\sum_{i=1}^{N} w_i^{(m)} \, \mathbb{I}\!\left(h_m(x_i)\neq y_i\right)} {\sum_{i=1}^{N} w_i^{(m)}}. $$

b. Tính hệ số của bộ phân loại

$$\alpha_m = \log\frac{1-\varepsilon_m}{\varepsilon_m} + \log(K-1).$$

(c) Cập nhật trọng số mẫu

$$ w_i^{(m+1)} = w_i^{(m)} \exp\!\Big(\alpha_m \, \mathbb{I}\!\left(h_m(x_i)\neq y_i\right) \Big).$$

(d) Chuẩn hoá trọng số

$$w_i^{(m+1)} \leftarrow \frac{w_i^{(m+1)}}{\sum_{j=1}^{N} w_j^{(m+1)}}.$$

Bước 3. Bộ phân loại cuối cùng

$$H(x) = \arg\max_{k\in\{1,\ldots,K\}} \sum_{m=1}^{M} \alpha_m \, \mathbb{I}\!\left(h_m(x)=k\right). $$

Salary Credit Approval
≤50K B No
≤50K G Yes
≤50K G Yes
≤50K N No
>50K B No
>50K G Yes
>50K N Yes