I'm trying to find an algorithm that uses the multiplicative weights algorithm to obtain a set of $O(\log n)$ classifiers that classify a set $X=\{x_1, x_2, ...,x_n\}$ where the set of labels is $l \in\{0,1\}.$
The original question goes as follows:
Suppose we have a set $X=\{x_1,...,x_n\}$, each with a label $l_i\in \{0,1\}$, an hypothesis class $H$ and a learning algorithm $A$ that for every distribution $D$ on $X$ outputs a classifier $h\in H$, such that $P_{i\sim D}[h(x_i)=l_i]\geq 0.51$. Show an algorithm that produces a set of $T= O(\log n)$ classifiers $h^{(1)},h^{(2)},...,h^{(T)}$, such that the majority vote among these $T$ classifiers yields the correct label for all $1 ≤ i ≤ n$.
My idea was to use multiplicative weights where each example $x_1,...,x_n$ is an expert and the initial weight for each one is $w_i^{(1)}=1$, and $p_i^{(1)}=\frac{1}{\Phi^{(1)}}=\frac{1}{n}$, where $\Phi^{(t)} = \sum_{i=1}^n w_{i}^{(t)}$. In each iteration of the algorithm we run the learning algorithm $A$ and use the output $h$ to determine $\sum_{i=1}^n {p_i^{(t)}h(x_i)}$ and act accordingly just like in the classic multiplicative weights algorithm. We update the distribution of our experts $p_{i}^{(t+1)}=\frac{w_i^{(t+1)}}{\Phi^{(t+1)}}$ and their weight: $w_i^{(t+1)} = w_i^{(t)}e^{\epsilon l_i\cdot h(x_i)}$ which means giving more weight to examples the classifier made an error on, and leaving the weights of correctly classified examples unchanged, thus increasing the probability of falsely classified examples to the point where their accumulated mass is at least $0.51\Phi$ and then we feed that new distribution $\bar{p}$ to the algorithm $A$ in the next iteration and the classifier we get will certainly be right on some of them. What I'm still struggling with is how do I know that at some point there's a majority among the classifiers produced so far that classify each example correctly?