We handle the problem of model and feature selection for Support Vector Machines (SVMs) in this thesis. To select the best model for a given training set, we embed the standard convex quadratic problem of SVM training in an upper level problem where the optimal objective value of the quadratic problem is minimized over the feasible range of the kernel parameters. This leads to a bi-level optimization problem for which the optimal solution al-ways exists. The problem of feature selection can be solved simultaneously under the same framework except that the kernel function is extended by introducing independent kernel parameters for each features in the original space. Two solution strategies to solve the bi-level problems of this Self-Adapti...