From 3b774fb747191490099e7539c0adb9c650672bf4 Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Wed, 3 Jun 2020 21:51:47 +0200 Subject: [PATCH] ex-7: replace Fisher projection plot It was really tricky reproduce in matplotlib but worth it. --- ex-7/plots/fisher.py | 117 ++++++++++++++++++++++++++++++++++++++ notes/images/7-fisher.pdf | Bin 0 -> 19755 bytes notes/images/7-fisher.png | Bin 37120 -> 0 bytes notes/sections/7.md | 2 +- 4 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 ex-7/plots/fisher.py create mode 100644 notes/images/7-fisher.pdf delete mode 100755 notes/images/7-fisher.png diff --git a/ex-7/plots/fisher.py b/ex-7/plots/fisher.py new file mode 100644 index 0000000..528dc25 --- /dev/null +++ b/ex-7/plots/fisher.py @@ -0,0 +1,117 @@ +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.transforms as trans +import io + + +def line(ax, x, y, **args): + '''line between two points x,y''' + ax.plot([x[0], y[0]], [x[1], y[1]], **args) + + +def angle(v): + '''angle of a vector wrt x axis''' + return np.arctan2(v[1], v[0]) + + +def proj_hist(a, b, w): + '''returns a file-like object of the w-projection histogram''' + fig = plt.figure(figsize=(3, 3)) + ax = fig.add_subplot(111) + ax.set_aspect(0.04) + ax.axis('off') + plt.hist(a @ w, color='xkcd:dark yellow', zorder=2) + plt.hist(b @ w, color='xkcd:pale purple', zorder=1) + buf = io.BytesIO() + fig.savefig(buf, transparent=True) + plt.close(fig) + buf.seek(0) + return plt.imread(buf) + + +def place_im(ax, im, transform): + '''place an image into an Axes by applying a transformation''' + im = ax.imshow(im, interpolation='none', + extent=[-2, 4, -3, 2], + zorder=2) + trans_data = transform + ax.transData + im.set_transform(trans_data) + + +def main(): + # rotation by π/2 matrix + rot = np.array([[0, -1], [1, 0]]) + + # covariance + cov = np.array([[0.33, 0.15], [0.15, 0.12]]) + + # means + m1 = np.array([-1.2, 0.5]) + m2 = np.array([0.6, 0]) + + np.random.seed(3) + a = np.random.multivariate_normal(m1, cov, 100) + b = np.random.multivariate_normal(m2, cov, 100) + + # w₁: naive projection onto m1-m2 plane + w1 = (m1 - m2) / np.linalg.norm(m1 - m2) + + # w₂: Fisher projection + w2 = np.linalg.inv(cov) @ (m1 - m2) + w2 /= np.linalg.norm(w2) + + #plt.rcParams['font.size'] = 8 + fig, axes = plt.subplots( + 1, 2, figsize=(6, 9), + subplot_kw=dict(aspect='equal')) + + # naive projection + ax = axes[0] + ax.set_title('naïve projection', loc='right') + ax.set_xlim(-5.0, 3.5) + ax.set_ylim(-3.5, 2.0) + + ax.scatter(*a.T, edgecolor='xkcd:slate grey', c='xkcd:dark yellow') + ax.scatter(*b.T, edgecolor='xkcd:slate grey', c='xkcd:pale purple') + + dir = rot @ w1 + line(ax, m1, m2, c='xkcd:charcoal') + line(ax, (m1 + m2)/2, (m1 + m2)/2 + 2.2*dir, c='xkcd:charcoal') + line(ax, dir*2.1 - 2.0*w1, dir*2.1 + 2.6*w1, c='xkcd:charcoal') + place_im( + ax, + proj_hist(a, b, w1), + trans.Affine2D() + .rotate(angle(w1)) + .translate(*dir*3.113) + .translate(*w1*(-0.7))) + + # fisher projection + ax = axes[1] + ax.set_title('Fisher projection', loc='right') + ax.set_xlim(-5.0, 3.5) + ax.set_ylim(-3.5, 2.0) + + ax.scatter(*a.T, edgecolor='xkcd:slate grey', c='xkcd:dark yellow') + ax.scatter(*b.T, edgecolor='xkcd:slate grey', c='xkcd:pale purple') + + dir = rot @ w2 + line(ax, m1, m2, c='xkcd:charcoal') + line(ax, (m1 + m2)/2, (m1 + m2)/2 + 2.75*dir, c='xkcd:charcoal') + line(ax, dir*2.9 - 1.2*w2, dir*2.9 + 2.3*w2, c='xkcd:charcoal') + place_im( + ax, + proj_hist(a, b, w2), + trans.Affine2D() + .rotate(angle(w2)) + .scale(0.75) + .translate(*dir*3.90) + .translate(*w2*(-0.3))) + + plt.tight_layout() + #plt.savefig('notes/images/7-fisher.pdf', bbox_inches='tight') + plt.show() + + +if __name__ == '__main__': + main() diff --git a/notes/images/7-fisher.pdf b/notes/images/7-fisher.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b30e84df236975d4cb8836e16ef0f118feed20ae GIT binary patch literal 19755 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 literal 0 HcmV?d00001 diff --git a/notes/images/7-fisher.png b/notes/images/7-fisher.png deleted file mode 100755 index 1ed00061a9ad9f990910f2b5a9b0a8ae8df6049c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37120 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�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 diff --git a/notes/sections/7.md b/notes/sections/7.md index 26aed2d..847b0f0 100644 --- a/notes/sections/7.md +++ b/notes/sections/7.md @@ -104,7 +104,7 @@ histograms resulting from the projection onto the line joining the class means: note the considerable overlap in the projected space. The right plot shows the corresponding projection based on the Fisher linear discriminant, showing the greatly improved classes -separation. Figure taken from [@bishop06]](images/7-fisher.png){#fig:overlap} +separation.](images/7-fisher.pdf){#fig:overlap} The overlap of the projections can be reduced by maximising a function that gives, besides a large separation, small variance within each class. The