We don't know your english level; still here is what I have found to be the best way to learn words, it's Etymology. Yes, when you learn words through their etymology you won't forget their meaning. For instance, 'psyche' means 'mental' and 'gene' means 'birth', 'beginning', and 'origin' knowing this you can figure out what "psychogenic" means. Of course, "psychogenic" means something of mental origin. Now if you know that 'pathos' means 'disease' you can figure out what "pathogenic" means. Again, of course "pathogenic" means something that gives birth to disease. Can you tell me what "psychopathic" would mean?