Are the following sentences correct? If both are correct, what is the difference between them?
1.I should have thought you would do that.
2.I might have thought you would do that.
Is might have thought used here with a meaning of self reproach?
Thank you very much in advance.