4 Gustavo González et al.methods for specialization. This methodology can be used to both, learn user featuresfrom user <strong>in</strong>formation stored <strong>in</strong> recommender systems and deliver <strong>the</strong> userfeatures to o<strong>the</strong>r recommender systems. For details on <strong>the</strong> SUM management,see [2].Therefore, user’s UMD for each application are def<strong>in</strong>ed by shift<strong>in</strong>g <strong>in</strong>formationfrom and to UMD’s of different exist<strong>in</strong>g doma<strong>in</strong>s accord<strong>in</strong>g to <strong>the</strong> weightedgraphs G (SUM, UMD i ) def<strong>in</strong>ed by each application where user <strong>in</strong>terplays.3 Support Vector Mach<strong>in</strong>es <strong>in</strong> <strong>User</strong> <strong>Modell<strong>in</strong>g</strong>The Support Vector Mach<strong>in</strong>e (SVM) is a type of learn<strong>in</strong>g mach<strong>in</strong>e for summariz<strong>in</strong>g<strong>in</strong>formation and modell<strong>in</strong>g from examples based on <strong>the</strong> statistical learn<strong>in</strong>g<strong>the</strong>ory, which implements <strong>the</strong> structural risk m<strong>in</strong>imization <strong>in</strong>ductive pr<strong>in</strong>ciple <strong>in</strong>order to obta<strong>in</strong> a good generalization from data sets of limited size [3,4]. Therehas been a great deal of research <strong>in</strong>terest <strong>in</strong> <strong>the</strong>se methods over <strong>the</strong> last years,because:– They provide good generalization on <strong>the</strong> data.– They are well suited for sparse data.– They exhibit <strong>in</strong>dependence of <strong>the</strong> results from <strong>the</strong> <strong>in</strong>put space dimension.Although <strong>in</strong>itially conceived for l<strong>in</strong>early separable two classes classificationproblems, new algorithms have already been derived to solve classification problemswith non-separable data, regression, ord<strong>in</strong>al regression, and multi-classproblems. Let T = {(x i , y i ) ; x i ∈ X , y i ∈ {−1, +1}} be a tra<strong>in</strong><strong>in</strong>g data set for ab<strong>in</strong>ary classification task, where classes are labelled as +1, -1. Let <strong>the</strong> decisionfunction based on a hyperplane be f(x) = sign(w · x + b). Accord<strong>in</strong>g to <strong>the</strong>statistical learn<strong>in</strong>g <strong>the</strong>ory, a good generalization is achieved by maximiz<strong>in</strong>g <strong>the</strong>marg<strong>in</strong> between <strong>the</strong> separat<strong>in</strong>g hyperplane, w · x + b = 0, and <strong>the</strong> closest datapo<strong>in</strong>ts for each class <strong>in</strong> <strong>the</strong> <strong>in</strong>put space. This optimal hyperplane can be determ<strong>in</strong>edby solv<strong>in</strong>g a quadratic programm<strong>in</strong>g problem. The decision function canthus be written as,)f (x) = sign( SV∑i=1α i y i (x i · x) + bIn order to expand <strong>the</strong> method to non-l<strong>in</strong>ear decision functions, <strong>the</strong> orig<strong>in</strong>al<strong>in</strong>put space, X , projects to ano<strong>the</strong>r higher dimension dot product space F, calledfeature space, via a nonl<strong>in</strong>ear map φ : X → F, with dim(F) >> dim(X ). In thisnew space <strong>the</strong> optimal hyperplane is derived. Denot<strong>in</strong>g <strong>the</strong> <strong>in</strong>ner product <strong>in</strong> F,(kernel) φ(x i ) · φ(x j ) = K(x i , x j ), <strong>the</strong> decision function is formulated <strong>in</strong> termsof this kernel.)f (x) = sign( SV∑i=1α i y i K(x i , x) + bAs an important consequence of <strong>the</strong> SVM procedure, just a few of <strong>the</strong> tra<strong>in</strong><strong>in</strong>gpatterns are significant for classification purposes, those hav<strong>in</strong>g a weight α i
<strong>Smart</strong> <strong>User</strong> <strong>Models</strong> for <strong>Ambient</strong> Recommender Systems 5non-zero. These elements lie on <strong>the</strong> marg<strong>in</strong> of <strong>the</strong> class and <strong>the</strong>m are knownas support vectors. This means that <strong>the</strong> representation of <strong>the</strong> hypo<strong>the</strong>sis generatedby <strong>the</strong> SVM is solely given by <strong>the</strong> po<strong>in</strong>ts that, <strong>in</strong> <strong>the</strong> <strong>in</strong>put space, areclosest to <strong>the</strong> hyperplane and <strong>the</strong>refore <strong>the</strong>se are <strong>the</strong> patterns most difficult toclassify. The patterns that are not support vectors do not <strong>in</strong>fluence <strong>the</strong> positionand direction of <strong>the</strong> decision function and are <strong>the</strong>refore not relevant to <strong>the</strong>hypo<strong>the</strong>sis. Moreover, for this methodology <strong>the</strong> orig<strong>in</strong>al space does not haveto be an Euclidian space. By us<strong>in</strong>g appropriated kernels, any orig<strong>in</strong>al space(‘words’, ‘figures’, ‘str<strong>in</strong>gs’, ‘preferences’, ‘attributes’) can be transformed withm<strong>in</strong>or restrictions <strong>in</strong> an useful feature space, F. Support Vector Mach<strong>in</strong>es aresuitable <strong>in</strong> order to implement efficient kernel methods to process very largeand high-dimensional data sets produced by <strong>Ambient</strong> Recommender Systems<strong>in</strong> several doma<strong>in</strong>s. Several k<strong>in</strong>ds of data sources for user modell<strong>in</strong>g, such as,weblogs, socio-demographic databases, transactional databases, preferences andattributes databases and sensory databases among o<strong>the</strong>rs can be pre-processedefficiently with SVM. We have implemented a One-Class SVM like a learn<strong>in</strong>gcomponent of <strong>the</strong> multi-agent system def<strong>in</strong><strong>in</strong>g a rank<strong>in</strong>g of user preferences.4 Multi-agent <strong>Smart</strong> <strong>User</strong> Model ArchitectureTo support our SUM approach on a web-based application, we propose a multiagentarchitecture def<strong>in</strong>ed at two ma<strong>in</strong> levels of abstraction [5]. At <strong>the</strong> highestlevel, two abstract agents exist (see Figure 2): <strong>the</strong> Web Service Abstract Agent(WSAA) and <strong>the</strong> Ubiquitous Abstract Agent (UAA). The WSAA provides capabilitiesof autonomy regard<strong>in</strong>g <strong>the</strong> automatic discover<strong>in</strong>g of services <strong>in</strong> <strong>the</strong>Internet for <strong>the</strong> user [6]. It communicates with <strong>the</strong> applications <strong>in</strong> a specific doma<strong>in</strong>.When applications are non agent-based, a wrapper agent operates like amiddleware between <strong>the</strong> WSAA and <strong>the</strong> application. The UAA gives <strong>in</strong>itialization,identification, <strong>in</strong>teroperability, control, coord<strong>in</strong>ation and management of<strong>the</strong> user preferences allow<strong>in</strong>g a flexible and autonomous human-agent <strong>in</strong>teraction.It is a generic and portable user model work<strong>in</strong>g accord<strong>in</strong>g to our def<strong>in</strong>itionof SUM.Coord<strong>in</strong>ation between WSAA and UAA is established ma<strong>in</strong>ly by two mechanisms:(i) WSAA requests to UAA personalized <strong>in</strong>formation to deal with <strong>the</strong>applications <strong>in</strong> <strong>the</strong> environment (recommender systems); (ii) UAA receives <strong>in</strong>formationfrom WSAA regard<strong>in</strong>g <strong>the</strong> success or failure of <strong>the</strong> application <strong>in</strong>teraction.Such relevance feedback is used by <strong>the</strong> UAA to learn about <strong>the</strong> user<strong>in</strong>terest, so <strong>the</strong> correspond<strong>in</strong>g SUM and <strong>the</strong> weighted graph G (SUM, UM i ) of<strong>the</strong> application is updated.Both, <strong>the</strong> WSAA and <strong>the</strong> UAA are designed to be implemented <strong>in</strong> a distributedplatform. The WSAA can be stored <strong>in</strong> a server while <strong>the</strong> UAA <strong>in</strong> amobile device. At <strong>the</strong> next abstract level, both abstract agents are implementedas multi-agent systems, as we expla<strong>in</strong> <strong>in</strong> <strong>the</strong> rema<strong>in</strong><strong>in</strong>g of this section.