Domain Adaptation: Theory to Application