They are not too complex nor rare, so I suggest that you use some related words to increase your exposition to them in a slightly different way.
More concretely what I usually do for hard word is:
Pick the noun that derived the adjective/adverb, or the other one.
For example, dangerous (gefährliche) <-> danger (gefähr ??)
I rely mostly on the suffix like ‘lich’, because it preserve the original word.
There are other ones like in the case of imagine(d) → imagination, and as your vocabulary expands and you are able to recognize them easier the memorization gets easier.
Pick the antonym or some related words that strongly associated with the original word.
For example, danger → safety, or → accident.
As your vocabulary expands, you will probably be able to easily identify the other word to give the context you need to recall the hard word.
You can also employ some kind of code to denote that it is the antonym , like ‘danger <> safety’, or have a specific relation.
Pick some longer words that are composed by the hard one and a word you already know.
It seems counter-intuitive, but some of them are easier than the root word because each of them restrict the possible meaning of the other one.
It does not have to be a single word, but one that both words usually come together, like ‘finally reached’ or ′ ready for use’.
You can also “cheat” and just pick the words that appeared in the original sentence.
It feels like “over-fitting”, but it is amazing how can you sometimes remember where you read the word for the first time and what it was its context.
I also noticed that most words are already formed by a prefix.
I’m not sure how regular are the words in German when you remove or change their prefixes, but it might also help to get the shorter ones memorized, and then the ones built from them will be easier to learn.
They are not too complex nor rare, so I suggest that you use some related words to increase your exposition to them in a slightly different way. More concretely what I usually do for hard word is:
Pick the noun that derived the adjective/adverb, or the other one.
For example, dangerous (gefährliche) <-> danger (gefähr ??) I rely mostly on the suffix like ‘lich’, because it preserve the original word. There are other ones like in the case of imagine(d) → imagination, and as your vocabulary expands and you are able to recognize them easier the memorization gets easier.
Pick the antonym or some related words that strongly associated with the original word.
For example, danger → safety, or → accident. As your vocabulary expands, you will probably be able to easily identify the other word to give the context you need to recall the hard word. You can also employ some kind of code to denote that it is the antonym , like ‘danger <> safety’, or have a specific relation.
Pick some longer words that are composed by the hard one and a word you already know.
It seems counter-intuitive, but some of them are easier than the root word because each of them restrict the possible meaning of the other one. It does not have to be a single word, but one that both words usually come together, like ‘finally reached’ or ′ ready for use’. You can also “cheat” and just pick the words that appeared in the original sentence. It feels like “over-fitting”, but it is amazing how can you sometimes remember where you read the word for the first time and what it was its context.
I also noticed that most words are already formed by a prefix. I’m not sure how regular are the words in German when you remove or change their prefixes, but it might also help to get the shorter ones memorized, and then the ones built from them will be easier to learn.