Electroencephalography (EEG) is one of very few inexpensive and non-invasive tools for studying brain activity. It is widely used in both clinical and research settings as well as being used for brain computer interfacing applications. Artifacts either intrinsic or extrinsic in EEG data present a significant problem for the use and interpretation of EEG data. In this thesis, we present a method of artifact removal based on the K-SVD method of dictionary learning with dynamic optimization of the primary K-SVD parameter, the sparsity target based on prior knowledge of EEG signal characteristics. This is based on a novel, but simple metric called the Uncorrelatedness Indicator (UI). Using this approach, we present several different implementations of K-SVD based artifact removal. Conducted directly on EEG channels, on wavelet coefficients of EEG channels and on Independent Components Identified as having a high probability of containing artifacts. We then present the results of these artifact removal implementations in comparison with two previous methods on a dataset captured for the study of language cognition which includes several types of artifacts. Finally, we present a novel adaptation of multi-scale dictionary learning for removal of EMG artifacts.