  This paper introduces intermittent learning - the goal of which is to enable
energy harvested computing platforms capable of executing certain classes of
machine learning tasks effectively and efficiently. We identify unique
challenges to intermittent learning relating to the data and application
semantics of machine learning tasks, and to address these challenges, we devise
1) an algorithm that determines a sequence of actions to achieve the desired
learning objective under tight energy constraints, and 2) propose three
heuristics that help an intermittent learner decide whether to learn or discard
training examples at run-time which increases the energy efficiency of the
system. We implement and evaluate three intermittent learning applications that
learn the 1) air quality, 2) human presence, and 3) vibration using solar, RF,
and kinetic energy harvesters, respectively. We demonstrate that the proposed
framework improves the energy efficiency of a learner by up to 100% and cuts
down the number of learning examples by up to 50% when compared to
state-of-the-art intermittent computing systems that do not implement the
proposed intermittent learning framework.
