  In the era of the big data, we create and collect lots of data from all
different kinds of sources: the Internet, the sensors, the consumer market, and
so on. Many of the data are coming sequentially, and would like to be processed
and understood quickly. One classic way of analyzing data is based on batch
processing, in which the data is stored and analyzed in an offline fashion.
However, when the volume of the data is too large, it is much more difficult
and time-consuming to do batch processing than sequential processing. What's
more, sequential data is usually changing dynamically, and needs to be
understood on-the-fly in order to capture the changes. Online Convex
Optimization (OCO) is a popular framework that matches the above sequential
data processing requirement. Applications using OCO include online routing,
online auctions, online classification and regression, as well as online
resource allocation. Due to the general applicability of OCO to the sequential
data and the rigorous theoretical guarantee, it has attracted lots of
researchers to develop useful algorithms to fulfill different needs. In this
thesis, we show our contributions to OCO's development by designing algorithms
to adapt to changing environments.
