$24
5.1 Gradient-based learning
X1 X2 X3
d
... X
Y
Consider the belief network shown above with binary random variable Y ∈ {0, 1} and conditional proba- bility table (CPT):
d !
P (Y = 1|x1, x2, . . . , xd ) = f
X wi xi
i=1
= f (w~ · ~x) .
Here, we assume that the weights wi ∈ < are real-valued parameters to be estimated from data and that
f : < → [0, 1] is a differentiable function that maps its real-valued argument to the unit interval.
}t=1
Consider a data set of i.i.d. examples {(~xt , yt ) T where ~xt = (x1t , x2t , . . . , xdt ) denotes the observed vector of values from the tth example for the network’s inputs. Also, as shorthand, let pt = P (Y = 1|~xt ).
(a) Show that the gradient of the conditional log-likelihood L = Pt log P (yt |~xt ) is given by:
X (y
L
=
∂ T f 0(w~ · ~xt )
t −
pt )xit ,
∂wi
t=1
pt (1 − pt )
where f 0(z) denotes the first derivative of f (z). Intuitively, this result shows that the differences be-
tween observed values yt and predictions pt appear as error signals for learning.
(b) Show that the general result in part (a) reduces to the result in lecture when f (z) = [1 + e−z ]−1 is the sigmoid function.
5.2 Multinomial logistic regression
X1 X2 X3
d
... X
Y
A simple generalization of logistic regression is to predict a discrete (but non-binary) label y ∈ {1, 2, . . . , c} from a real-valued vector ~x ∈ Rd . Here c is the number of classes. For the belief network shown above, consider the following parameterized conditional probability table (CPT):
| e
w~ i ·~x
j=1 e
P (Y = i X~ = ~x) = .
Pc w~ j ·~x
The parameters of this CPT are the weight vectors w~ i which must be learned for each possible label. The denominator normalizes the distribution so that the elements of the CPT sum to one.
t=1
Consider a data set of T examples {(~xt , yt )}T
, which you can assume to be identically, independently
distributed (i.i.d.). As shorthand, let yit ∈ {0, 1} denote the c×T matrix of target assignments with elements
( 1 if yt = i,
yit =
0 otherwise.
Also, let pit ∈ [0, 1] denote the conditional probability that the model classifies the tth example by the ith possible label:
pit =
ew~ i ·~xt
j=1 e
Pc w~ j ·~xt .
The weight vectors can be obtained by maximum likelihood estimation using gradient ascent. Show that the gradient of the conditional log-likelihood L = Pt log P (yt |~xt ) is given by:
∂L
∂w~ i
= X(yit
t
− pit
) ~xt .
Again, this result shows that the differences between observed values yit and predictions pit appear as error signals for learning.
5.3 Convergence of gradient descent
One way to gain intuition for gradient descent is to analyze its behavior in simple settings. For a one- dimensional function f (x) over the real line, gradient descent takes the form:
xn+1 = xn − ηf 0(xn ).
(a) Consider minimizing the function f (x) = α (x − x )2 by gradient descent, where α 0. (In this case,
2 ∗
we know that the minimum occurs at x = x∗; our goal is to analyze the rate of convergence to this
th
minimum.) Derive an expression for the error εn = xn − x∗ at the n
error ε0 and the step size η 0.
iteration in terms of the initial
(b) For what values of the step size η does the update rule converge to the minimum at x∗? What step size leads to the fastest convergence, and how is it related to f 00(xn )?
In practice, the gradient descent learning rule is often modified to dampen oscillations at the end of the learning procedure. A common variant of gradient descent involves adding a so-called momentum term:
~xn+1 = ~xn − η∇f + β (~xn − ~xn−1 ) ,
where β 0. Intuitively, the name arises because the optimization continues of its own momentum (stepping in the same direction as its previous update) even when the gradient vanishes. In one dimension, this learning rule simplifies to:
xn+1 = xn − ηf 0(xn ) + β(xn −xn−1).
(c) Consider minimizing the quadratic function in part (a) by gradient descent with a momentum term.
Again, let εn = xn − x∗ denote the error at the nth iteration. Show that the error in this case satisfies the recursion relation:
εn+1 = (1 − αη + β)εn − βεn−1.
9
9
(d) Suppose that the second derivative f 00(x∗) is given by α = 1, the learning rate by η = 4 , and the momentum parameter by β = 1 . Show that one solution to the recursion in part (c) is given by:
εn = λn ε0,
9
where ε0 is the initial error and λ is a numerical constant to be determined. (Other solutions are also possible, depending on the way that the momentum term is defined at time t = 0; do not concern yourself with this.) How does this rate of convergence compare to that of gradient descent with the same learning rate (η = 4 ) but no momentum parameter (β = 0)?
5.4 Newton’s method
One way to gain intuition for Newton’s method is to analyze its behavior in simple settings. For a twice- differentiable function f (x) over the real line, Newton’s method takes the form:
f 0(xn )
n
xn+1 = xn − f 00(x ) .
2p
(a) Consider the polynomial function f (x) = (x −x∗)
for positive integers p, whose minimum occurs
at x = x∗. Suppose that Newton’s method is used to minimize this function, starting from some initial
th
estimate x0 . Derive an expression for the error εn = |xn−x∗| at the n
error ε0.
iteration in terms of the initial
(b) For the function in part (a), how many iterations of Newton’s method are required to reduce the initial error by a constant factor δ < 1, such that εn ≤ δε0 ? Starting from your previous answer, show that n ≥ (2p−1) log(1/δ) iterations are sufficient. (Hint: use the inequality that log z ≤ z −1 for z 0.)
(c) Consider the function f (x) = x∗ log(x∗/x) − x∗ + x, where x∗ 0. Show that the minimum occurs at x = x∗, and sketch the function in the region |x − x∗| < x∗.
(d) Consider minimizing the function in part (c) by Newton’s method. Derive an expression for the
th
relative error ρn = (xn −x∗)/x∗ at the n
iteration in terms of the initial relative error ρ0. Note the
rapid convergence (which is typical of Newton’s method). For what range of initial values (for x0)
does Newton’s method converge to the correct answer?
5.5 Handwritten digit classification
In this problem, you will use logistic regression to classify images of handwritten digits. From the course web site, download the files train3.txt, test3.txt, train5.txt, and test5.txt. These files contain data for binary images of handwritten digits. Each image is an 8x8 bitmap represented in the files by one line of text. Some of the examples are shown in the following figure.
(a) Training
Perform a logistic regression (using gradient ascent or Newton’s method) on the images in files train3.txt and train5.txt. Indicate clearly the algorithm used, and provide evidence that it has converged (or nearly converged) by plotting or printing out the log-likelihood on several itera- tions of the algorithm, as well as the percent error rate on the images in these files. Also, print out the
64 elements of your solution for the weight vector as an 8x8 matrix.
(b) Testing
Use the model learned in part (a) to label the images in the files test3.txt and test5.txt. Report your percent error rate on these images.
(c) Source code
Turn in a print-out of your source code. Once again, you may program in the language of your choice. You should write your own routines for computing the model’s log-likelihood, gradient, and/or Hessian, as well as for updating its weight vector.