Very partial answer: At least for $alpha > 0.5$, yes.

$text{candidate}$ < (null value), $text{count}$ < 0

For each element $x$ in the array

If $x = text{candidate}$ then
 increment $text{count}$

else

If $text{count} = 0$
 $text{candidate} leftarrow x$, $text{count} leftarrow 1$

else
 decrement $text{count}$


The candidate remaining at the end of the array is the majority element. A potentialfunction argument can show this to be the case (I was taught this in a teaser for an online algorithms class).
This can be extended to $alpha = 0.5$ by first finding two distinct elements of the array, then running the above on the array without one of them, then on the array without the other, then finally checking the frequency of the values you get from those two runs.
But – such a trick will probably not work for lower $alpha$ values.