In this project, I implemented a minimum mean squared error (MMSE) channel estimation of low complexity using techniques from the field of machine learning. The covariance matrices of these channels vectors depend on random parameters. For example, the random parameter in this project is the angles of propagation paths. If the covariance matrix exhibits certain Toeplitz and shift-invariance structures, the complexity of the MMSE channel estimator is in the order of 훩(푀 푙표푔푀) (푀 is the channel dimension or, in this project, the number of antennas at the base station) floating point operations, otherwise 훩(푀3). In this case, an efficient suboptimal estimator with low complexity is obtained by using the MMSE estimator of the structured model as a blueprint for the architecture of a neural network. This network learns the MMSE estimator for the unstructured model, but only within the given class of estimators, that contains the MMSE estimator for the structured model.