zhengqigao / prml-solution-manual Goto Github PK
View Code? Open in Web Editor NEWMy Own Solution Manual of PRML
My Own Solution Manual of PRML
Hi, Zhengqi, as usual, I learnt a lot from your solution, like the one to exercise 4.26 which uses a different approach, simple and elegant compared to taking differentiation and completing a square as hinted. But there are some problems in the exposition, which I will amend as follows.
First, a small suggestion for
Then come the major problem of the solution where Bayesian Formula is applied. After defining two auxiliary random variables
Next, we use multiple integral to write
Since
For the right side of equation (4.152), it should be noted in particular that
In the first part of the solution of problem 4.1, you have showed "they are not linearly separable if their convex hulls intersect," which means (intersection) -> (no linearly separability).
By contrapositive, that is same as (linearly separability) -> (no intersection).
Then in the second part, you have "let’s assume they are linearly separable and try to prove their convex hulls don’t intersect," which is exactly what you did in the first part.
So you're actually missing the part (no intersection) -> (linearly separability).
Hi, Zhengqi. In solution 7.19, the derivative of the first term in the marginal likelihood with respect to alpha seems not zero (although the value is zero at w*), and this term should also be considered.
Hi, this is great work.
I think the variance in Problem 2.2 is incorrect though. Should be 1 - mu^2 instead of (1 - mu)^2.
Thank you for sharing your solutions! I think there's a minor issue in your solution to Exercise 10.26.
Shouldn't the result for
The last line of p(t|X, T) is inconsistent with (2.160), for the parameter in Gamma distribution of (2.160) should be exactly the same.
Therefore the right solution for lambda should be an/bn/(1+phi'Snphi)
for Gam function
h(x) function should only depend on x but in the solution it also depends on eta1.
Alternative solution,
taking x^eta1 as exp(eta1*ln(x)) we get
eta = same
h(x) = x^-1
g(eta) = same
u(x) = [ln(x) -1]
The final equation is missing a log:
a_k = \sum \sum \phi_ml \log(\mu_kl) + \log ( p( C_k))
In page 4 the second line, the integrand should be
my solution to 1.20 is also the same as yours. I believe the author made a mistake in expanding the taylor series. Plus I think he should use o() notation instead of O() for the taylor
The first term in the solution will not simply so easily, because we are doing summation(xn-mu(N))^2 and not summation(xn-mu(N-1))^2. Using sequential expansion for mu(N) = mu(N-1) + (xn - mu(N-1))/N I'm getting the first term as (N-1)^3/N^3 * sigma^2(N-1). Can you please verify this?
Hey,
I was kinda confused reading your solution, so I referenced Bishops solutions,
turns out it was the normalization constant which threw me off:
Where you put the Z_p into the denominator, which is in the numerator of
the fraction for Bishop's typical notation
In Bishops Solution, it then follows
I just wanted to leave this here for future reference.
Awesome collection of solutions by the way, thanks a lot!
I think the equation at the bottom should be:
Alternatively, it also can be derived as:
which coincide with the errata:
Hi! This is more of a question (albeit perhaps a stupid one), but I do not understand how the derivative of y(x_n,w) in exercise 1.1 is simply (x_n)^i. I see that if we take the derivative with respect to the weights {w} of y(x_n,w), it is \sum_{j=1}^{M} (x_n)^j ? How does that turn into (x_n)^i? If you could elaborate on that step, It would be much appreciated!
Thank you!
I believe that in the denominator of the final expression of the gradient the two sumatories simplify to N.
Hi, Zhengqi, I found an issue about Problem 4.6 solution.
At the bottom of page 93, the left side of the equation we need to prove is
For the second term, it is a product of a column vector and a row vector, resulting in a
Note that the middle two terms cannot be merged because they are not equal.
Next let us go from the known result
Since equation (1) contains only
Treating
Likewise, the middle two terms cannot be merged.
Adding (2) and (3) and merging the same terms, we'll get exactly the same expression as (1), except the additional
It seems that the proof of non-singularity is invalid. In fact, matrix ΦTΦ can be singular
quote from the 3.1.2
In practice, a direct solution of the normal equations can lead to numerical difficulties when ΦTΦ is close to singular
Your proof of non-singularity is no-good since you suppose that φ1...φM together are the basis of subspace which is spanned by Φ's columns. However, there is no reason to suppose this: they all can be collinear for instance, then any one of them will represent the basis of the subspace.
There is no need to proof that ΦTΦ is invertible anyway since its inverse is the part of the matrix which is given as an existing object in the task condition; (this implies (ΦTΦ)-1 exists).
I think the mistake in 2.58 is caused by the line under
"If we multiply both sides by -1/g(n), we can obtain"
The left hand side should expand to
−∇∇ln g(η)−E[u(x)]E[u(x)T]
instead of
−∇∇ln g(η)
I've demonstrated this here
Which causes the final solution to match the answer given in the book
Thanks for doing this by the way! Such a great resource
Hello Zhengqi,
first thanks for the publication of the solution manual!
Starting after the paragraph
For E[σ2 ML ], we need to take advantage of (1.56) and what has been given in the problem :
I believe that in the solution to problem 1.12 the\( 1/N \)
went missing in the fifth and sixth line of the equations in the last expression with expecation ofµ^2_{ML}
The seventh line is correct again.
Keep up the great work!
Greetings
Markus
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.