Exploration and extension of the similarity matching framework: feature learning, nonlinear methods and transformation learning