Summary of tutorial on Max Margin Methods for NLP The tutorial titled "Max-Margin Methods for NLP: Estimation, Structure, and Applications" was presented by Dan Klein and Ben Taskar from UC Berkeley. Below are some summary notes from my records - to the best of my knowledge and understanding. Please note that the amount of content I have here is not necessarily proportional to the importance of topics on which the tutorial focused.
The presentation is available at http://www.cs.berkeley.edu/~taskar/pubs/max-margin-acl05-tutorial.pdf, and this summary has a couple of references to slide numbers in this presentation. Broadly, the tutorial was divided into two parts. PART 1 ====== The first part presented by Dan Klein covered the concepts related to flat classification, linear classifiers and some details about Support Vector Machines. It advocated for discriminative methods over generative methods with the primary reason that discriminative methods do not make any assumptions about the real distribution of observed data. The independence assumption in generative methods like Naive Bayes classifier for example buy simplicity at the expense of losing information about interaction among features, since we assume features to be independent. This also results in the fact that there are no relative weights associated with the features, like in discriminative methods. While many problems in NLP can be posed as classification problems that can be solved via discriminative methods, one important aspect to consider is that most of the NLP problems are multi-class classification problems and not binary classification. So for example in Word Sense Disambiguation it is common to have more that two senses in the sense inventory and in case of parsing there are several possible parse trees possible for a sentence, among which the best should be chosen by a discriminative method. The basic idea in max-margin methods underlies binary classification of objects. So typically the method to deal with multi-class problems is to construct multiple binary classifiers (either one-against-all, or pairwise one-to-one) and combining their results using a probabilistic method. With this in background, the tutorial presented a method to handle multi-class classification without the construction of multiple binary classifiers. The method essentially involves learning different weights for each target class (for the same set of features) and constructing a wider weight vector out of them. This is better illustrated on slide #[7]. The outcome is that while evaluating any new feature set for assigning a class, a weight vector specific to that class will be used to evaluate the confidence of the assignment. How exactly are the weight vectors decided for each class is not exactly clear to me. It may perhaps involve considering the dependence between features given one specific class, and then coming up with the weights. The tutorial explained the simple max-margin model of a perceptron. The way a perceptron learns weights of various features is by adjusting an initial weight vector (normally all zeroes) to correctly classify every instance in the training set. The weight vector is updated by the amount of error encountered in misclassifying a training example (weighted by a margin, which should ideally be maximal). There are various aspects involved in selecting the weights. One is to minimize the error on training data. Another is to maximize the margin of separation between the classes. Achieving the first condition of minimal error is not necessarily the best solution since that may translate to over-fitting the model to the training data and causing it to be less generalized to better perform on unknown data. The second condition of maximum margin however improves upon the minimal error solution by allowing better generalization. This might result in some error in the training data classification. Specifically for support vector machines, the margin approach also brings in the aspect of the solution being dependent only on the critical training data points known as support vectors, with the other features getting zero weights. I think this perhaps also means that with a lot of features thrown at an SVM learner, it is going to choose the most critical ones automatically for you (the support vectors) and the other features will be getting zero weights. The next important thing to realize is that maximizing margin (just the value of it) might be simply possible by choosing a larger valued weight vector (or equivalently scaling the feature space). So, the solution for this is to keep the margin fixed at a standard value of 1 and finding the minimal weight vector for classifying the training data. This is how the problem of maximizing the margin gets converted into finding the minimal value of the weight vector. One more step forward is to allow for mis-classified examples in training data. Every mis-classified training example adds an error term known as slack variable to the objective function to be minimized - thus making it incur a penalty. The tutorial then covered some details about loss functions which provide a lower bound on the improvement that the confidence score of the predicted correct class should have on other candidates. The specific functions that were covered were the zero-one loss, hinge loss and log loss. The basic formulation that is achieved for a support vector machine by applying the condition of minimal weight vector with a fixed margin of 1, is a quadratic programming problem. It consists of a quadratic expression that is to be minimized subject to a set of linear constraints. This is known as the primal form of the problem. This form is theoretically possible to solve, but very complex because of the way the constraints are formulated in this original form. The solution to this is the use of Lagrange multipliers to convert the constraints into a more manageable form. A nice explanation of Lagrange multipliers is given in http://www.slimy.com/~steuard/tutorials/Lagrange.html. The resultant problem still remains a quadratic programming problem but with a simpler set of constraints. This is known as the dual form of the problem. After getting the problem in dual form, the major bottleneck of SVMs is the training time due to the numerical quadratic optimization step involved. Several ways to optimize this have been proposed - most of them dealing with optimizations of sub-problems of the bigger numerical quadratic programming problem and then combining the solutions in some incremental manner. One of the more widely used such algorithm is the Sequential Minimal Optimization algorithm proposed by John Platt from Microsoft (http://research.microsoft.com/users/jplatt/smo-book.pdf). To state it in an over-simplified manner, this algorithm incrementally finds the optimal solution of two training data points at a time while maintaining the overall constraints for optimization. There in no numerical quadratic programming done - instead a simple analytical step is used to find the optimal co-efficients of constraint equations. PART 2 ====== The second part of the tutorial was conducted by Ben Taskar and this I think was mostly based on his Ph.D. dissertation titled "Learning Structured Prediction Models: A Large Margin Approach" (http://www.cs.berkeley.edu/~taskar/pubs/thesis.pdf). The focus here was on extending the discriminative methods to exploit the structured nature of problems in NLP. An example that quickly made sense to me was that of character recognition (on slide #[57]). The point to understand is that without the global knowledge of what has been recognized so far, identifying the character "c" in "brace" will be very difficult as it is very similar to the earlier character "r". But the knowledge that we have seen the characters "bra" so far combined with other form of knowledge related to English vocabulary will perhaps make the decision easier and more accurate. This is a "sequential" structure of the problem. Similarly in parsing, there is a "recursive" structure - knowing what sub-trees have we already identified to be specific phrase classes and eliminating use of these phrase classes for other sub-trees by knowledge of grammar. In a bilingual word alignment task there is a "combinatorial" structure - i.e. perhaps(?) if we have already paired some words together we need not consider them for further alignment - thus simplifying our decisions. My feel about this part was that it went into very specific details about the adaptation of discriminative methods to such structural problems, and therefore was less accessible to the general audience (including myself) with lesser background in that area. This is not in any way meant to say that the tutorial was not appropriate or adequate. It was a very nice introduction to this field of max margin methods and I enjoyed it very much. The problems handled in the second half by the structured methods are very interesting indeed and I look forward to gain a better understanding about them, primarily with the help of Ph.D. dissertation of Ben Taskar. Finally, I think there will certainly be some loose ends in the summary above and probably some things that are wrong since I may have misunderstood them. I would therefore be happy to answer any questions if possible and to hear corrections, suggestions or feedback. Thanks! Mahesh PS: Kudos to everyone who managed to read through this entire never-ending summary :) __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/nlpatumd/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

