






Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Artificial Intelligence. Assignment of Machine Learning with solution. Kernels, SVMs, and Theory. Prof. Andrew Ng - Stanford University
Typology: Exercises
1 / 12
This page cannot be seen from the preview
Don't miss anything!







CS229 Problem Set #2 1
J(θ) =
∑^ m
i=
(θT^ x(i)^ − y(i))^2 ,
we can also add a term that penalizes large weights in θ. In ridge regression, our least squares cost is regularized by adding a term λ‖θ‖^2 , where λ > 0 is a fixed (known) constant (regularization will be discussed at greater length in an upcoming course lecutre). The ridge regression cost function is then
J(θ) =
∑^ m
i=
(θT^ x(i)^ − y(i))^2 +
λ 2
‖θ‖^2.
(a) Use the vector notation described in class to find a closed-form expreesion for the value of θ which minimizes the ridge regression cost function. (b) Suppose that we want to use kernels to implicitly represent our feature vectors in a high-dimensional (possibly infinite dimensional) space. Using a feature mapping φ, the ridge regression cost function becomes
J(θ) =
∑^ m
i=
(θT^ φ(x(i)) − y(i))^2 +
λ 2
‖θ‖^2.
Making a prediction on a new input xnew would now be done by computing θT^ φ(xnew). Show how we can use the “kernel trick” to obtain a closed form for the prediction on the new input without ever explicitly computing φ(xnew). You may assume that the parameter vector θ can be expressed as a linear combination of the input feature vectors; i.e., θ =
∑m i=1 αiφ(x
(i)) for some set of parameters αi. [Hint: You may find the following identity useful: (λI + BA)−^1 B = B(λI + AB)−^1.
If you want, you can try to prove this as well, though this is not required for the problem.]
minw,b,ξ 12 ‖w‖^2 + C 2
∑m i=1 ξ
2 i s.t. y(i)(wT^ x(i)^ + b) ≥ 1 − ξi, i = 1,... , m
CS229 Problem Set #2 2
(a) Notice that we have dropped the ξi ≥ 0 constraint in the ℓ 2 problem. Show that these non-negativity constraints can be removed. That is, show that the optimal value of the objective will be the same whether or not these constraints are present. (b) What is the Lagrangian of the ℓ 2 soft margin SVM optimization problem? (c) Minimize the Lagrangian with respect to w, b, and ξ by taking the following gradients: ∇wL, ∂ ∂bL , and ∇ξ L, and then setting them equal to 0. Here, ξ = [ξ 1 , ξ 2 ,... , ξm]T^. (d) What is the dual of the ℓ 2 soft margin SVM optimization problem?
(a) Recall from class that the decision function learned by the support vector machine can be written as f (x) =
∑^ m
i=
αiy(i)K(x(i), x) + b.
Assume that the training data {(x(1), y(1)),... , (x(m), y(m))} consists of points which are separated by at least a distance of ǫ; that is, ||x(j)^ − x(i)|| ≥ ǫ for any i 6 = j. Find values for the set of parameters {α 1 ,... , αm, b} and Gaussian kernel width τ such that x(i)^ is correctly classified, for all i = 1,... , m. [Hint: Let αi = 1 for all i and b = 0. Now notice that for y ∈ {− 1 , +1} the prediction on x(i)^ will be correct if |f (x(i)) − y(i)| < 1, so find a value of τ that satisfies this inequality for all i.] (b) Suppose we run a SVM with slack variables using the parameter τ you found in part (a). Will the resulting classifier necessarily obtain zero training error? Why or why not? A short explanation (without proof) will suffice. (c) Suppose we run the SMO algorithm to train an SVM with slack variables, under the conditions stated above, using the value of τ you picked in the previous part, and using some arbitrary value of C (which you do not know beforehand). Will this necessarily result in a classifier that achieve zero training error? Why or why not? Again, a short explanation is sufficient.
CS229 Problem Set #2 4
(b) Rewrite the above bound as a sample complexity bound, i.e., in the form: for fixed δ and γ, for ε(ˆh) ≤ γ to hold with probability at least (1 − δ), it suffices that m ≥ f (k, γ, δ) (i.e., f (·) is some function of k, γ, and δ).
J(θ) =
∑^ m
i=
(θT^ x(i)^ − y(i))^2 ,
we can also add a term that penalizes large weights in θ. In ridge regression, our least squares cost is regularized by adding a term λ‖θ‖^2 , where λ > 0 is a fixed (known) constant (regularization will be discussed at greater length in an upcoming course lecutre). The ridge regression cost function is then
J(θ) =
∑^ m
i=
(θT^ x(i)^ − y(i))^2 + λ 2
‖θ‖^2.
(a) Use the vector notation described in class to find a closed-form expreesion for the value of θ which minimizes the ridge regression cost function. Answer: Using the design matrix notation, we can rewrite J(θ) as
J(θ) =
(Xθ − ~y)T^ (Xθ − ~y) +
λ 2
θT^ θ.
Then the gradient is ∇θ J(θ) = XT^ Xθ − XT^ ~y + λθ. Setting the gradient to 0 gives us
0 = XT^ Xθ − XT^ ~y + λθ θ = (XT^ X + λI)−^1 XT^ ~y.
(b) Suppose that we want to use kernels to implicitly represent our feature vectors in a high-dimensional (possibly infinite dimensional) space. Using a feature mapping φ, the ridge regression cost function becomes
J(θ) =
∑^ m
i=
(θT^ φ(x(i)) − y(i))^2 +
λ 2
‖θ‖^2.
Making a prediction on a new input xnew would now be done by computing θT^ φ(xnew). Show how we can use the “kernel trick” to obtain a closed form for the prediction on the new input without ever explicitly computing φ(xnew). You may assume that the parameter vector θ can be expressed as a linear combination of the input feature vectors; i.e., θ =
∑m i=1 αiφ(x
(i)) for some set of parameters αi.
(b) What is the Lagrangian of the ℓ 2 soft margin SVM optimization problem?
Answer:
L(w, b, ξ, α) =
wT^ w +
∑^ m
i=
ξ^2 i −
∑^ m
i=
αi[y(i)(wT^ x(i)^ + b) − 1 + ξi],
where αi ≥ 0 for i = 1,... , m. (c) Minimize the Lagrangian with respect to w, b, and ξ by taking the following gradients: ∇wL, ∂ ∂bL , and ∇ξ L, and then setting them equal to 0. Here, ξ = [ξ 1 , ξ 2 ,... , ξm]T^. Answer: Taking the gradient with respect to w, we get
0 = ∇wL = w −
∑^ m
i=
αiy(i)x(i),
which gives us
w =
∑^ m
i=
αiy(i)x(i).
Taking the derivative with respect to b, we get
∂b
∑^ m
i=
αiy(i),
giving us
0 =
∑^ m
i=
αiy(i).
Finally, taking the gradient with respect to ξ, we have
0 = ∇ξ L = Cξ − α,
where α = [α 1 , α 2 ,... , αm]T^. Thus, for each i = 1,... , m, we get
0 = Cξi − αi ⇒ Cξi = αi.
(d) What is the dual of the ℓ 2 soft margin SVM optimization problem?
Answer: The objective function for the dual is
W (α) = min w,b,ξ L(w, b, ξ, α)
∑^ m
i=
∑^ m
j=
(αiy(i)x(i))T^ (αj y(j)x(j)) +
∑^ m
i=
αi ξi
ξ i^2
∑^ m
i=
αi
y(i)
∑^ m
j=
αj y(j)x(j)
T x(i)^ + b
−^ 1 +^ ξi
∑^ m
i=
∑^ m
j=
αiαj y(i)y(j)(x(i))T^ x(j)^ +
∑^ m
i=
αiξi
( (^) m ∑
i=
αiy(i)
b +
∑^ m
i=
αi −
∑^ m
i=
αiξi
∑^ m
i=
αi −
∑^ m
i=
∑^ m
j=
αiαj y(i)y(j)(x(i))T^ x(j)^ −
∑^ m
i=
αiξi
∑^ m
i=
αi −
∑^ m
i=
∑^ m
j=
αiαj y(i)y(j)(x(i))T^ x(j)^ −
∑^ m
i=
α^2 i C
Then the dual formulation of our problem is
maxα
∑m i=1 αi^ −^
1 2
∑m i=
∑m j=1 αiαj^ y
(i)y(j)(x(i))T (^) x(j) (^) − 1 2
∑m i=
α^2 i C s.t. α∑i ≥ 0 , i = 1,... , m m i=1 αiy
(i) (^) = 0
Consider the task of training a support vector machine using the Gaussian kernel K(x, z) = exp(−‖x − z‖^2 /τ 2 ). We will show that as long as there are no two identical points in the training set, we can always find a value for the bandwidth parameter τ such that the SVM achieves zero training error.
(a) Recall from class that the decision function learned by the support vector machine can be written as f (x) =
∑^ m
i=
αiy(i)K(x(i), x) + b.
Assume that the training data {(x(1), y(1)),... , (x(m), y(m))} consists of points which are separated by at least a distance of ǫ; that is, ||x(j)^ − x(i)|| ≥ ǫ for any i 6 = j. Find values for the set of parameters {α 1 ,... , αm, b} and Gaussian kernel width τ such that x(i)^ is correctly classified, for all i = 1,... , m. [Hint: Let αi = 1 for all i and b = 0. Now notice that for y ∈ {− 1 , +1} the prediction on x(i)^ will be correct if |f (x(i)) − y(i)| < 1, so find a value of τ that satisfies this inequality for all i.]
(c) Suppose we run the SMO algorithm to train an SVM with slack variables, under the conditions stated above, using the value of τ you picked in the previous part, and using some arbitrary value of C (which you do not know beforehand). Will this necessarily result in a classifier that achieve zero training error? Why or why not? Again, a short explanation is sufficient. Answer: The resulting classifier will not necessarily obtain zero training error. The C parameter controls the relative weights of the (C
∑m i=1 ξi) and (^ 1 2 ||w||
(^2) ) terms of the SVM training objective. If the C parameter is sufficiently small, then the former component will have relatively little contribution to the objective. In this case, a weight vector which has a very small norm but does not achieve zero training error may achieve a lower objective value than one which achieves zero training error. For example, you can consider the extreme case where C = 0, and the objective is just the norm of w. In this case, w = 0 is the solution to the optimization problem regardless of the choise of τ , this this may not obtain zero training error.
In this question you’ll look into the Naive Bayes and Support Vector Machine algorithms for a spam classification problem. However, instead of implementing the algorithms your- self, you’ll use a freely available machine learning library. There are many such libraries available, with different strengths and weaknesses, but for this problem you’ll use the WEKA machine learning package, available at http://www.cs.waikato.ac.nz/ml/weka/. WEKA implements many standard machine learning algorithms, is written in Java, and has both a GUI and a command line interface. It is not the best library for very large-scale data sets, but it is very nice for playing around with many different algorithms on medium size problems. You can download and install WEKA by following the instructions given on the website above. To use it from the command line, you first need to install a java runtime environ- ment, then add the weka.jar file to your CLASSPATH environment variable. Finally, you can call WEKA using the command: java
The spam classification dataset in the q4/ directory was provided courtesy of Christian Shelton ([email protected]). Each example corresponds to a particular email, and each feature correspondes to a particular word. For privacy reasons we have removed the actual words themselves from the data set, and instead label the features generically as f1, f2, etc. However, the data set is from a real spam classification task, so the results demonstrate the performance of these algorithms on a real-world problem. The q4/ directory actually con- tains several different training files, named spam train 50.arff, spam train 100.arff, etc (the “.arff” format is the default format by WEKA), each containing the corresponding number of training examples. There is also a single test set spam test.arff, which is a hold out set used for evaluating the classifier’s performance.
(a) Run the weka.classifiers.bayes.NaiveBayesMultinomial classifier on the dataset and report the resulting error rates. Evaluate the performance of the classifier using each of the different training files (but each time using the same test file, spam test.arff). Plot the error rate of the classifier versus the number of training examples.
(b) Repeat the previous part, but using the weka.classifiers.functions.SMO classifier, which implements the SMO algorithm to train an SVM. How does the performance of the SVM compare to that of Naive Bayes? Answer: Using the above command line arguments to run the classifier, we obtain the following error rates for the two algorithms:
(^00 200 400 600 800 1000 1200 1400 1600 1800 )
1
2
3
4
5
6
7
8
Num Training Examples
Error (%)
Support Vector Machine Naive Bayes
For small amounts of data, Naive Bayes performs better than the Support Vector Machine. However, as the amount of data grows, the SVM achieves a better error rate.
In class we proved that for any finite set of hypotheses H = {h 1 ,... , hk}, if we pick the hypothesis ˆh that minimizes the training error on a set of m examples, then with probability at least (1 − δ),
ε(ˆh) ≤
min i ε(hi)
2 m
log
2 k δ
where ε(hi) is the generalization error of hypothesis hi. Now consider a special case (often called the realizable case) where we know, a priori, that there is some hypothesis in our class H that achieves zero error on the distribution from which the data is drawn. Then we could obviously just use the above bound with mini ε(hi) = 0; however, we can prove a better bound than this.
(a) Consider a learning algorithm which, after looking at m training examples, chooses some hypothesis ˆh ∈ H that makes zero mistakes on this training data. (By our assumption, there is at least one such hypothesis, possibly more.) Show that with probability 1 − δ ε(ˆh) ≤
m
log
k δ
Notice that since we do not have a square root here, this bound is much tighter. [Hint: Consider the probability that a hypothesis with generalization error greater than γ makes no mistakes on the training data. Instead of the Hoeffding bound, you might also find the following inequality useful: (1 − γ)m^ ≤ e−γm.] Answer: Let h ∈ H be a hypothesis with true error greater than γ. Then
P (“h predicts correctly”) ≤ 1 − γ,