this image coms from The deep learning book Figure 2.3
is there a way to draw generate a figure like this from data in R?
this image coms from The deep learning book Figure 2.3
is there a way to draw generate a figure like this from data in R?
You can do something like this:
theta_sim <- seq(from = -pi,
to = pi,
length.out = 1e4)
obs_sim <- rbind(cos(x = theta_sim),
sin(x = theta_sim))
A <- matrix(data = c(-2, 1, -3, 4),
nrow = 2,
ncol = 2)
A_eig <- eigen(x = A)
obs_sim_tr <- A %*% obs_sim
par(mfrow = c(1, 2))
plot(x = obs_sim[1, ],
y = obs_sim[2, ],
type = "p",
main = "Before multiplication",
xlab = expression(x[0]),
ylab = expression(x[1]),
asp = 1,
col = "blue",
pty = "s")
arrows(x0 = 0,
y0 = 0,
x1 = A_eig$vectors[1, ],
y1 = A_eig$vectors[2, ],
length = 0.1)
text(x = A_eig$vectors[1, ],
y = A_eig$vectors[2, ],
labels = c(expression(v ^ (1)), expression(v ^ (2))),
pos = 4)
plot(x = obs_sim_tr[1, ],
y = obs_sim_tr[2, ],
type = "p",
main = "After multiplication",
xlab = expression(x[0] * minute),
ylab = expression(x[1] * minute),
asp = 1,
col = "blue",
pty = "s")
arrows(x0 = 0,
y0 = 0,
x1 = c((A_eig$values * A_eig$vectors[1, ]), A_eig$vectors[1, ]),
y1 = c((A_eig$values * A_eig$vectors[2, ]), A_eig$vectors[2, ]),
length = 0.1)
text(x = c((A_eig$values * A_eig$vectors[1, ]), A_eig$vectors[1, ]),
y = c((A_eig$values * A_eig$vectors[2, ]), A_eig$vectors[2, ]),
labels = c(expression(paste(lambda[1], "v" ^ (1))), expression(paste(lambda[2], "v" ^ (2))), expression(v ^ (1)), expression(v ^ (2))),
pos = 4)
Created on 2019-06-27 by the reprex package (v0.3.0)
Undoubtedly, this graph can be made much better with more customisation, and for sure there'll some ggplot
way to do it. You can do those, share with us.
Note that, for the particular matrix A
that I've chosen, your previous thread regarding signs of eigenvectors is very evident. The direction remains the same, but the quadrant changes.
Thanks for your great work! Does "previous thread" mean the description in Figure 2.3 in the book?
does "sim" stand for simulator?
When I said previous thread
, I meant this thread:
I mentally read theta_sim
as simulated values of theta
. It's just a name I used, no significance at all.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.