scieee Science in your language
[es] (orig)

Sistemas de recomendación

Author: Pérez Couñago, Inés
Year: 2021
Source: https://minerva.usc.es/bitstreams/8380a242-c57b-480a-a673-2ce3c2b4219f/download
T aballo Fin de G ao
Sis emas de ecomendación
Inés Pé ez Couñago
2020/2021
UNIVERSIDADE DE SANTIAGO DE COMPOSTELA
GRAO DE MATEMÁTICAS
T aballo Fin de G ao
Sis emas de ecomendación
Au o a: Inés Pé ez Couñago
Tu o a: Paula Saa ed a Nie es
Co u o : Alejand o Saa ed a Nie es
Julio, 2021
UNIVERSIDADE DE SANTIAGO DE COMPOSTELA
T abajo p opues o
Á ea de Conocimien o:
Es adís ica e In es igación Ope a i a
Tí ulo:
Sis emas de ecomendación
B e e desc ipción del con enido:
Los sis emas de ecomendación son he amien as de pe sonalización
que ienen como nalidad suge i p oduc os o elemen os ele an es
a usua ios nales. Compañías ales como Google, Mic oso , Ne ix
o Amazon aplican es os sis emas dia iamen e pa a ap ende p e e-
encias, gus os y compo amien os humanos. Los pe les gene ados
son empleados pa a impulsa buscado es, ces os de comp a y ca álo-
gos de p oduc os disponibles. En es e abajo, chequea emos el com-
po amien o de algo i mos al e na i os a clásicos como
k
- ecinos o
ac o ización ma icial.
iii

Índice gene al
Resumen
iii
In oducción
xi
1. Sis emas de ecomendación: un campo mul idisciplina 1
1.1. B e e eco ido his ó ico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Denición o mal de un sis ema de ecomendación . . . . . . . . . . . . . . 3
1.3. En oques posibles a la ho a de gene a una ecomendación . . . . . . . . . . 4
1.4. E aluación de las ecomendaciones . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.1. E aluación de la p edicción . . . . . . . . . . . . . . . . . . . . . . . 6
1.4.2. E aluación de la p ecisión . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4.3. E aluación del alcance de la p edicción . . . . . . . . . . . . . . . . . 7
1.4.4. Ajus e de los modelos de elección disc e a . . . . . . . . . . . . . . . 8
2. Sis emas colabo a i os 9
2.1. Es a egias basadas en la memo ia: algo i mo de los
k
- ecinos . . . . . . . . 10
2.1.1. Medida de la simili ud . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2. Cálculo de la p edicción . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.3. Sis emas basados en la conanza . . . . . . . . . . . . . . . . . . . . 15
2.2. Es a egias basadas en modelos . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1. Descomposición en alo es singula es . . . . . . . . . . . . . . . . . . 18
2.2.2. Clus e ing: algo i mo de las
k
-medias.................. 22
2.3. Ven ajas e incon enien es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3. Sis emas basados en el con enido 27
3.1. Análisis del con enido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1. Í ems no ex uales: modelos g ácos p obabilís icos . . . . . . . . . . 28
3.1.2. Í ems ex uales: modelo espacio ec o ial . . . . . . . . . . . . . . . . 29
i
ÍNDICE GENERAL
3.2. C eacióndelpe l ................................ 29
3.2.1. Técnicas p obabilís icas: clasicado bayesiano ingenuo . . . . . . . . 30
3.2.2. Técnica del eedback ele an e: algo i mo de Roccio . . . . . . . . . 31
3.3. Fil ación del con enido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4. Ven ajas e incon enien es . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4. Sis emas basados en la elección 33
4.1. Fo mulación gene al de un modelo de eg esión de elección disc e a . . . . . 34
4.2. Modelologi .................................... 35
4.2.1. P obabilidad de elección . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.2.2. Es imación de la p obabilidad . . . . . . . . . . . . . . . . . . . . . . 37
4.2.3. Ven ajas y limi aciones . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3. Modelop obi ................................... 40
4.3.1. P obabilidad de elección . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.3.2. Simulación de la p obabilidad . . . . . . . . . . . . . . . . . . . . . . 40
4.3.3. Ven ajas y limi aciones . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5. Aplicación al ámbi o u ís ico-gas onómico 43
5.1. Sob elabasededa os .............................. 43
5.2. Análisis a a és de sis emas colabo a i os . . . . . . . . . . . . . . . . . . . 45
5.2.1. Algo i mo de los
k
- ecinos........................ 45
5.2.2. Descomposición en alo es singula es . . . . . . . . . . . . . . . . . . 47
5.2.3. Clus e ing: algo i mo de las
k
-medias.................. 50
5.3. Análisis a a és de sis emas de elección: modelo logi . . . . . . . . . . . . 51
5.4. Compa a i a ................................... 53
6. Conclusiones 55
Apéndice: código en R 57
Bibliog a ía 73
xi
INTRODUCCIÓN

Capí ulo 1
Sis emas de ecomendación: un
campo mul idisciplina
Un
sis ema de ecomendación
es una he amien a que se cons uye con el obje i o de
ayuda a las pe sonas a encon a los p oduc os y se icios que más le pueden in e esa en
el meno iempo posible. Tenemos con ac o con ellos a dia io, a eces sin se llega a se
conscien es. Cuando emos una película en Ne ix o comp amos un p oduc o en Amazon
es amos siendo ayudados de o ma pe sonalizada po dichos sis emas, que juegan el papel
de un conseje o que conoce nues os gus os y necesidades y nos ayuda a encon a los a -
ículos más adecuados pa a noso os. G acias a ellos, aho amos el iempo y es ue zo que
nos lle a ía e isa los miles de p oduc os que se nos o ecen, a la ez que descub imos
nue os obje os que al ez po nues a cuen a no se ían encon ados.
En es e capí ulo p o undiza emos en qué son los sis emas de ecomendación. En p ime
luga se habla á en la Sección 1.1 sob e el con ex o en el que nacen los ecomendado es,
así como el p ime sis ema del que se iene cons ancia y la impo ancia que han cob ado
hoy en día. La Sección 1.2 desc ibe cómo ha e olucionado la cons ucción de los algo i mos
que gene an las ecomendaciones y cómo cambia, en consecuencia, la denición o mal de
ecomendado . En la Sección 1.3 se in oducen los di e en es en oques que se pueden segui
a la ho a de p edeci los gus os de los usua ios. Po úl imo, en la Sección 1.4 se explican
los p ocedimien os más ecuen es pa a e alua la calidad de las ecomendaciones.
1.1. B e e eco ido his ó ico
Aunque los sis emas de ecomendación cons i uyen un á ea de in es igación mode na,
la idea sob e la que se undamen an p e alece en la sociedad desde que exis e el se hu-
1
2
CAPÍTULO 1. SISTEMAS DE RECOMENDACIÓN: UN CAMPO MULTIDISCIPLINAR
mano. Las pe sonas pedimos opiniones a o as cons an emen e: p egun amos a nues os
amigos su c i e io sob e es au an es, nos in e esamos po la o ien ación de un en enado
a la ho a de elegi qué eje cicios ealiza en el gimnasio o consul amos a una pe sona con
conocimien os de in o má ica qué o denado se ajus a mejo a nues as necesidades. En
sín esis, la búsqueda de una pe sona que nos ecomiende y nos aconseje a la ho a de elegi
en e muchas al e na i as ha es ado en la sociedad desde iempos inmemo ables y en casi
cualquie ámbi o. Po o o lado, la Re olución Indus ial ma có un pun o de inexión en la
his o ia ans o mando no solo la economía, sino ambién el modo de i i de las pe sonas.
Has a ese momen o, p oduci cualquie obje o e a un abajo cos oso y ca o, lle ado a cabo
po a esanos. Las áb icas pe mi ie on elabo a los a ículos en se ie, acili ando con es o
el p oceso de manu ac u ación y aba a ando los p ecios de me cado. Con el p og eso de la
ecnología, ha c ecido exponencialmen e la a iedad de los p oduc os o e ados, a la ez
que se ha minimizado el iempo de espe a pa a su uso y dis u e. En la ac ualidad, hemos
llegado al pun o en el que es imposible se conscien es de odas las al e na i as que se nos
o ecen. La necesidad de ene una he amien a que acili e nues os c i e ios de selección
se hace cada ez más e iden e, apa eciendo así los sis emas de ecomendación.
El p ime ecomendado del que se iene cons ancia ue diseñado a mediados del 1970
po la emp esa Xe ox Palo Al o Resea ch Cen e , bajo el nomb e de Tapes y 1. La mo i-
ación que lle ó a su desa ollo ue el c ecien e núme o de co eos elec ónicos que ecibían,
en su mayo ía innecesa ios y moles os. Pa a supe a es e p oblema, se pidió a los abaja-
do es que especicasen un l o que pe mi iese hace una c iba sob e los usua ios y c ea
una lis a con los con ac os ele an es. De es a mane a, los co eos en iados po dichos con-
ac os se mos a ían en una bandeja de co eos impo an es y los demás se ían en iados a
una ca pe a de co eo no deseada. Es a es la o ma en la que abajan nues as cuen as de
co eo elec ónico ac uales.
A pa i de es e momen o, los sis emas de ecomendación se ue on haciendo cada ez
más popula es, e minando po cons i ui un á ea de in es igación independien e desde
mediados del 1990. El in e és sob e ellos es cada ez mayo , an o en el plano eó ico co-
mo a ni el p ác ico. Ejemplo de es o son las con e encias dedicadas de o ma ín eg a a
los sis emas de ecomendación, en e las que cabe des aca la anual
Associa ion o Com-
pu e Machine y Recommende Sys ems Con e ence
1
y e is as de in es igación, como la
AI Communica ions
2
, que incluyen núme os especiales sob e el p oceso de ecomendación.
1
h ps:// ecsys.acm.o g/
2
h ps://www.aicommunica ions.eu
1.2. DEFINICIÓN FORMAL DE UN SISTEMA DE RECOMENDACIÓN
3
En el me cado, son cada ez más las compañías, emp esas y o os o ganismos que es án
conside ando el desa ollo de sus p opios sis emas de ecomendación como un se icio un-
damen al, pues con ellos se ga an iza un aumen o en las en as a la ez que se amplía la
a iedad de los p oduc os o e ados, se mejo a la sa is acción de los clien es y se en iende
mejo qué p oduc os son los más demandados. Es o no solo se es inge a sec o es ma e ia-
les, sino ambién a aquellos que abajan con a ículos más abs ac os como los c eado es
de con enido audio isual. Podemos pone como ejemplo a You ube, que aumen a sus be-
necios a mayo núme o de ídeos is os, y a Ne ix, que ha demos ado cona an o en
el pode de los sis emas de ecomendación que o e ó un p emio de un millón de dóla es
al p ime equipo que log ase mejo a sus ancialmen e el endimien o de su algo i mo. Po
o o lado, es e campo no solo es de in e és pa a las emp esas, sino que noso os como
consumido es sacamos g an p o echo de la pe sonalización de las ecomendaciones pa a
encon a con mayo acilidad los a ículos que nos in e esan y que se ajus an a nues as
necesidades. Con el uso de ecomendado es, minimizamos el iempo in e ido en decidi a
la ez que asegu amos una mejo elección y maximizamos nues as expec a i as.
1.2. Denición o mal de un sis ema de ecomendación
Los dos p incipios que di e encian a los sis emas de ecomendación pueden esumi se
en:
La
pe sonalización
: las ecomendaciones no son ep esen a i as pa a un g upo, sino
que se diseñan pa a cada usua io de o ma indi idual.
El
obje i o
: la in ención de los ecomendado es es ayuda al usua io a selecciona
adecuadamen e en e muchas al e na i as.
A pesa de que las bases sob e las que se asien an es os sis emas han es ado cla as desde
su o igen, la idea bajo la que se cons uyen los algo i mos pa a p oduci ecomendaciones
ha e olucionado mucho en las úl imas décadas. En consecuencia, la denición o mal de un
sis ema de ecomendación ambién ha cambiado con los años. En un inicio, se deno aba
como ecomendado a cualquie algo i mo que ecibiese como en ada las alo aciones de
los usua ios, las uniese y clasicase de la o ma ap opiada y gene ase una ecomendación
como salida (c . Resnick y Va ian, 1997).
Es a desc ipción, cuyo peso ecae en la colabo ación en e usua ios, pe du ó poco en el
iempo al esul a de mayo u ilidad p ác ica implemen a los algo i mos p es ando más
4
CAPÍTULO 1. SISTEMAS DE RECOMENDACIÓN: UN CAMPO MULTIDISCIPLINAR
a ención al obje i o pe seguido que a la o ma de consegui lo. De es a mane a, un sis-
ema de ecomendación pasó a conside a se simplemen e una he amien a que p oduce
ecomendaciones indi iduales o que guía de o ma pe sonalizada a un usua io hacia los
a ículos de su in e és den o de un conjun o amplio de al e na i as (c . Bu ke, 2002).
La denición de sis ema de ecomendación se consolida en la comunidad cien íca en
2005 bajo un en oque ma emá ico que impulsa á el desa ollo de nue os algo i mos.
Denición 1.1.
(Adomaci ius y Tuzhilin, 2005) Sea
U
el conjun o de odos los usua ios
del sis ema e
I
el conjun o de a ículos que pueden se ecomendados. Un sis ema de
ecomendación es un conjun o de he amien as cuyo obje i o undamen al es elegi , pa a
el usua io
u∈U
, el elemen o
i∈I
que maximiza una unción de u ilidad denida en
U×I
y que oma alo es en un conjun o o almen e o denado
R
. Es deci , un sis ema
de ecomendación es una he amien a que calcula y maximiza una unción de u ilidad
h:U×I−→ R
.
En la p ác ica, aunque no odos los sis emas de ecomendación calculan la u ilidad
de o ma explíci a, odos se cons uyen bajo la idea de encon a los í em con u ilidad
máxima.
1.3. En oques posibles a la ho a de gene a una ecomenda-
ción
Como hemos is o en la sección an e io , los sis emas de ecomendación buscan p e-
deci el g ado de u ilidad que un usua io
u
le da a un a ículo
i
a a és de una unción
de u ilidad
h(u, i)
. Según cómo se haga es a p edicción podemos dis ingui di e en es ipos
de sis emas, los cuales en la p ác ica se suelen combina pa a que las limi aciones de unos
se compensen con las en ajas de o os. Pa a simplica la no ación, llama emos usua io
ac i o al usua io pa a el que se ealiza la ecomendación.
En es e abajo se es udia án los dos ipos de sis emas de ecomendación clásicos (los
colabo a i os y los basados en el con enido) y un en oque al e na i o basado en los modelos
de elección disc e a (sis emas basados en la elección).
Sis emas colabo a i os.
Recomiendan a ículos que le gus a on a pe sonas con
gus os pa ecidos a los del usua io ac i o. Los algo i mos se diseñan con el obje i o
de encon a pe sonas con p e e encias simila es a él y usa sus alo aciones pa a
gene a la p edicción. Den o de es e en oque, un sub ipo des acable son los
sis emas
1.4. EVALUACIÓN DE LAS RECOMENDACIONES
5
basados en la conanza
, que ienen en cuen a pa a la ecomendación los a ículos
que le han gus ado a las pe sonas de conanza del usua io ac i o (amigos, gu as de
au o idad, e c). Es as écnicas es án cob ando mucha impo ancia con el c ecimien o
de las edes sociales.
Sis emas basados en el con enido.
Recomiendan a ículos simila es a los que le
han gus ado al usua io ac i o en el pasado. Los algo i mos se diseñan con el obje i o
de iden ica las ca ac e ís icas que denen a los í ems y al usua io ac i o y l a
los a ículos que empa ejan bien con los a ibu os de cada pe sona. Son usados, po
ejemplo, a la ho a de ecomenda una in e sión, donde deben conoce se an o las
ca ac e ís icas del negocio como las del in e so .
Sis emas basados en la elección.
Un p oblema que p esen an los en oques adi-
cionales a la ho a de ecopila in o mación sob e usua ios e í ems es que lo hacen de
o ma demasiado descon ex ualizada, es deci , p egun ando di ec a o indi ec amen e
cuán o se alo a unos a ibu os conc e os de los a ículos. Po ejemplo, a la ho a de
comp a un coche, se p egun a la impo ancia dada a la segu idad, al p ecio o a la
es é ica. Aunque la segu idad suele se pun uada como el a ibu o más impo an e,
en la p ác ica no es la azón po la cual se escoge un ehículo. Es o demues a que
una pa e impo an e de nues as elecciones ope a ue a de nues o ni el conscien e,
lo cual no es enido en cuen a po los ecomendado es clásicos. Una al e na i a posi-
ble son los sis emas basados en la elección, los cuales ap enden las p e e encias de los
consumido es de o ma in e ac i a en unción de cómo eligen es os en e di e en es
al e na i as. Median e los modelos de elección disc e a, una clase de modelo de eg e-
sión, se es ima el impac o que ienen di e sas ca ac e ís icas de los usua ios e í ems
en los gus os y se asigna a cada a ículo la p obabilidad de que es e sea escogido po
el usua io ac i o. Los a ículos que ecomiendan son aquellos con mayo p obabilidad
de elección.
1.4. E aluación de las ecomendaciones
El hecho de que los sis emas de ecomendación se hayan con e ido en una he amien a
an ú il obliga a mejo a cons an emen e los algo i mos empleados pa a p edeci de o ma
más p ecisa los gus os de los usua ios. Pa a ello, es necesa io medi p e iamen e qué an
bueno es el endimien o del algo i mo y compa a lo con el de o os. En es a sección e e-
mos algunas de las mé icas usadas pa a e alua las ecomendaciones gene adas po es os
sis emas.

6
CAPÍTULO 1. SISTEMAS DE RECOMENDACIÓN: UN CAMPO MULTIDISCIPLINAR
La e aluación de las ecomendaciones se ha ealizado desde muchas medidas di e en es
que a menudo esul an incompa ibles, consecuencia de la al a de un ma co lo sucien-
emen e gene al como pa a inclui oda la gama de ecomendado es. A pesa de es o,
podemos clasica la mayo ía de mé icas en es g upos: las que miden la p ecisión de las
p edicción, las que miden la p ecisión de las ecomendaciones y las que miden el alcance
del sis ema. En cuan o a los sis emas basados en la elección, ambién es posible ap o e-
cha p ocedimien os es adís icos clásicos pa a conoce cómo de bien ajus an los modelos
de elección disc e a los gus os de los usua ios.
Las exp esiones de las mé icas de e aluación se han seguido del abajo de Del Olmo
y Gaudioso (2008). Pa a que sea más cla a su denición, así como la de o os concep os
que se án in oducidos a lo la go del abajo, la no ación que emplea emos se esume en
la Tabla 1.1.
No ación Signicado
U
Conjun o de usua ios del sis ema
I
Conjun o de í ems del sis ema
J
Conjun o de í ems que ha alo ado el usua io
K
Conjun o de í ems pa a los que se puede p edeci la alo ación
|A|
Ca dinal de un conjun o A
u,i
Valo ación dada po el usua io
u
al í em
i
c u,i
P edicción de la alo ación dada po el usua io
u
al í em
i
Tabla 1.1: No ación que se emplea á a lo la go del abajo.
1.4.1. E aluación de la p edicción
Un aspec o impo an e a la ho a de e alua el endimien o de un sis ema de ecomen-
dación es calcula cómo de bien se p edicen las alo aciones de los usua ios a los a ículos.
La mé ica más empleada pa a ello es el
e o medio absolu o
(en ingles,
Mean A e a-
ge E o
o MAE), que mide la dis ancia exis en e en e las calicaciones conocidas y las
p edichas. Cuan o meno sea su alo , más ce cana se á la p edicción a la e dad.
Pa a calcula el e o o al come ido, es necesa io calcula p ime o el e o de p edicción
1.4. EVALUACIÓN DE LAS RECOMENDACIONES
7
pa a cada uno de los usua ios. El MAE
del usua io
se dene como el alo medio de la
di e encia en alo absolu o en e las p edicciones del algo i mo y las alo aciones eales
del usua io. Se calcula sob e el conjun o de í ems que ue on alo ados po el usua io y
pa a los cuales el algo i mo empleado es capaz de p edeci una alo ación. Con la no ación
in oducida, dicho conjun o se deno a po
J∩K
y el MAE de un usua io
u
se calcula como
sigue:
MAEu=1
|J∩K|X
i∈J∩K| u,i −ˆ u,i|.
(1.1)
Finalmen e, el MAE
del sis ema
es el p omedio del e o medio absolu o come ido
pa a cada usua io:
MAE =1
|U|X
u∈U
MAEu.
(1.2)
1.4.2. E aluación de la p ecisión
Calcula mé icas basadas en e o es es la p ác ica dominan e a la ho a de e alua un
sis ema de ecomendación. Sin emba go, en los úl imos años se ha empezado a p io iza la
calidad de los elemen os ecomendados a la p ecisión de la p edicción.
Las mé icas basadas en la p ecisión miden la can idad de elemen os ecomendados
que esul an se nalmen e ele an es. Podemos des aca en e ellas la cobe u a de las
alo aciones (en inglés,
Ra ings Co e age
o RC) y la cobe u a del usua io (en ingles,
Use
Co e age
o UC). La p ime a mide la p opo ción de alo aciones p edichas que son p ecisas
de odas las p edicciones hechas y la segunda calcula el núme o de usua ios pa a los cuales
el sis ema puede p edeci al menos una alo ación p ecisa.
Sean
Ni
el núme o de p edicciones ú iles y
Nu
el núme o o al de usua ios pa a el cual
el algo i mo p oduce al menos una alo ación ce e a. La cobe u a de las alo aciones y
la cobe u a del usua io se calcula como:
RC =X
u∈U
Ni
|Ku|,
(1.3)
UC =Nu
|U|.
(1.4)
1.4.3. E aluación del alcance de la p edicción
Aunque po encialmen e se puede ealiza una es imación pa a odos los í ems que no
haya o ado el usua io ac i o, en la p ác ica nos encon amos con que algunos de los algo-
8
CAPÍTULO 1. SISTEMAS DE RECOMENDACIÓN: UN CAMPO MULTIDISCIPLINAR
i mos seguidos po los sis emas de ecomendación solo pe mi en p edeci un subconjun o
de ellos. Po ejemplo, e emos en el Capí ulo 2 que el algo i mo de los
k
- ecinos, muy usa-
do en el l o colabo a i o, no puede es ima a ículos que no hayan sido alo ados po al
menos uno de los
k
- ecinos. Resul a de g an in e és calcula el po cen aje de p edicciones
que ha podido ealiza el algo i mo escogido.
1.4.4. Ajus e de los modelos de elección disc e a
A mayo es, en los sis emas basados en la elección es posible ob ene más in o mación
sob e la calidad de sus esul ados a a és de p ocedimien os es adís icos clásicos. Como
es os sis emas de ecomendación p edicen los gus os de los usua ios a a és de modelos de
eg esión, median e p ocedimien os como la bondad de ajus e y los con as es de hipó esis
podemos medi cómo de bien se ajus an las es imaciones a los gus os eales.
En pa icula , la bondad de ajus e pe mi e medi la disc epancia en e los alo es eales
y los alo es que p edice el modelo. También pe mi en compa a el modelo es imado con
o o al e na i o. Po ejemplo, podemos compa a un modelo en el que se p edicen los gus os
en unción de cie as a iables con o o sin dichas a iables pa a comp oba si ealmen e
es as inuyen en las p e e encias o no. Es a compa ación se ealiza a a és de la unción
log- e osimili ud.
Po o o lado, con los con as es de hipó esis comp obamos si exis en e idencias es-
adís icas signica i as pa a a ma que sucede cie a p opiedad en nues o modelo. En
pa icula , con ellos podemos comp oba si un esul ado en conc e o ue ob enido debido
al aza del mues eo o si exis en p uebas que lo jus iquen. Es e p ocedimien o se ealiza
median e el cálculo de un es adís ico adecuado a cada si uación.
Capí ulo 2
Sis emas colabo a i os
Los sis emas colabo a i os, ambién llamados l os colabo a i os, p edicen el alo
que encuen a el suje o ac i o en un de e minado a ículo a pa i de los í ems alo ados
posi i amen e po pe sonas con gus os simila es a los suyos. La idea subyacen e es que
si dos suje os mues an el mismo in e és en
k
obje os, en onces es espe able que ambién
lo mues en en el obje o
k+ 1
. Asumi emos que los gus os de los usua ios pe manecen
es ables a lo la go del iempo, de o ma que si dos pe sonas u ie on gus os pa ecidos en
el pasado, los end án en el u u o.
La in o mación con la que se abaja se almacena en una
ma iz de alo aciones
, en la
cual cada la ep esen a a un usua io y cada columna a un a ículo. La celda
ui
con iene
la alo ación del usua io
u
al í em
i
. Podemos in e p e a la la
u
como un ec o cuyas
componen es son las pun uaciones que le da el usua io
u
a los di e en es a ículos. De no
conoce se la alo ación, en la celda co espondien e se in oduce un NA. En la abla 2.1
podemos e la o ma que oma una ma iz de alo aciones.
Í em 1 Í em 2 ... Í em n
Usua io 1
11 12
...
1n
Usua io 2
21 21
...
2n
.
.
..
.
..
.
..
.
..
.
.
Usua io m
m1
NA ...
mn
Tabla 2.1: Es uc u a de la ma iz de alo aciones.
9
16
CAPÍTULO 2. SISTEMAS COLABORATIVOS
en e usua ios de o ma más p ecisa. Siendo
a
el usua io ac i o,
u
uno de sus ecinos e
i
el í em pa a el que que emos p edeci la alo ación, la simili ud en e ambos usua ios en
es e caso se calcula como:
sim(a, u) = 2pea son(a, u) ep(u, i)
pea son(a, u) + ep(u, i).
(2.4)
T as calcula la semejanza, se iden ican los usua ios más simila es al usua io ac i o y
se p edicen las alo aciones desconocidas con la ecuación (2.3).
Algo i mo MoleT us
Massa y Bha acha jee (2004) diseña on el llamado algo i mo MoleT us pa a e alua
la conanza en e usua ios a a és del concep o de p opagación.
Aunque el g ado de amis ad en e dos usua ios
u
y
no sea el mismo que en e o os
usua ios
u
y
w
, cuando el usua io
u
con ía en
y
con ía en
w
, se c ea un ínculo en e
u
y
w
: la conanza en e los dos usua ios iniciales se ha p opagado a un e ce o. En la
Figu a 2.2 se explica el concep o de p opagación de o ma esquemá ica.
u w
Figu a 2.2: P opagación de la conanza en e usua ios.
Fo malmen e, la p opagación de la conanza en e dos usua ios se dene como el núme o
de in e media ios que hay en e ellos. Po ejemplo, en las elaciones denidas en el pá a o
an e io , la p opagación en e
u
y
w
se ía
n= 1
po que hay un único in e media io:
.
Explo ando es a elación de ansi i idad, se cons uye una ed de conanza donde el
núme o de a is as que hay en e dos usua ios de la ed es la p opagación exis en e en e
ellos. Cuando exis en a ios caminos en e dos pe sonas, MoleT us oma el camino más
co o y conside a que es e es el que maximiza el alo de conanza. Una ez cons uida la
ed, si deno amos po
d(u, )
a la p opagación y po
dmax(u, )
a la p opagación máxima
en la ed, se calcula la conanza en e pa es de usua ios como:
(u, ) = dmax(u, )−d(u, )+1
dmax(u, ).
(2.5)
Finalmen e, la simili ud es calculada de mane a pa ecida a la seguida po O'Dono an
y Smy h (2005). En es e caso, la semejanza se compu a como:
sim(a, u) = 2pea son(a, u) (a, u)
pea son(a, u) + (a, u).
(2.6)

2.1. ESTRATEGIAS BASADAS EN LA MEMORIA: ALGORITMO DE LOS
K
-VECINOS
17
Pa a la p edicción de las alo aciones se seleccionan los usua ios más simila es y se
calcula la alo ación espe ada pa a cada í em con la ecuación (2.3).
Algo i mo de Azadjalal, Mo adi y Abdollahpou i
Pa a consegui una simili ud aún más p ecisa, los usua ios de conanza del usua io
ac i o pueden se clasicados en ele an es o no ele an es. Azadjalal, Mo adi y Abdollah-
pou i (2014) emplean el concep o de dominancia de Pa e o, p opio de la Teo ía de Juegos,
pa a iden ica las pe sonas de conanza que ep esen an mejo las p e e encias del usua io
ac i o.
En es e con ex o, se dice que el usua io
u
domina al usua io
con espec o al usua io
ac i o
a
si: (i) pa a cada elemen o alo ado po
a
la di e encia absolu a en e las alo acio-
nes del usua io ac i o y las de
u
es meno o igual a la di e encia absolu a de las alo aciones
del usua io ac i o y
y (ii) exis e al menos un í em pa a el cual la di e encia absolu a de
las alo aciones de
u
y
a
sob e él es es ic amen e meno a las de
y
a
. Es deci , los usua ios
dominan es son aquellos que ienen gus os más pa ecidos a los del usua io ac i o.
El algo i mo diseñado pa a p edeci las alo aciones comienza calculando la conanza
y la dispe sión en e las opiniones de los di e en es pe les del sis ema y las del usua io
ac i o. De es a o ma, se calculan los usua ios de conanza que además son dominan es.
T as es o, se uel e a calcula la conanza en e usua ios a a és de o a exp esión que
o o ga mayo peso a los pe les más ep esen a i o y disminuye el de los menos p ome e-
do es.
A di e encia de los modelos an e io es, la p edicción no se hace con la ecuación (2.3),
sino que se u iliza una unción al e na i a. Siendo
k
el núme o de ecinos más ce canos del
usua io ac i o, se calcula la alo ación del usua io
a
al a ículo
i
como:
ˆ a,i = ¯ a+Pk
u=1( a,i −¯ a) (a, u)
Pk
u=1 (a, u).
(2.7)
E ec o de la conanza en el algo i mo de los
k
- ecinos
Azadjalal, Mo adi y Abdollahpou i (2014) compa a on la p ecisión de sus ecomenda-
ciones con las p oducidas po el algo i mo de los
k
- ecinos calculando la simili ud única-
men e con el coecien e de co elación de Pea son (sin ene en cuen a la conanza en e
usua ios) y con las p oducidas po el algo i mo MoleT us . Pa a los es modelos se cal-
18
CAPÍTULO 2. SISTEMAS COLABORATIVOS
culó el e o medio absolu o come ido al implemen a cada algo i mo en la web Epinions,
hoy edi eccionada a
Shopping.com
. Se a a de un se ido en el cual los consumido es
esc iben sus opiniones sob e di e sos a ículos con el n de ayuda a o os comp ado es y,
a mayo es, pueden indica su g ado de conanza en los dis in os usua ios.
La Tabla 2.3 con iene los e o es medios absolu os ob enidos pa a cada uno de los es
modelos. El e o del algo i mo de los
k
- ecinos es de 0.964, mien as que con el algo i -
mo MoleT us se educe a 0.794 y con el modelo de Azadjalal, a 0.706. Es os esul ados
demues an que ene en cuen a la conanza en e usua ios mejo a la calidad de las eco-
mendaciones y que las p edicciones gene adas po el MoleT us son más p ecisas cuando
se iden ican los usua ios de conanza con un pe l dominan e.
Pea son P opagación Dominancia
MAE 0.964 0.794 0.706
Tabla 2.3: Compa ación del e o medio absolu o al calcula la simili ud a a és del coe-
cien e de co elación de Pea son, al ene en cuen a la p opagación de la conanza con el
algo i mo MoleT us y al ene en cuen a la dominancia en e usua ios de conanza con el
algo i mo de Azadjalal, Mo adi y Abdollahpou i (2014).
2.2. Es a egias basadas en modelos
Desde hace unos años, el olumen de in o mación disponible sob e obje os y usua ios
exis en es c ece exponencialmen e. En consecuencia, la dimensión de las ma ices de alo-
ación aumen a an o que usa las al comple o deja de se iable al no se posible almacena
an a can idad de in o mación y man ene a la ez una espues a ápida. Po es o, es nece-
sa io busca nue os en oques que no usen la ma iz en e a o que la eduzcan ecien emen e.
Los sis emas basados en el modelo su gen como al e na i a al p oblema expues o. Buscan
usa da os más condensados y que eejen mejo la in o mación sob e las p e e encias. A
con inuación se exponen dos de los algo i mos más usados.
2.2.1. Descomposición en alo es singula es
Cuando la ma iz de alo aciones hace e e encia a un g an núme o de usua ios y de a -
ículos, nos encon amos con que cie o núme o de ellos pueden no con ibui ac i amen e
2.2. ESTRATEGIAS BASADAS EN MODELOS
19
a gene a la ecomendación, po lo que algunas de sus las y columnas se uel en inne-
cesa ias. La descomposición en alo es singula es es una de las écnicas más ecaces a la
ho a de educi la dimensión de la ma iz de alo aciones sin pe de in o mación ele an e
pa a la ecomendación.
Es a écnica hace uso del Álgeb a pa a ac o iza la ma iz de alo aciones en ma i-
ces más sencillas. An es de desc ibi el p ocedimien o seguido, es necesa io in oduci los
siguien es dos concep os:
Denición 2.2.
Se denen los
alo es singula es
de una ma iz
A
de dimensiones como
las aíces cuad adas posi i as de los au o alo es de la ma iz
ATA
.
1
Denición 2.3.
Se denen los
ec o es singula es izquie dos
como los au o ec o es
de la ma iz
AAT
y los
ec o es singula es de echos
como los au o ec o es de la ma iz
ATA
.
Una ez in oducidos es os concep os, se p esen a el siguien e esul ado:
Teo ema 2.4
(Descomposición en alo es singula es)
.
Toda ma iz
A
de dimensiones
m×n
y ango
puede se descompues a en el p oduc o de 3 ma ices
A=USV T
, donde
U
es una
ma iz uni a ia de dimensiones
m×
de e minada po los ec o es singula es izquie dos,
S
es una ma iz cuad ada, diagonal y denida posi i a de dimensión
×
o mada po
los alo es singula es o denados de mayo a meno alo y
V
es una ma iz uni a ia
n×
o mada po los ec o es singula es de echos. Además,
U
y
V
son ma ices o ogonales.
La descomposición en alo es singula es p opo ciona la mejo ap oximación de una
ma iz
A
median e o a
Ak
de ango
k <
. Es deci , si de los
alo es singula es nos
quedamos con solo
k
, de o ma que educimos las ma ices
U
,
S
y
V
a unas
Uk
,
Sk
y
Vk
de
dimensiones
m×k
,
k×k
y
n×k
, en onces su p oduc o
Ak
se á la ma iz de ango
k
que
mejo ap oxime
A
. En o as palab as,
Ak
minimiza la no ma de F obenius
||A−Ak||
sob e
odas las ma ices de ango
k
. Es o con ie e dicha descomposición en una he amien a
muy po en e, pues pe mi e ep esen a cualquie ma iz de o ma educida. Po ejemplo,
si ap oximamos una ma iz de dimensiones
6500 ×70
po o a de ango 1, pasa íamos de
gua da
525000
núme os a solo
6500 ×1+1+1×70 = 6571
.
1
Cuando el núme o de las y de columnas de la ma iz
A
no coincide, hab á an os au o alo es nulos
de
AAT
y
ATA
como la di e encia de sus dimensiones y el es o de au o alo es se án idén icos pa a los
dos p oduc os. Es deci , si
A
iene 4 las y 2 columnas, hab á 4-2=2 au o alo es con alo 0 y o os dos
au o alo es iguales. Es po es o que no se ha dis inguido en e alo es singula es de echos e izquie dos.
20
CAPÍTULO 2. SISTEMAS COLABORATIVOS
La descomposición en alo es singula es aplicada a los sis emas de ecomendación con-
sis e en aplica dicha ac o ización a la ma iz de alo aciones. En es e con ex o, las es
ma ices de la descomposición adquie en un signicado conc e o que se á cla e pa a ea-
liza las p edicciones. Las
columnas de la ma iz de alo es singula es izquie dos,
U
, se
pueden in e p e a como los
ac o es que ca ac e izan a cada uno de los usua ios. De la
misma o ma, las columnas de la ma iz de ec o es singula es de echos,
V
, con ienen
ca ac e ís icas de los a ículos. Los alo es singula es de la ma iz
S
indican la impo ancia
de cada uno de los ac o es ob enidos; a mayo alo singula , mayo impo ancia end á
el ac o asociado al usua io e í em. El o o que se espe a del usua io
u
sob e el obje o
i
se
ob iene sin más que mul iplica la la
u
de la ma iz
U
po la ma iz de alo es singula es y
la columna
i
de la ma iz
V
. De es a o ma, no se pie de ninguna in o mación de la ma iz
de alo aciones a la ez que se educen los da os almacenados. El obje i o, en onces, es
ob ene las ma ices
U
y
V
que con el meno núme o de columnas posible p oduzcan una
buena ap oximación de la ma iz de alo aciones.
P ocedimien o gene al pa a calcula las ma ices de ca ac e ís icas
Las columnas de las ma ices
U
y
V
es án compues as, espec i amen e, po los ec o es
singula es izquie dos y de echos. El p ocedimien o gene al pa a calcula dichos ec o es es
esol iendo, en p ime luga , las ecuaciones en (2.8) pa a ob ene los au o alo es izquie dos
y de echos y, haciendo la aíz cuad ada, calcula los alo es singula es. Siendo
A
una ma iz
de dimensión
m×n
,
λ
los au o alo es e
Ik
la ma iz iden idad de dimensión
k×k
, las
ecuaciones a esol e son:
|AAT−λIm|= 0,
|A A−λIn|= 0.
(2.8)
Asociados a cada alo singula , se calculan los ec o es singula es
u
y
esol iendo los
sis emas de ecuaciones en (2.9).
(AAT−λiIm)x= 0,
(ATA−λiIn)x= 0.
(2.9)
Pa a aplica es e p ocedimien o es necesa io conoce la ma iz
A
al comple o. En el
con ex o de los sis emas de ecomendación, como la ma iz de alo aciones con iene muchas
celdas desconocidas, pa a pode esol e las ecuaciones en (2.8) y (2.9) es necesa io da
p ime o un alo a las celdas
ui
pa a las que se desconoce el o o del usua io. Una solución
posible es sus i ui
ui
po la media de los o os dados al p oduc o
i
y, a con inuación,
2.2. ESTRATEGIAS BASADAS EN MODELOS
21
es a a la la en la que se encuen a el usua io
u
el alo medio de sus alo aciones. Una
ez hecho es o, se calculan
U
y
V
de la mane a explicada. Sin emba go, es un a eglo que
no unciona bien cuando a amos con muchos usua ios e í ems.
P ocedimien o i e a i o pa a calcula las ma ices de ca ac e ís icas
La solución más ecien e pa a calcula las ma ices de ca ac e ís icas ue p opues a
po Funk (2006), la cual le lle ó a gana el
Ne ix P ize
. Es e p ocedimien o consis e en
ajus a ei e adamen e las ma ices has a encon a los alo es con los que se minimice el
e o come ido al ap oxima la ma iz de alo aciones.
Con el cálculo de au o ec o es, ob eníamos
U
y
V
columna a columna. Si conside amos
las ma ices de ca ac e ís icas mul iplicadas cada una po la aíz cuad ada de
S
, de o ma
que se iene la elación
A=UV T
con
A
la ma iz de alo aciones, podemos ob ene las
ma ices alo a alo esol iendo el sis ema de ecuaciones lineales en (2.10):
11 =u11 11+···+u1k k1,
. . .
mn =um1 1n+···+umk kn.







(2.10)
Si conociésemos odos los alo es de la ma iz de alo aciones, la solución de es e sis-
ema p oduci ía dos ma ices cuyo p oduc o uese exac amen e
A
. Como el sis ema de
ecomendación solo puede esol e las ecuaciones con alo es
ui
conocidos, con la solución
ob enida no se ob end á la ma iz
A
exac a, sino una muy pa ecida pe o en la que se ha
come ido cie o e o de ap oximación. Es e e o es ap o echado po el au o ci ado pa a
desa olla su algo i mo.
El p ocedimien o seguido consis e en oma dos ma ices alea o ias y ajus a ei e ada-
men e sus alo es, a la ez que se calcula el e o come ido en la ap oximación de la ma iz
de alo aciones. El p oceso se epi e has a que dicho e o sea lo sucien emen e pequeño.
Pa a que el algo i mo uncione de mane a óp ima, debemos exp esa el e o de o ma
que los cálculos sean lo más simples posibles. Es o se consigue compac ando el sis ema de
ecuaciones en p oduc os escala es de las columnas de las ma ices de alo aciones. De es a
o ma, una ecuación del sis ema es educida a lo siguien e:
xy =ux· y.
(2.11)
El e o al ap oxima la celda
x,y
de la ma iz de alo aciones se puede esc ibi , en onces,

22
CAPÍTULO 2. SISTEMAS COLABORATIVOS
como:
e o x,y =| x,y −ux· y|.
(2.12)
Es e modelo iende a la sob e-especialización (se ajus a muy bien a la ho a de p edeci
los o os de una de e minada ma iz de alo aciones, pe o no a la ho a de gene aliza los),
po lo que se suele añadi una cons an e de con ol
λ
pa a elaja dicho p oblema. De es a
o ma, el p oblema de minimización esul an e es:
m´ın
u∗, ∗X( x,y −ux· y)2+λ(||ux||2+|| y||2).
(2.13)
Po úl imo, pa a su esolución se usa el algo i mo del descenso del g adien e. In o malmen e,
es e consis e en e alua la unción que que emos minimiza en un pun o dado y mo e nos
hacia o o pun o a una cie a dis ancia y en el lado opues o a la de i ada de la unción. Se
puede esumi su uncionamien o en es e apas:
E apa 1.
Se inicializan las ma ices de ca ac e ís icas
U
y
V
a bi a iamen e. Si
l
deno a la i e ación en la que nos encon amos y
γ
y
K
son cons an es p ejadas, la
dis ancia a la que nos desplaza emos en cada i e ación se calcula como:
d=γ
(1+l)
K
.
E apa 2.
Se calcula la ma iz de e o
E
y se ajus an las ma ices
U
y
V
a pa i
de las siguien es exp esiones:
E=A−UV T,
U=U+d(EV −λU),
V=V+d(EU −λV ).
E apa 3.
Se epi e la e apa 2, ac ualizando las es ma ices has a que el e o sea
lo sucien emen e pequeño.
2.2.2. Clus e ing: algo i mo de las
k
-medias
El
clus e ing
es una écnica que consis e en clasica los da os disponibles en g upos
conocidos como
clús e es
. Cada clús e es á o mado po un conjun o de da os que compa -
en unas ca ac e ís icas simila es. Es o pe mi e iden ica los pa ones de compo amien o
que sigue la in o mación ecopilada, iden ica el g ado de simili ud en e los da os eco-
gidos y desc ibi los de o ma sin é ica. En el con ex o de los sis emas de ecomendación,
nos pe mi e sus i ui la in o mación de cada uno de los usua ios po la de un ep esen an e.
Exis en a ios en oques que se pueden segui a la ho a de ag upa la in o mación:
2.2. ESTRATEGIAS BASADAS EN MODELOS
23
Clus e ing je á quico
: su obje i o es c ea un dendog ama que pe mi a analiza
los pa ones y ni eles de simila idad de los clús e es. Es o se puede hace de o ma
aglome a i a o di isi a.

La o ma aglome a i a pa e de an os g upos como indi iduos haya y une los
dos de mayo simili ud o mando un solo clús e . Es e p oceso con inúa has a
que quede un único g upo.

El mé odo di isi o comienza con un clús e que con iene a odos los usua ios y
lo a disol iendo en obje os más pequeños, has a que cada uno de los indi iduos
con o ma un g upo.
Clus e ing pa icional
: en luga de conside a un clús e pa a cada usua io, el
núme o de g upos es de e minado de an emano y las pe sonas se an asignando a los
g upos en unción de su simili ud. Es e en oque es mejo opción que los dendog amas
cuando a amos con conjun os de da os muy g andes y es po ello que los sis emas de
ecomendación se han en ocado en es a egias de clus e ing pa icional. En pa icula ,
el algo i mo más implemen ado es algo i mo de las
k
-medias.
En el algo i mo de las
k
-medias, cada usua io es ep esen ado como un ec o de alo a-
ciones
ui= ( i1, . . . , in)
. Se siguen los siguien es pasos pa a su clasicación:
Paso 1.
En p ime luga , se dene el núme o
k
de ag upaciones en las que que emos
clasica el conjun o de usua ios. El núme o de clús e es se puede calcula de o ma
alea o ia, en base a un c i e io jado de an emano (
pu posed based
) como po ejemplo
clasica los usua ios en unción de si la media de sus alo aciones ienden a se al as,
medias o bajas, o a a és de una unción en la que se ep esen a la suma de los e o es
al cuad ado en e a cada núme o posible de clús e es (
elbow based
).
Paso 2.
A cada uno de los
k
-clús e es se le asocia un usua io ep esen an e. Es deci ,
si hemos c eado es clús e es po que que emos clasica los usua ios en aquellos que
suelen da alo aciones al as, bajas o medias, a cada uno de es os es clús e es le
asigna emos un usua io que ep esen e dichos obje i os.
Paso 3.
Con cada ep esen an e se calcula la media o cen o de cada clús e como la
media de las alo aciones dadas po su usua io ep esen an e. T as es o, el algo i mo
con inúa al e nado dos pasos:

Paso de asignación
: se calcula la dis ancia (euclidiana) en e la media de las
alo aciones de cada uno de los usua ios iniciales y la media de cada uno de
24
CAPÍTULO 2. SISTEMAS COLABORATIVOS
los
k
clús e es. Cada indi iduo es asignado al g upo cuyo cen o es é a meno
dis ancia de su media.

Paso de ac ualización
: as asigna los usua ios que pe enecen a cada clús e ,
se uel en a calcula los cen os.
Es e p oceso se debe epe i de o ma i e a i a, ac ualizando los cen os de los clús e-
es y los usua ios que los con o man, de mane a que se a educiendo la dis ancia en e la
media de cada miemb o del g upo y el cen o de los clús e es. El algo i mo e mina cuando
las medias de es os úl imos ya no a ían.
En lo ela i o a la p edicción de las alo aciones, se asumi á que las opiniones de los
usua ios de un mismo clús e son simila es, de o ma que la alo ación que le da á un
miemb o del g upo
k
a los í ems se á la media del clús e
k
. Es e algo i mo no calcula una
p edicción pa a cada uno de los a ículos, sino que es ima la alo ación gene al que le da á
cada usua io a odos los obje os del sis ema.
Ejemplo 2.5.
Veamos con un ejemplo (c icio) el uncionamien o del algo i mo de las
k
-
medias. Conside amos como ma iz de alo aciones la empleada en el ejemplo del algo i mo
de los
k
- ecinos pe o suponiendo más o os desconocidos. De nue o, buscamos p edeci los
o os del usua io 4 en los í ems 3 y 4. La Tabla 2.4 ecoge las alo aciones conocidas po
el sis ema.
I em 1 I em 2 I em 3 I em 4
Usua io 1 NA 2 2 5
Usua io 2 1 3 3 NA
Usua io 3 5 NA 4 2
Usua io 4 1 2 NA NA
Tabla 2.4: Ma iz de alo aciones del ejemplo.
Pa a es e ejemplo, usa emos 2 clús e es cuyos ep esen an es son los usua ios 1 y 2,
espec i amen e. De es a o ma, el cen o de cada clús e es 3 y 2.3. Veamos cómo se
ealizan las dos e apas del algo i mo:
1.
Paso de asignación:
en p ime luga calculamos la dis ancia exis en e en e la
media de las alo aciones de cada suje o y el cen o de los clús e es pa a hace la
clasicación inicial de los usua ios. El p ime usua io pe enece á al clús e 1 y el
2.3. VENTAJAS E INCONVENIENTES
25
segundo, al clús e 2 po la o ma en la que se han cons uido dichos g upos. El
e ce usua io, cuya media de alo aciones es 3.6, dis a de los g upos 1 y 2 en un 0.6
y en un 1.3, espec i amen e, po lo que se á clasicado en el p ime clús e . Po el
con a io, el cua o usua io, con media de 1.5, dis a de los clús e es 1.5 y 0.8, po
lo que pe enece á al segundo g upo. En esumen, los usua ios 1 y 3 es án el p ime
clús e , mien as que los usua ios 2 y 4 pe enecen al segundo clús e .
2.
Paso de ac ualización:
bajo es a congu ación, el cen o de cada clús e es 3.3 y
1.91.
Al epe i el algo i mo ob enemos que las medias ya no a ían, po lo que podemos
conside a es a clasicación como la deni i a. La alo ación que se es ima del usua io
ac i o a los í ems 3 y 4 coincidi á con el cen o del clús e al que pe enece. Es deci , se
p edice un o o de 1.91 a ambos obje os. Además, es e algo i mo pe mi e p edeci a la ez
el es o de las alo aciones desconocidas. La p edicción de odas las celdas no conocidas
de la ma iz de alo aciones del ejemplo es la siguien e:
I em 1 I em 2 I em 3 I em 4
Usua io 1 3.3 3 3 5
Usua io 2 1 3 3 1.91
Usua io 3 5 3.3 4 2
Usua io 4 1 2 1.91 1.91
Tabla 2.5: P edicciones gene adas con la écnica del clus e ing.
2.3. Ven ajas e incon enien es
Pa a naliza el capí ulo, enume a emos algunas de las en ajas y de los incon enien es
de los sis emas de ecomendación colabo a i os.
En e las en ajas, des aca el hecho de que es e ipo de ecomendación no necesi a
almacena demasiada can idad de in o mación pa a p oduci la ecomendación y pe mi e
suge i a ículos de ca ac e ís icas muy dis in as a las que ha eaccionado posi i amen e
el usua io, c eando una sensación de no edad. Sin emba go, el p incipal p oblema al que
se en en a es a la escasez de da os: cuando en la ma iz de alo aciones se desconocen
muchos alo es, las écnicas exis en es no uncionan lo sucien emen e bien. Es o lo su en
en especial los nue os a ículos y los usua ios ecién inco po ados al sis ema, ya que al no
32
CAPÍTULO 3. SISTEMAS BASADOS EN EL CONTENIDO
T as deni las clases, los ec o es de a ibu os de cada documen o se ag upan según
su simili ud con el ec o ep esen an e de cada clase. Dicha simili ud se suele calcula
usando la medida del coseno in oducida en (2.2). Con es o ob enemos una clasicación de
los a ibu os de cada documen o que in e esan o no al usua io, con lo que se c ea su pe l.
3.3. Fil ación del con enido
Una ez se ha cons uido el pe l del usua io ac i o, se hacen coincidi las ca ac e-
ís icas de dicho pe l con las de los elemen os ex aídas en el análisis del con enido. En
gene al, es o se consigue median e la simili ud del coseno. Cuan o más se pa ezcan el ec o
de a ibu os de un í em con los in e eses del pe l, más p obable se á que el usua io ac i o
encuen e ú il el obje o.
Además de p edeci qué í ems esul a án ú iles, en es a e apa se suele ecoge la im-
p esión que ha enido el usua io de las ecomendaciones hechas pa a ac ualiza su pe l y
pa a ene en cuen a la a iación de sus gus os en el iempo.
3.4. Ven ajas e incon enien es
La p incipal en aja de los sis emas de ecomendación basados en el con enido es que
pe mi en ene en cuen a la e olución de los gus os de los usua ios a lo la go del iempo.
Además, no son an dependien es de opiniones subje i as como los colabo a i os, lo cual
los p o ege de los a aques a los que es sensible es e úl imo. También co igen la al a de
p ecisión a la ho a de ecomenda nue os a ículos po que, una ez denido el pe l del
usua io, bas a con comp oba si es os encajan o no.
Po la con a, no se soluciona la al a de p ecisión a la ho a de ecomenda a nue os
usua ios, pues al ca ece de in o mación sob e alo aciones pasadas no es posible elabo a
su pe l. O a des en aja es que no siemp e es sencillo ep esen a y manipula el con eni-
do de los elemen os y en la p ác ica las desc ipciones dadas po los usua ios son pa ciales,
p es ando más a ención a unos a ibu os que a o os, po lo que el eedback no es ecogido
de o ma p ecisa. Al con a io que en el en oque colabo a i o, los sis emas basados en el
con enido pueden cae en la sob e-especialización, limi ando las ecomendaciones a a ícu-
los demasiado simila es.

Capí ulo 4
Sis emas basados en la elección
Los sis emas de ecomendación basados en la elección ealizan sus p edicciones me-
dian e la obse ación de las decisiones omadas po los usua ios cuando deben elegi en e
a ias al e na i as disponibles. Fue on usados po p ime a ez po Saa ed a, C ujei as,
Ba ei o, Lou ei o, Du án y Sánchez (2015).
Es a clase de ecomendado es no gene an una p edicción de las alo aciones de los
usua ios de la misma mane a que los sis emas clásicos, sino que lo hacen bajo un en o-
que p obabilís ico: calculan, pa a cada í em, la p obabilidad de que es e sea elegido po
el usua io ac i o y después ecomiendan los a ículos más p obables. Es o se consigue me-
dian e modelos de eg esión, en pa icula median e modelos de elección disc e a, donde la
a iable espues a oma alo es disc e os. Es a o ma de ecomendación pe mi e conoce
la inuencia que ienen cie as ca ac e ís icas de los í ems y usua ios en los gus os, con
lo que se consigue un mejo en endimien o, y po an o una mejo p edicción, de lo que
conduce al usua io a oma cada decisión.
En es e capí ulo se es udia á uno de los modelos de elección disc e a adicionales (logi )
en e a o o más mode no ges ado en las úl imas décadas (p obi ). En la Sección 4.1 se
desc ibe la o mulación gene al de odo modelo de elección disc e a. En la Sección 4.2 y
4.3 se aba can los modelos logi y p obi , espec i amen e. En ambos casos se expond á
la o ma que oma la p obabilidad de elección, cómo calcula la y algunas de las en ajas
y limi aciones que o ece. En el es udio de es os modelos se ha seguido como e e encia el
abajo de T ain (2009).
33
34
CAPÍTULO 4. SISTEMAS BASADOS EN LA ELECCIÓN
4.1. Fo mulación gene al de un modelo de eg esión de elec-
ción disc e a
Las pe sonas p e e imos un obje o sob e o o en unción del benecio o u ilidad que
nos apo e cada uno. Es os dependen de las ca ac e ís icas de cada í em (po ejemplo,
su p ecio) y de las pa icula idades de cada pe sona (po ejemplo, su capacidad econó-
mica). Los modelos de elección disc e a pe mi en modela a iables de ipo cuali a i o,
po lo que a a és de ellos es posible conoce cuales de los a ibu os que poseen los í ems
y los usua ios se ienen más en cuen a a la ho a de decan a se po una de e minada opción.
Aunque a simple is a podemos in ui algunas ca ac e ís icas que pa ecen indica qué
u ilidad apo a un obje o a un usua io, únicamen e la pe sona que oma la decisión sab á
cuál es la u ilidad eal de cada í em. Es deci , exis en ac o es que no se obse an a simple
is a y que a ec an a nues as elecciones. Podemos dis ingui en onces en e una u ilidad
eal y una u ilidad apa en e o ep esen a i a. Pa a que se quede cla a la di e encia en e
es as dos ideas, pensemos en la siguien e si uación.
Ejemplo 4.1.
Supongamos que que emos es udia el p oceso de elección que ealiza una
pe sona al escoge en e dos apas: o illa y c oque as de e illa y nueces. Apa en emen e,
las dos ca ac e ís icas de los í ems que pa ecen impo a a la elección son el ing edien e
p incipal (hue o o queso) y su es ilo (la o illa es un pla o adicional, mien as que las
c oque as son una ece a más inno ado a). En unción de es os dos a ibu os, podemos
ap oxima que la u ilidad obse ada de la o illa y de las c oque as es 5 y 3, espec i-
amen e. Es deci , la o illa pa ece la opción ecomendable pa a el usua io basándonos
en los ac o es apa en es. Es o no signica que sea la adecuada, pues pueden exis i o os
ac o es que no se han enido en cuen a y que sean lo sucien emen e impo an es como
pa a supe a la en aja.
En lo que sigue, deno a emos po
Uui
a la u ilidad eal, po
Vui
a la u ilidad ep esen-
a i a, po
xui
a las ca ac e ís icas que a ec an a la elección y se pe ciben a simple is a
y po
εui
a las ca ac e ís icas que a ec an a la elección pe o no se pe ciben a simple is a
pa a un usua io
u
y un í em
i
. En un modelo de elección disc e a, la u ilidad eal se modela
pa a cada usua io y cada í em como una unción lineal en los a ibu os obse ables,
Vui
,
y en los no obse ables,
εui
. La inuencia que iene cada uno de los a ibu os obse ables
en la elección del usua io se mide a a és de un ec o
β
pa a el cual cada componen e es
4.2. MODELO LOGIT
35
asociada a un a ibu o. De es a o ma, la o mulación gene al de la u ilidad es la siguien e:
Uui =Vui +εui =βxui +εui.
(4.1)
Los é minos no obse ados, al se imp edecibles, se a a án como a iables alea o ias
con una densidad de p obabilidad
(εu)
. Bajo es e en oque, la p obabilidad de que el
usua io
u
elija la al e na i a
i
se calcula como una in eg al de an as dimensiones como
al e na i as haya:
Pui =P(Uui > Uuj ∀j6=i)
=P(Vui +εui > Vuj +εuj ∀j6=i)
=P(εuj −εui < Vui −Vuj ∀j6=i)
=Zε
I(εuj −εui < Vui −Vuj ∀j6=i) (εu)dεu.
(4.2)
Según las es icciones que se le apliquen a la unción de densidad
(εu)
, su gen di e-
en es modelos de elección disc e a. En el modelo logi , los e o es siguen una dis ibución
de ipo alo ex emo, mien as que en el modelo p obi gua dan una dis ibución no mal.
En la p ác ica, las p obabilidades calculadas po cada modelo esul an muy simila es.
4.2. Modelo logi
El modelo logi es el modelo de elección disc e a más simple y de uso más ex endido. Se
ob iene suponiendo que los a ibu os no obse ados
εui
que a ec an a elección de un usua io
siguen una densidad de p obabilidad de ipo alo ex emo. En la p ác ica, es o es lo mismo
que supone que los a ibu os son independien es y es án idén icamen e dis ibuidos pe o
con colas más g uesas.
4.2.1. P obabilidad de elección
Pa a calcula la p obabilidad de que un usua io
u
elija la al e na i a
i
en el modelo logi ,
es necesa io in oduci p e iamen e la unción de densidad y la unción de dis ibución de
ipo alo ex emo:
(εui) = e−εui e−e−εui ,
(4.3)
F(εui) = e−e−εui .
(4.4)
36
CAPÍTULO 4. SISTEMAS BASADOS EN LA ELECCIÓN
Bajo es as es icciones y po la independencia de los a ibu os, de la exp esión gene al de
la p obabilidad de elección in oducida en (4.2) se puede esc ibi
Pui
como sigue:
Pui =Zε
I(εuj < εui +Vui −Vuj ∀j6=i) (εu)dεu
=Z∞
−∞
(Y
j6=i
e−e−εui+Vui−Vuj )e−εu,i e−e−εui dεu.
Si enemos en cuen a que pa a la al e na i a
i
se e ica que
Vui −Vui = 0
y que
εui
oma á
un alo conc e o
s
, po las p opiedades de la unción exponencial enemos que:
Pui =Z∞
−∞
(Y
j
e−e−(s+Vui−Vuj ))e−sds
=Z∞
−∞
e−(Pje−e−(s+Vui−Vuj ))e−sds
=Z∞
−∞
e−e−sPje−(Vui−Vuj )e−sds.
Finalmen e, median e el cambio de a iable
=e−s
, la p obabilidad de elección en un
modelo logi oma la siguien e exp esión:
Pui =eVui
PjeVuj =eβxui
Peβxuj .
(4.5)
En la Figu a 4.1 se mues a la elación exis en e en e es a ó mula y la u ilidad ep e-
sen a i a. Podemos e que la exp esión calculada bajo las es icciones del modelo logi
oma alo es en e 0 y 1, ace cándose a 0 al disminui la u ilidad ep esen a i a y a 1 al
aumen a . Toma á el alo 1 únicamen e cuando haya un único í em y nunca se llega á al
alo 0 po que cuando una al e na i a no a a se elegida, es excluida del sis ema. Además,
la suma pa a cada al e na i a es 1, lo que se in e p e a como que necesa iamen e el usua io
elige una de las opciones. Con es o comp obamos que dicha exp esión es, en e ec o, una
p obabilidad.
Además, podemos obse a que si la u ilidad obse ada de una al e na i a es muy baja
en compa ación con o as al e na i as, una mejo a de sus a ibu os no ha á que es a sea
elegida. Lo mismo pasa cuando una al e na i a iene u ilidad obse ada muy supe io a
las demás. Aumen a la u ilidad de una al e na i a end á e ec o cuando la p obabilidad
de elección sea p óxima a 0.5.
4.2. MODELO LOGIT
37
Figu a 4.1: G áca de la cu a logi .
4.2.2. Es imación de la p obabilidad
Pa a gene a la p edicción, un sis ema de ecomendación basado en el modelo logi debe
calcula la p obabilidad de elección pa a cada í em y cada usua io. Pa a ello, es necesa io
es ima el alo de los coecien es
β
que indican el e ec o de los a ibu os obse ables en
la u ilidad. Es a a ea se ealiza a a és de la es imación de máxima e osimili ud, con
la cual se ob iene el alo es imado de los pa áme os que maximizan la p obabilidad de
elección. Los pasos a segui son los siguien es:
Paso 1.
En el apa ado an e io hemos ob enido la p obabilidad de que un usua io
u∈U
elija un í em
i∈I
. El sis ema de ecomendación necesi a calcula la dis i-
bución de p obabilidad pa a cada usua io, es deci , una unción que asigne a cada
usua io la p obabilidad o al de elección de los í ems del sis ema. Como en un modelo
logi se asume que los a ibu os obse ables son independien es de los no obse a-
bles, podemos modela es a unción ácilmen e median e un indicado
yui
que ome
el alo 1 si el usua io elije la al e na i a y el alo 0, en o o caso. De es a o ma, la
dis ibución de p obabilidad pa a cada usua io
u
del sis ema es:
F(u) = Y
i∈I
Pyui
ui .
(4.6)
Paso 2.
El siguien e paso es calcula la unción de máxima e osimili ud asociada
a es a dis ibución,
L(β)
. Si la elección de cada usua io es independien e de las
elecciones del es o, es a unción oma el siguien e alo :
L(β) = Y
u∈UY
i∈I
Pyui
ui ,
(4.7)
siendo
β
el ec o de pa áme os que que emos es ima .

38
CAPÍTULO 4. SISTEMAS BASADOS EN LA ELECCIÓN
Paso 3.
El es imado de máxima e osimili ud de los coecien es se á el alo de
β
que maximice la unción de e osimili ud. Pa a acili a los cálculos, se ealiza una
ans o mación monó ona de dicha unción a a és de los loga i mos. Es a nue a
exp esión se conoce como log- e osmili ud,
LL(β)
. El alo que maximiza la p o-
babilidad del log- e osmili ud es equi alen e al alo que maximiza la unción de
máxima e osimili ud. La unción log- e osimili ud en es e caso es:
LL(β) = X
u∈UX
i∈I
yui ln(Pui)
=X
u∈UX
i∈I
yui ln( eβxui
Pj∈Ieβxuj )
=X
u∈UX
i∈I
yui(βxui)−X
u∈UX
j∈I
yui ln(X
j∈I
eβxuj ).
(4.8)
Paso 4.
Calculamos la de i ada de la unción log- e osmili ud pa a halla el máximo
de la unción log- e osimili ud:
LL(β)
dβ =X
u∈UX
i∈I
yuixui −X
u∈UX
i∈I
yui X
j∈I
Pujxuj
=X
u∈UX
i∈I
yuixui −X
u∈UX
j∈I
(Pujxuj)X
i∈I
yui
=X
u∈UX
i∈I
yuixui −X
u∈UX
j∈I
(Pujxuj)
=X
u∈UX
i∈I
(yui −Pui)xuj .
(4.9)
Paso 5.
Igualando a ce o la exp esión an e io , ob enemos que el es imado de
β
que
maximiza la p obabilidad de elección debe e ica la siguien e p opiedad:
1
|U|X
u∈UX
i∈I
yuixui =1
|U|X
u∈UX
i∈I
Puixui.
(4.10)
Es a condición asegu a que el p omedio de los coecien es es imados que se asocia
a cada uno de los a ibu os obse ables coincide con su alo eal. De es a o ma, la
es imación ep oduce de o ma p ecisa lo obse ado en el sis ema.
Cuando el núme o de al e na i as es demasiado g ande como pa a ealiza los cálculos
desc i os, el modelo logi pe mi e es ima
β
a pa i de un subconjun o de al e na i as
K
elegido de o ma alea o ia y de o ma que odas las al e na i as engan la misma p obabi-
lidad de pe enece a él. En es e caso, la p obabilidad de que el usua io elija la al e na i a
4.2. MODELO LOGIT
39
i
condicionada a que se haya seleccionado el subconjun o
K
no es más que la ó mula logi
es ingida a las al e na i as del subconjun o:
P(i|K) = eVui
Pj∈KeVuj .
(4.11)
Como no a ía la dis ibución de la p obabilidad de elección pa a los usua ios, la es imación
se ealiza de la o ma explicada sus i uyendo el conjun o comple o de al e na i as
I
po el
subconjun o
K
.
4.2.3. Ven ajas y limi aciones
El modelo logi des aca po la sencillez con la que son calculadas las p obabilidades de
elección. Además, su exp esión pe mi e ene en cuen a cambios impo an es que pueden
a ec a a la u ilidad. Algunos de ellos son:
La dispe sión de las opiniones.
Al ajus a indi idualmen e los coecien es de los
a ibu os, la p obabilidad de elección logi pe mi e cap u a las di e en es p e e encias
de los usua ios del sis ema cuando es as dependen de ac o es obse ables.
Las mejo as en los í ems.
Cuando los a ibu os de una al e na i a mejo an, au-
men a la p obabilidad de que es a sea elegida. Como la p obabilidad de odas las
al e na i as debe suma 1, es o implica que la p obabilidad de o a disminuye. El
modelo logi es capaz de ep esen a es o cuando el cambio de un a ibu o de una
al e na i a a ec a de o ma p opo cional a la p obabilidad de elección del es o (po
ejemplo, si cuando una al e na i a mejo a en un 10%, la p obabilidad de las demás
cae un 10%).
La e olución de los gus os.
La p obabilidad logi puede inclui in o mación sob e
las di e en es elecciones del usua io en el iempo siemp e que se man engan las es-
icciones sob e los ac o es no obse ados. De es a o ma, es posible ene en cuen a
la e olución de los gus os de los usua ios.
La a iación de p e e encias.
A a és de la de i ada de la p obabilidad de elec-
ción, se mide el cambio en la p obabilidad de que un usua io elija cie a al e na i a
cuando hay un cambio en alguno de sus a ibu os. Con las de i adas c uzadas se cal-
cula cómo e oluciona la p obabilidad de elegi una al e na i a al cambia un a ibu o
obse able de o a al e na i a.
Po o o lado, el modelo logi no es uc u a la in o mación, po lo que necesi a de
mucho espacio de almacenamien o. Además, aunque la es icción impues a a los ac o es
40
CAPÍTULO 4. SISTEMAS BASADOS EN LA ELECCIÓN
alea o ios no esul a demasiado es ic i a en la p ác ica, no pe mi e ene en cuen a la
componen e alea o ia que a ec a a las decisiones, limi a la mane a de ep esen a la me-
jo a de los a ibu os y no puede analiza decisiones sucesi as cuando los a ibu os es án
co elacionados en el iempo.
4.3. Modelo p obi
El modelo p obi es un modelo ecien e que se ha diseñado pa a supe a las p incipales
limi aciones del logi . Se ob iene suponiendo que los a ibu os no obse ados que a ec an
a elección de un usua io,
εui
, siguen una dis ibución no mal conjun a de media ce o y
ma iz de co a ianza
Ω
.
4.3.1. P obabilidad de elección
La p obabilidad de que el usua io
u
elija la al e na i a
i
en el modelo p obi se exp esa
como la siguien e in eg al sob e las
J
al e na i as posibles:
Pui =P(Vui +εui > Vui +εuj ∀j6=i)
=ZI(Vui +εui > Vui +εuj ∀j)φ(εu)dεu,
(4.12)
donde
I()
oma el alo 1 si la exp esión en e pa én esis es e dade a y el alo 0 si es
es a alsa y
φ(εu)
es la unción de dis ibución de una no mal de media ce o y ma iz de
co a ianza
Ω
.
4.3.2. Simulación de la p obabilidad
La p obabilidad p obi no iene una exp esión ce ada, po lo que debe ap oxima se
numé icamen e. Pa a ello, se dene un es imado de la p obabilidad de elección, al que se
le denomina p obabilidad simulada, y se ob iene su alo po p ocedimien os de simulación
numé ica. En es a sección es udia emos el uncionamien o de los dos simulado es más
comunes: el simulado acep ación- echazo y el simulado GHK, en e e encia a los au o es
Geweke (1991), Haji assiliou (1998) y Keane (1994).
Simulado acep ación- echazo
El simulado acep ación- echazo ap oxima la p obabilidad p obi median e los siguien-
es pasos:
Paso 1.
Se ob ienen di e en es alo es de los é minos alea o ios. Pa a ello se usan
los llamados ac o es Choleski como sigue:
4.3. MODELO PROBIT
41

Se ex aen
J
alo es al aza de una dis ibución no mal es ánda . Con ellos
se dene un ec o
η
de
J
no males es ánda independien es e idén icamen e
dis ibuidas.

Se busca el ac o de Choleski de la ma iz de co a ianza de los é minos alea o-
ios
Ω
. Un ac o de Choleski de una ma iz
A
es una ma iz iangula in e io
L
al que
LL0=A
.

El ec o de é minos alea o ios se cons uye median e el p oduc o
εu=Lη
. De
es a o ma, se ob iene un ec o de dis ibución no mal con media ce o y ma iz
de co a ianza
Ω
.
Paso 2.
Con cada uno de los alo es ex aídos, se calcula la u ilidad de cada al e -
na i a y se es udia si es a da ía luga a que la opción
i
uese la elegida (es deci ,
calculamos la unción indicado a que apa ece en (4.12)). Si es así, el alo ex aído
se calica como una acep ación; en caso con a io, como un echazo.
Paso 3.
Es os pasos se epi en múl iples eces. La p obabilidad simulada
P0
u,i
se
calcula como la p opo ción de alo es ex aídos que son acep ados. Se a a de un
es imado no sesgado de
Pu,i
cuya a ianza disminuye al aumen a el núme o de
ex acciones.
Simulado GHK
El simulado GHK exp esa la p obabilidad en é minos de di e encias de u ilidades
en luga de usa la o mulación gene al es udiada en el apa ado an e io . Es o obliga a
e-deni la p obabilidad de elección y, en consecuencia, la p obabilidad simulada. Veamos
en p ime luga la exp esión que oma la p obabilidad de elección omando di e encias de
u ilidades.
Pa iendo de la o mulación gene al de la u ilidad,
Uui =Vui +εui
, hacemos los siguien-
es cambios:
Pa a aquellas al e na i as
j
dis in as a la de in e és
i
, conside amos la di e encia
en e sus u ilidades y la u ilidad de
i
. Es deci , conside amos la siguien e u ilidad:
U0
uji =V0
uji +εuji
con
ε0
ui ∼N(0, Ω0
i).
Pa a la al e na i a
i
de in e és, e-exp esamos su u ilidad esc ibiendo los é minos
alea o ios como el p oduc o de un ac o Choleski y un ec o de no males es ánda
independien es e idén icamen e dis ibuidas:
U0
ui =V0
ui +Liηui.
48
CAPÍTULO 5. APLICACIÓN AL ÁMBITO TURÍSTICO-GASTRONÓMICO
Fo ma 1:
ellenando las celdas desconocidas po ce os.
Fo ma 2:
ellenando las celdas desconocidas
u,i
po la media de alo aciones del
í em que se encuen a en la columna
i
y es ando la media de las alo aciones dadas
po el usua io que se si úa en la la
u
.
T as comple a la ma iz, se calculó su descomposición en alo es singula es usando la
unción
s d
. Es e comando nos de uel e las ma ices
U
y
V
cuyo p oduc o es exac amen e
la ma iz de o os, además de sus alo es singula es. A con inuación, se analizó el núme o
de columnas que se podían omi i en
U
y
V
de o ma que su p oduc o siguiese siendo una
buena ap oximación de la ma iz de alo aciones. Pa a ello se u ilizó la unción
p op. able
,
que mide la p ecisión de la ap oximación pa a cada columna ( eco demos que cada colum-
na es un au o ec o asociado a un alo singula ). Pa a cada una de las dos soluciones
conside adas, las ma ices de ca ac e ís icas se pueden educi a lo siguien e:
Fo ma 1:
con el p ime alo singula (y po an o, con la p ime a columna de cada
ma iz) se explica el 10.1587585% de la dispe sión de los da os; con el segundo, un
5.16% y con el úl imo, sólo un 0.1%. Se necesi an 32 columnas pa a explica el 80%
de la dispe sión de la a ianza. Usa 32 columnas pe mi e educi los
3953 ×62 = 245086
núme os de la ma iz de o os a
3953 ×32 + 32 + 32 ×62 = 128512.
Fo ma 2:
el p ime alo singula explica el 79.64% de la dispe sión de los da os; el
segundo alo , 17.11% y el úl imo, el 0.16%. Necesi amos los dos p ime os alo es
singula es pa a ap oxima la ma iz de alo aciones con una p ecisión supe io al
80%. En pa icula , con dos columnas se espe a una p ecisión del 96.76%. El espacio
ocupado se educe así de 245086 núme os a 8032.
Una ez jado el núme o de columnas al que se puede educi cada ma iz, se calcula on las
ma ices educidas. Su p oduc o es una ma iz cuyas celdas son las alo aciones espe adas
de cada usua io a cada í em. En las Tablas 5.5 y 5.6 se ecogen las p edicciones ob enidas
en cada caso. Pa a cada una de las o mas conside adas, obse amos lo siguien e:
Fo ma 1:
odas las p edicciones son muy p óximas a ce o, ya que el mé odo es á
ap oximando una ma iz con muchos alo es nulos y no dis ingue si el alo 0 de la
ma iz simboliza que el usua io ha o ado la apa con un 0 o que no la ha o ado. En
consecuencia, las es imaciones no son p ecisas. Es o lo comp obamos con el cálculo
del MAE, que oma el alo de 0.873.

5.2. ANÁLISIS A TRAVÉS DE SISTEMAS COLABORATIVOS
49
Fo ma 2:
en es e caso, las p edicciones ob enidas pa a cada apa esul an muy
simila es independien emen e del usua io que se es é conside ando. El e o medio
absolu o come ido es de 0.778, po lo que podemos a ma que es e algo i mo no
p oduce buenas p edicciones, aunque se mejo a la p ecisión con espec o a comple a
la ma iz de alo aciones con ce os.
10 100 101 102 103 108 109 11
u100 1.633 -0.047 -0.013 0.208 0.199 0.081 0.059 0.348
u1000 0.049 -0.056 0.004 -0.009 0.027 -0.014 0.027 0.007
u1001 0.039 -0.047 1.799e-04 -4.793e-04 8.245e-03 1.11e-03 -0.018 0.012
Tabla 5.5: P edicción de los o os median e la descomposición en alo es singula es cal-
culando las ma ices de ca ac e ís icas median e au o ec o es as habe comple ado las
celdas desconocidas de la ma iz de alo aciones con ce os.
10 100 101 102 103 108 109 11
u100 4.079 3.525 4.507 3.332 3.715 3.227 3.346 4.49
u1000 4.092 3.518 4.569 3.292 3.696 3.179 3.305 4.531
u1001 4.096 3.516 4.560 3.301 3.706 3.189 3.314 4.532
Tabla 5.6: P edicción de los o os median e la descomposición en alo es singula es cal-
culando las ma ices de ca ac e ís icas median e au o ec o es as habe comple ado las
celdas
u,i
de la ma iz de alo aciones po di e encia de la media de
i
y la media de
u
.
Cálculo de las ma ices de ca ac e ís icas i e a i o
Siguiendo el algo i mo p opues o po Funk (2006), podemos encon a las ma ices de
ca ac e ís icas que, con una única columna, ap oximen mejo la ma iz de o os si pa imos
de dos ma ices alea o ias y ajus amos sus alo es median e el algo i mo del descenso del
g adien e. Es e p oceso ue epe ido has a que el e o come ido en la ap oximación uese
meno de 1E-06 (o se supe ase un núme o máximo de i e aciones).
En la Tabla 5.7 se ecogen las p edicciones de las alo aciones, las cuales se ob ienen
mul iplicando las ma ices de ca ac e ís icas nales. Los alo es ob enidos ienden a sob e-
alo a los í ems, llegando incluso a supe a el máximo con el que se pueden o a las apas.
50
CAPÍTULO 5. APLICACIÓN AL ÁMBITO TURÍSTICO-GASTRONÓMICO
A medida que aumen amos el núme o de columnas con las que se calculan las ma ices de
ca ac e ís icas, es e p oblema se co ige. Aún con es a complicación, el e o medio abso-
lu o come ido po es e algo i mo es 0.314, meno que el ob enido con los mé odos an e io es.
10 100 101 102 103 108 109 11
u100 4.104 3.548 4.753 3.121 3.237 3.253 3.346 4.435
u1000 4.786 4.142 5.533 3.638 3.776 3.793 3.903 5.172
u1001 4.542 3.929 5.254 3.452 3.582 3.599 3.703 4.908
Tabla 5.7: P edicción de los o os median e la descomposición en alo es singula es cal-
culando las ma ices de ca ac e ís icas de o ma i e a i a siguiendo el algo i mo de Funk
(2006).
5.2.3. Clus e ing: algo i mo de las
k
-medias
El algo i mo de las
k
-medias ag upa a los usua ios del sis ema en
k
g upos llamados
clús e es. De cada clús e se calcula un cen o como la media de las alo aciones de los
usua ios que lo componen; as es o, se uel en a clasica los usua ios de o ma que cada
uno pe enezca al clús e cuyo cen o es é más ce cano a la media de sus alo aciones. Es e
algo i mo no calcula una p edicción pa a cada í em, sino que es ima la alo ación gene al
que le da á cada usua io a los í ems.
En p ime luga se selecciona on las
k
pe sonas que denen los
k
g upos en los que se
quie e ag upa a los usua ios. Se eligie on los usua ios u100, u1000 y u1007 po que, de es a
o ma, los cen os iniciales de los es clús e es son 4, 5 y 3, espec i amen e. Es deci , a
a és del algo i mo de las
k
-medias se clasican los usua ios del sis ema en es g upos:
aquellos a los que le suelen gus a odas las apas (clús e 2, de media 5), a los que le gus an
la mayo ía de las apas (clús e 1, de media 4) y aquellos más c í icos (clús e 3, de media 3).
A con inuación, se asignó cada usua io al clús e cuyo cen o es é más ce ca de su me-
dia de alo aciones y se ol ió a calcula la media de cada clús e . Es e p oceso se epi e
i e a i amen e has a que la media de los clús e es no a íe. Encon amos que el algo i mo
e mina en 4 i e aciones, a pa i de la cual la clasicación de los usua ios se man iene
es able y el cen o de los clús e no a ía de 3.905, 4.927 y 2.625, espec i amen e. La
Tabla 5.8 ecoge algunos de los usua ios que componen cada clús e .
5.3. ANÁLISIS A TRAVÉS DE SISTEMAS DE ELECCIÓN: MODELO LOGIT
51
Clus e 1 u100, u1003, u1006, u1008, u101, u1011,
Clus e 2 u1000, u100, u1002, u1004, u1005, u1009, u1010, u1012, u1013
Clus e 3 u1007, u1014
Tabla 5.8: Clasicación en clús e es de 15 usua ios del sis ema po el algo i mo de las
k
-medias.
Po úl imo, se calcula on las p edicciones gene ales de cada usua io, que son los cen os
del clús e al que pe enecen. En la Tabla 5.9 se ecogen los esul ados ob enidos. Aunque
las p edicciones ob enidas son muy gene ales, pues se da una misma alo ación de los í ems
pa a cada usua io, el e o medio absolu o es de 0.381, po lo que podemos deci que el
clus e ing es bas an e p eciso.
10 100 101 102 103 108 109 11
u100 3.905 3.905 3.905 3.905 3.905 3.905 3.905 3.905
u1000 4.927 4.927 4.927 4.927 4.927 4.927 4.927 4.927
u1001 4.927 4.927 4.927 4.927 4.927 4.927 4.927 4.927
Tabla 5.9: P edicción de los o os usando el algo i mo de las
k
-medias.
5.3. Análisis a a és de sis emas de elección: modelo logi
Los sis emas de ecomendación basados en la elección no p edicen las alo aciones de
los usua ios de la misma mane a que los sis emas clásicos, sino que lo hacen bajo un en o-
que p obabilís ico. A pa i de las ca ac e ís icas de los í ems y de los usua ios, calculan la
p obabilidad de que un obje o sea elegido po el usua io ac i o. Como las p obabilidades
logi y p obi esul an muy simila es en la p ác ica, nos cen a emos solo en p edeci los
gus os a a és de un modelo logi al ene es e una implemen ación más ápida. Es udia-
emos, así, cómo a ec a el ing edien e p incipal que compone cada apa y el ca ác e de
su ece a a los gus os de los usua ios y calcula emos con ellos las p obabilidades logi de
elección. Pa a ello, se usa á la unción
mlogi
.
La unción
mlogi
de uel e la es imación de máxima e osimili ud de los coecien es
que indican la ele ancia de los a ibu os conside ados. Un coecien e posi i o indica que
52
CAPÍTULO 5. APLICACIÓN AL ÁMBITO TURÍSTICO-GASTRONÓMICO
dicho a ibu o hace más p obable que la apa gus e y un coecien e nega i o se asocia con
un éxi o meno . Con el comando
summa y
, ob enemos, en e o a in o mación, los
p
- alo es
asociados a cada coecien e. Conside a emos que un esul ado es signica i o si su
p
- alo
es meno de 0.01. A con inuación se mues an los coecien es es imados que ob enemos
con es a unción y sus
p
- alo es asociados.
1
> modelo<
=
mlogi ( choice ~Cheese+Egg+Fish+Mea + O he +
Shell ish+Swee +Vege able+T adi ional | 0 , A1)
2
>summa y(modelo)
3
Coe icien s :
4
Es ima e P (>|z |)
5
Cheese
=
5.5744e
=
01 1
6
Egg 6.7755e
=
03 1
7
Fish
=
3.2582e
=
01 1
8
Mea
=
2.8486e
=
02 1
9
O he
=
3.0794e
=
01 1
10
Shell ish
=
9.5019e
=
02 1
11
Swee
=
7.7137e
=
01 1
12
Vege able
=
4.8289e
=
01 1
13
T adi ional
=
1.4649e
=
01 2.236e
=
11
***
Código 5.1: Coecien es es imados con la unción
mlogi
asociados a los ing edien es
p incipales de cada apa y al es ilo con el que ue on elabo adas y sus espec i os
p
- alo es.
El único esul ado signica i o que ob enemos es que el es ilo de las apas a ec a a
los gus os: las ece as mode nas gus an más que las adicionales. Pues o que la media de
odas las apas de ece a adicional es 3,69 y la de las a e idas es 4,07, es e esul ado
pod ía in ui se en una p ime a obse ación de los da os, pe o median e los modelos de
elección disc e a asegu amos que exis en e idencias es adís icas pa a a ma que en los
gus os inuye el es ilo de elabo ación. De o a o ma, no pod íamos dis ingui si dicha
obse ación es cie a o es una simple casualidad.
Po úl imo, se ha calculado la p obabilidad con la que gus a cada apa. En la Tabla
5.10 se mues an algunas de es as p obabilidades. Aco de a es os esul ados, la apa con
más p obabilidad de gus a a los usua ios de las mos adas es la 101, seguida de 100, 11,
108, 10 y 103, 102 y 109.
5.4. COMPARATIVA
53
Tapa 10 100 101 102 103 108 109 11
P obabilidad 0.01296 0.01745 0.01890 0.01108 0.01296 0.01528 0.00961 0.01633
Tabla 5.10: P obabilidades logi asociadas a cada apa.
Al abaja con un modelo de eg esión, podemos compa a las es imaciones ob enidas
con o as pa a e alua si las a iables conside adas son impo an es o pa a hace hipó esis
sob e los coecien es ob enidos. Po ejemplo, pod íamos compa a los coecien es mos-
ados con los de un modelo donde los coecien es asociados a los ing edien es hue o y
pescado sean los mismos. A a és de la lib e ía
aod
se calcula el es adís ico adecuado
pa a es e es y su
p
- alo . Ob enemos que el es adís ico de la p ueba se asocia con un
p
- alo de 5.5E-12 y, po an o, la di e encia en e los dos coecien es es es adís icamen e
signica i a.
5.4. Compa a i a
Los esul ados ob enidos pueden se compa ados en é minos de e o medio absolu o y
alcance. Como pa a los sis emas basados en la elección hemos calculado una p obabilidad
en luga de una p edicción de la alo ación, no se ha calculado el MAE pa a es e caso,
aunque es posible adap a su exp esión a es e con ex o. En la Tabla 5.11 se ecoge de o ma
esumida dichos alo es pa a los algo i mos colabo a i os.
MAE Alcance
k
- ecinos Pea son 0.324 Usua ios con más de un o o
Coseno 0.882 100%
SVD Comple ando con ce os 0.873 100%
Comple ando con medias 0.778 100%
I e a i o 0.314 100%
Clus e ing 0.381 100%
Tabla 5.11: E o medio absolu o y alcance de las p edicciones ob enidas con las écnicas
de ecomendación colabo a i a es udiadas.
El algo i mo con meno e o , y po an o el que p oduce p edicciones más p ecisas,

54
CAPÍTULO 5. APLICACIÓN AL ÁMBITO TURÍSTICO-GASTRONÓMICO
es la descomposición en alo es singula es i e a i a, seguida del algo i mo de los
k
- ecinos
midiendo la simili ud con la co elación de Pea son y el clus e ing. Po el con a io, la simi-
li ud del coseno y la descomposición median e el cálculo de los au o ec o es p oducen las
p edicciones menos p ecisas. En lo ela i o al alcance, excep o con la co elación de Pea -
son, odas las écnicas p oducen una p edicción pa a cada í em no o ado po los usua ios.
Además, sob e cada écnica empleada se pueden hace las siguien es obse aciones:
Algo i mo de los
k
- ecinos.
Es la écnica más sencilla de en ende e in e p e a
y puede se mejo ada cons an emen e al añadi ac o es como la conanza en e
usua ios. Su p incipal des en aja es que necesi a almacena mucha in o mación y su
p ecisión baja cuan os más da os se desconozcan, especialmen e si se mide la simili ud
con el coseno.
Descomposición en alo es singula es.
Encon a las ma ices de ca ac e ís icas
median e los au o ec o es esul a un mal mé odo po que equie e mucho espacio de
almacenamien o y la p ecisión es baja. Sin emba go, si se sigue el p ocedimien o
i e a i o, se ob ienen las mejo es p edicciones en é minos de e o aún cuando se
desconocen muchas celdas de la ma iz de alo aciones y además se necesi a muy
poco espacio de almacenamien o. Po la con a, puede esul a un algo i mo muy
len o si la inicialización de las ma ices de ca ac e ís icas no es ace ada.
Algo i mo de las
k
-medias.
Es a écnica iene como en aja p incipal su sencillez,
lo que hace que su implemen ación sea ápida y simple. La p incipal limi ación a la
que se en en a es que no pe mi e da una p edicción indi idual pa a cada í em,
cayendo en esul ados demasiado gene ales.
Modelo logi .
Con el modelo logi ob enemos in o mación impo an e que a ec a
a las alo aciones de los usua ios y que no es enida en cuen a po los algo i mos
an e io es. Además, al a a se de un modelo de eg esión, su implemen ación en un
so wa e como R es sencilla. Sin emba go, es el mé odo que exige mayo espacio de
almacenamien o y que a da más iempo en ejecu a se.
En balance, podemos deci que la descomposición en alo es singula es i e a i a y el
clus e ing son los algo i mos que calculan p edicciones más p ecisas cuando en la ma iz
de alo aciones se desconocen muchas celdas y que las es imaciones se mejo an con los
modelos de elección disc e a. De es a o ma, podemos combina las p edicciones con el
hecho de que los usua ios ienden a p e e i las apas mode nas pa a p oduci mejo es
ecomendaciones. Además, ene en cuen a la simili ud en e ecinos pe mi e mejo a la
calidad de las suge encias y p oduci una espues a más ápida.
Capí ulo 6
Conclusiones
Los sis emas de ecomendación son he amien as muy ú iles pa a los consumido es y
pa a mul i ud de indus ias ya que, a a és de ellos, se pueden conoce los gus os de la
población y los obje os que más se ajus an a sus necesidades y p e e encias. De es a o ma,
se op imiza el iempo in e ido en selecciona la mejo al e na i a pa a cada pe sona. En
es e abajo de n de g ado se han es udiado los dos en oques adicionales a la ho a de
gene a una ecomendación y se ha analizado cómo pueden se mejo ados median e los
modelos de elección disc e a.
Los sis emas más clásicos, las colabo a i os, pe mi en gene a ecomendaciones sin
ene que almacena demasiada in o mación sob e los usua ios y los í ems. Cuando el al-
macenamien o de los da os es mayo , es as ecomendaciones son más p ecisas al u iliza
sis emas basados en el con enido, pues es os ienen en cuen a la e olución de los gus os
de los usua ios. Las des en ajas de cada uno de es os en oques se pueden compensa con
las en ajas del o o. Po ejemplo, los sis emas basados en el con enido suelen cae en
la sob e-especialización, mien as que los colabo a i os son capaces de de ec a a ículos
di e en es a los que suele consumi el usua io y que le pueden gus a . En con aposición,
es os úl imos no gene an buenas alo aciones cuando los gus os de los usua ios son muy
dispe sos y pueden se a acados con el obje i o de inclina las ecomendaciones hacia de-
e minados a ículos, mien as que los sis emas colabo a i os no p esen an ninguno de los
dos p oblemas. Sin emba go, aunque se combinen, los sis emas de ecomendación clásicos
siguen p esen ando cie as limi aciones, como la al a de p ecisión a la ho a de p edeci los
gus os de usua ios que acaben de inco po a se al sis ema.
En espues a a es os obs áculos se p esen an los sis emas de ecomendación basados en
la elección. Con ellos, se supe an los p oblemas de p ecisión an e nue os usua ios, nue os
55
56
CAPÍTULO 6. CONCLUSIONES
í ems, dispe sión de las opiniones o la sob e-especialización, a la ez que se iene en cuen a
la e olución de los gus os de las pe sonas, la mejo a de los í ems y el con ex o en el que se
ealiza cada ecomendación. El p incipal desa ío al que se encuen an es la disminución del
espacio de almacenamien o que necesi an pa a su implemen ación. La Tabla 6.1 desc ibe de
o ma isual los p oblemas a los que se en en a cada uno de los sis emas de ecomendación
es udiados.
Colabo a i os Con enido Elección
Op imización del espacio de almacenamien o
X
Ö Ö
No caen en la sob e-especialización
X
Ö
X
P ecisión an e nue os í ems
Ö
X X
P ecisión an e opiniones dispe sas
Ö
X X
Segu idad
Ö
X X
Tienen en cuen a la e olución de los gus os
Ö
X X
P ecisión an e nue os usua ios
Ö Ö
X
Tienen en cuen a la mejo a de los a ibu os
Ö Ö
X
Tienen en cuen a el con ex o del usua io
Ö Ö
X
Tabla 6.1: Desa íos a los que se en en an los sis emas de ecomendación colabo a i os,
basados en el con enido y basados en la elección. Una
X
indica que no se p esen a el
p oblema y una
Ö
, lo con a io.
Finalmen e, con es e abajo se ha podido analiza la g an e olución que han su ido
los sis emas de ecomendación. Se han examinado las écnicas más usadas a la ho a de
p edeci los gus os de los usua ios y una de las al e na i as más mode nas, pe o nue os
modelos y mejo as de los algo i mos ya conocidos son p esen adas cons an emen e, po lo
pod íamos segui es udiando sob e es e ema ilimi adamen e.
Apéndice: código en R
En es e Apéndice se inco po a el código elabo ado en el so wa e R pa a aplica los
algo i mos de ecomendación es udiados con la base de da os p esen ada en el Capí ulo 5.
En la Sección 1 se expone el código necesa io pa a es uc u a la in o mación en una ma iz
de alo aciones. En la Sección 2 se p og ama el cálculo del e o medio absolu o come ido
po las p edicciones gene adas po un sis ema colabo a i o. En la Sección 3 apa ece el
código usado pa a implemen a el algo i mo de los
k
- ecinos midiendo la simili ud con el
coecien e de co elación de Pea son, en p ime luga , y con la simili ud del coseno, en
segundo luga . En la Sección 4 se p og ama la descomposición en alo es singula es aplicada
a los sis emas de ecomendación: se indica cómo comple a la ma iz de alo aciones de las
dos o mas explicadas, cómo hace la p edicción calculando los au o alo es y au o ec o es
y cómo hace la p edicción con el p ocedimien o i e a i o. En la Sección 5 se implemen a
el algo i mo de las
k
-medias. Po úl imo, en la Sección 6 se p og ama el modelo logi .
1. Ma iz de alo aciones
1
#LECTURA DE DATOS
2
da os<
=
ead .cs ("Tapas_Res OldZone . cs " ,hea=TRUE, sep=" ; ")
3
head( da os )
# isualizacion de los 6 p ime os da os
4
5
#Ma iz de alo aciones
6
nuse =leng h (unique( da os$use ID ) )
#nume o de usua ios
7
ni em=leng h(unique( da os$ apaID) )
#nume o de apas del sis ema
8
m=leng h( da os$ apaRa ing)
#nume o de alo aciones ecopiladas
9
10
A=ma ix(NA, n =nuse , nc=ni em)
#inicializacion ma iz de
alo aciones
11
ownames(A)=so (unique( da os$use ID ) )
#cada ila es un usua io
12
colnames(A)=so (unique( da os$ apaID) )
#cada columna es una apa
57
64
APÉNDICE: CÓDIGO EN R
P edicción a pa i de la descomposición en alo es singula es de ma ices
de alo aciones sin alo es desconocidos
1
p ed . s d <
=
unc ion (A, umb al) {
2
3
A<
=
as (A, "ma ix")
#ma iz de alo aciones
4
#umb al
<
=
se ecomenda an i ems pa a los cuales se p edice una
alo acion mayo que el alo umb al
5
6
#descomposicion de la ma iz de alo aciones en alo es
singula es
7
SVD=s d(A)
8
9
#nume o de ac o es (k) que se necesi an pa a explica el 80%
de la a ianza
10
a ianza = p op . able(s d(A)$d^2)
11
a . acumulada=0
#con ado de la a ianza
12
o (k in 1: leng h ( a ianza ) ){
13
a . acumulada= a . acumulada+ a ianza [ k ]
14
i ( a . acumulada > 0.8) {
15
b eak
16
}}
17
ca (" nNume o de ac o es que explican mas del 80% de la
a ianza:", k)
18
19
# educcion de la ma iz de alo es singula es S
20
S_k=ma ix(0 , n =k , nc=k)
21
o ( i in 1:k){
22
S_k [ i , i ]=SVD$d[ i ]
23
}
24
25
# educcion de la ma iz de ec o es singula es izquie dos U
26
U_k=ma ix(0 , n =n ow(A) ,nc=k)
27
o ( i in 1:n ow(A) ){
28
o ( j in 1:k){
29
U_k [ i , j ]=SVD$u[ i , j ]
30
}}

65
31
32
# educcion de la ma iz de ec o es singula es de echos V
33
V_k=ma ix(0 , n =ncol(A) ,nc=k)
34
o ( i in 1: ncol (A) ){
35
o ( j in 1:k){
36
V_k [ i , j ]=SVD$ [ i , j ]
37
}}
38
39
#ma iz de p ediccion
40
PRED. s d=U_k %
*
%S_k %
*
% (V_k)
#la celda (i,j) es la
p ediccion de la alo acion del usua io i da a la apa j
41
ownames(PRED. s d)=so (unique( da os$use ID ) )
42
colnames(PRED. s d)=so (unique( da os$ apaID) )
43
o ( i in 1:n ow(A) ){
#PARA CUANDO OPTAMOS POR LA SOLUCION 3
44
PRED. s d[ i ,]=PRED. s d[ i ,]+ medias . use [ i ]
45
}
46
ca (" nma iz de p edicciones ")
47
p in (PRED. s d)
48
49
#ma iz de ca ac e is icas de usua ios
50
use . ca ac e is icas=U_k %
*
% sq (S_k)
51
52
#ma iz de ca ac e is icas de i ems
53
i em . ca ac e is icas=sq (S_k) %
*
% (V_k)
54
}
P edicción usando la p opues a de Simon Funk
1
unk <
=
unc ion (A, k = 2 , gamma = 0.015 , lambda = 0.001 ,
2
min_e o = 1e
=
6, max_i e = 200) {
3
4
A<
=
as (A, "ma ix")
# ma iz de alo aciones
5
#k
<
=
ac o es
6
#gamma, lambda
<
=
pa ame os pa a calcula la dis ancia de
desplazamien o
66
APÉNDICE: CÓDIGO EN R
7
#min
_
e o
<
=
e o con el que se puede e mina el algo i mo
8
#max
_
i e
<
=
nume o maximo de i e aciones a ealiza
9
10
#inicializacion alea o ia de las ma ices de ca ac e is icas
11
U<
=
ma ix( uni (n ow(x)
*
k) , n ow =n ow(A) , ncol = k)
12
V<
=
ma ix( uni (n ow(x)
*
k) , n ow =ncol (A) , ncol = k)
13
14
#lis a con los indices de apas
/
usua ios que han o ado
15
i em . ind <
=
lapply (1: n ow(A) , unc ion ( emp) which(!is.na(A[
emp , ]) ) )
16
use . ind <
=
lapply (1: ncol (A) , unc ion ( emp) which(!is.na(A[ ,
emp ]) ) )
17
18
#se ajus an las ma ices ac o a ac o
19
o ( in 1:k) {
20
#inicializacion
21
e o . p e io <
=
In
#e o i e acion an e io
22
del a_e o <
=
In
#mejo a del e o
23
i e <
=
0L
#i e acion
24
PRED. unk <
=
c ossp od (U, V)
#ma iz de p ediccion
25
while ( i e < max_i e && del a_e o > min_e o ) {
26
#ac ualizacion de U
27
e o <
=
A
=
PRED. unk
#ma iz de e o
28
emp_U<
=
U
29
o ( j in 1: ncol (A) ) {
30
del a_Uik <
=
lambda
*
( e o [ use . ind [ [ j ]] , j ]
*
V[ j , ]
=
gamma
*
U[ use . ind [ [ j ] ] , ])
#mejo a sob e U
31
U[ use . ind [ [ j ] ] , ] <
=
U[ use . ind [ [ j ]] , ] + del a_Uik
#
ajus e de U
32
}
33
34
#ac ualizacion de V
35
o ( i in 1:n ow(A) ) {
36
del a_Vjk <
=
lambda
*
( e o [ i , i em . ind [ [ i ] ] ]
*
emp_U[ i
, ]
=
gamma
*
V[ i em . ind [ [ i ] ] , ])
#mejo a sob e V
67
37
V[ i em . ind [ [ i ] ] , ] <
=
V[ i em . ind [ [ i ] ] , ] + del a_Vjk
#
ajus e de V
38
}
39
40
#ac ualizacion del e o
41
PRED. unk <
=
c ossp od (U, V)
42
e o .ac ualizado <
=
sq (sum(abs(A
=
PRED. unk ) ^2, na . m =
TRUE)/leng h (A) )
43
del a_e o <
=
abs( e o . p e io
=
e o . ac ualizado )
#e o
que se co ige espec o a la i e acion p e ia
44
e o . p e io <
=
e o .ac ualizado
45
46
#ac ualicion de la i e acion
47
i e <
=
i e + 1L
48
}}}
5. Clus e ing: algo i mo de las k-medias
1
clus e ing <
=
unc ion (A,k , clus e ){
#clus e ing: algo i mo de
las k-medias
2
3
A<
=
as (A, "ma ix")
#ma iz de alo aciones
4
clus e <
=
as (clus e , " ec o ")
#indices de los k usua ios
ep esen an es de los clus e s
5
6
#media de los usua ios del sis ema
7
media . use = ep (0 ,n ow(A) )
8
o ( i in 1:n ow(A) ){
#medias de odos los ec o es
9
media . use [ i ]=mean(A[ i , ] [ !is.na(A[ i , ] ) ]) }
10
11
#inicializacion de la media de cada clus e
12
media . clus e =media . use [ clus e ]
13
14
i e =0
#nume o de i e aciones
68
APÉNDICE: CÓDIGO EN R
15
epea {
16
17
media . clus e _an e io =media . clus e
#necesa io pa a calcula
el e o
18
19
#dis ancia (euclidea) en e las medias del usua io y del
clus e
20
DIST=ma ix(0 ,n ow(A) ,k)
#cada ila es un usua io, cada
columna un clus e , cada celda la dis ancia en e sus
medias
21
o ( i in 1:n ow(A) ){
# ila
22
o ( j in 1:k){
#columna
23
DIST[ i , j ]=abs(media . use [ i ]
=
media . clus e [ j ]) }}
24
25
#clasi icacion de los usua ios en clus e s
26
CLUSTER=ma ix(0 ,n ow(A) ,1)
#la p ime a columna con iene los
usua ios, la segunda el clus e al que pe enecen
27
ownames(CLUSTER)= ownames(A)
28
o ( i in 1:n ow(A) ){
29
CLUSTER[ i ,1]=which.min(DIST[ i , ] ) }
30
31
#ac ualizacion de la media de cada clus e
32
o ( i in 1:k){
#clus e
33
suma. medias=0
34
con ado =0
35
o ( j in 1:n ow(A) ){
#use
36
i (CLUSTER[ j ,1]== i ){
#si el usua io j pe enece al
clus e i
37
con ado =con ado +1
38
suma. medias=suma . medias+media . use [ j ]
39
media . clus e [ i ]=suma. medias/con ado }}}
40
41
#e o
42
e o =abs(media . clus e
=
media . clus e _an e io )
43
44
i e =i e +1
69
45
46
i (mean( e o )==0){
47
ca (" n La media de los clus e se man iene cons an e a
pa i de la i e acion " , i e )
48
ca (" n La media inal de los clus e s es" , media . clus e )
49
b eak }
50
}
51
52
#ma iz de p ediccion
53
PRED. clus e =ma ix(0 ,n ow(A) , ncol (A) )
#cada ila es un usua io
, cada columna es un i em, cada celda es la p ediccion
54
o ( i in 1:n ow(A) ){
# ila
55
o ( j in 1: ncol (A) ){
#columna
56
o (n in 1:k){
#segun el clus e k al que pe enezca el
use i
57
i (CLUSTER[ i ] == n){
#si use i en el clus e n
58
PRED. clus e [ i , j]=media . clus e [n]
#la alo acion del
use i al i em j es la media del clus e al que
pe ence }}}
59
}
60
ca (" n Ma iz de p edicciones ")
61
p in (PRED. clus e )
62
}
6. Modelos de elección disc e a: logi y p obi
1
2
#LECTURA DE DATOS
3
da os<
=
ead .cs ("Tapas_Res OldZone . cs " ,hea=TRUE, sep=" ; ")
#
ca gamos la mues a
4
head( da os )
#p e isualizacion de la mues a
5
n ilas=n ow( da os )
#8948 obse aciones
6
indi idualID=da os$use ID
# enomb amos
7
choice=da os$ apaID

70
APÉNDICE: CÓDIGO EN R
8
9
#--------------------------------------------------
10
#DATOS DE ENTRADA: wide o ma
11
12
#VARIABLES DE LAS ALTERNATIVAS
13
composicion_ inal= ep(NA, imes=n ilas )
#inicializacion
14
cha ac e _ inal= ep(NA, imes=n ilas )
15
16
o ( i in unique( da os$ apaID) ){
17
#ing edien e p incipal de cada apa
18
Composicion=ma ix(0 , n =n ilas , nc=8)
#inicializacion
19
colnames(Composicion)=c("Cheese" ,"Egg" ,"Fish" ,"Mea " ,"O he " ,"
Shell ish " ,"Swee " ,"Vege able")
20
m<
=
da os$TapaKind [( which( da os$ apaID==i ) [1 ] ) ]
#ing edien e de
la apa en la obse acion i
21
columna<
=
which(colnames(Composicion)==m)
22
Composicion [ , columna]=1
23
colnames(Composicion)=pas e(c("Cheese . " ,"Egg . " ,"Fish . " ,"Mea . " ,
"O he . " ," Shell ish . " ,"Swee . " ,"Vege able.") , ep( i , imes=8) ,
sep="")
24
composicion_ inal<
=
cbind(composicion_ inal , Composicion)
25
26
#ca ac e de la ece a
27
Cha ac e =ma ix(0 , nc=1,n =n i l a s )
28
mm<
=
da os$cha ac e Tapa[(which( da os$ apaID==i ) [1] ) ]
#ca ac e
de la apa en la obse acion i
29
i (mm=="T adi ional"){
30
Cha ac e [,1]=1
#ponemos un 1 si es adicional
31
}else{
32
Cha ac e [,1]=0
33
}
34
colnames(Cha ac e )=pas e(c("T adi ional.") , i , sep="")
35
cha ac e _ inal=cbind(cha ac e _ inal , Cha ac e )
36
}
37
cha ac e _ inal=cha ac e _ inal [ ,
=
1]
#eliminamos la p ime a
columna de NA
71
38
composicion_ inal=composicion_ inal [ ,
=
1]
39
n ow(composicion_ in al ) ; n ow( da os ) ; leng h( choice ) ; n ow(cha ac e
_ inal )
#comp obacion
40
41
#DATOS DEFINITIVOS
42
DATOS_DEFINITIVOS_Res OldZone=da a . ame( indi idualID , choice ,
composicion_ inal , cha ac e _ inal )
43
head(DATOS_DEFINITIVOS_Res OldZone)
# isualizacion
44
DATOS_DEFINITIVOS_Res OldZone[4 ,]
#ok
45
names(DATOS_DEFINITIVOS_Res OldZone)
46
dim(DATOS_DEFINITIVOS_Res OldZone)
#obse aciones x (use ID +
choice + 8
*
apa + 1
*
apa + 3
*
o igen + es ilo)
47
48
#--------------------------------------------------
49
#DATA.FRAME QUE USA EL MLOGIT: con e imos en long o ma
50
lib a y ( mlogi )
51
A1=mlogi . da a (DATOS_DEFINITIVOS_Res OldZone , choice="choice " ,
shape = "wide" , a ying = 3:560 , sep=".", id . a ="indi idualID
")
52
head(A1)
53
dim(A1)
54
55
#--------------------------------------------------
56
#MODELO LOGIT
57
logi <
=
mlogi ( choice ~Cheese + Egg + Fish + Mea + O he +
Shell ish + Swee + Vege able + T adi ional | 0, A1)
58
summa y( logi )
59
60
#PROBABILIDADES DE ELECCION
61
i ed( logi , ou come = FALSE)
#p obabilidad con la que se elige
la apa en cada obse acion
62
apply( i ed( logi , ou come = FALSE) , 2 , mean)
#p obabilidad
media de eleccion de cada apa en el modelo es imado
63
so (apply( i ed( logi , ou come = FALSE) , 2 , mean)
*
100)
#
p edicciones
64
72
APÉNDICE: CÓDIGO EN R
65
#EVALUACION
66
lib a y ("aod")
67
l<
=
cbind (0 ,1 ,
=
1 ,0 ,0 ,0 ,0 ,0 ,0)
68
p in (wald . es ( b=coe (modelo) , Sigma= co (modelo) , L=l ) )
69
70
#--------------------------------------------------
71
#MODELO PROBIT
72
p obi <
=
mlogi ( choice ~Cheese + Egg + Fish + Mea + O he +
Shell ish + Swee + Vege able + T adi ional | 0, A1, p obi =
TRUE)
73
summa y( p obi )
Bibliog a ía
[1] Adoma icius, G. y Tuzhilin, A. (2005). Towa d he nex gene a ion o ecommende
sys ems: A su ey o he s a e-o - he-a and possible ex ensions. IEEE ansac ions
on knowledge and da a enginee ing, 17(6), 734-749.
[2] Azadjalal, M. M., Mo adi, P. y Abdollahpou i, A. (2014, Oc obe ). Applica ion o
game heo y echniques o imp o ing us based ecommende sys ems in social ne -
wo ks. In 2014 4 h In e na ional Con e ence on Compu e and Knowledge Enginee ing
(ICCKE) (pp. 261-266). IEEE.
[3] Benincasa, C., Calden, A., Hanlon, E., Kindze ske, M., Law, K., Lam, E. y Whi ake ,
N. (2006). Page Rank Algo i hm. Depa men o Ma hema ics and S a ics, Uni e si y
o Massachuse s, Amhe s , Resea ch.
[4] B in, S. (1998). La y page.. The Ana omy o a La ge Scale Hype ex ual Web Sea ch
Engine In P oc. o WWW7, B isbane, Aus alia.
[5] Bu ke, R. (2002). Hyb id ecommende sys ems: Su ey and expe imen s. Use mo-
deling and use -adap ed in e ac ion, 12(4), 331-370.
[6] Bu ke, R., Fel e nig, A. y Göke , M. H. (2011). Recommende sys ems: An o e iew.
Ai Magazine, 32(3), 13-18.
[7] Cas o, J. (2012). Un nue o modelo ponde ado pa a Sis emas de Recomendación Ba-
sados en Con enido con medidas de con ingencia y en opía. T abajo u elado. Jaén:
Uni e sidad de Jaén.
[8] C oissan , Y. (2012). Es ima ion o mul inomial logi models in R: The mlogi Pac-
kages. R package e sion 0.2-2. URL:
h p://c an. -p ojec .o g/web/packages/
mlogi / igne es/mlogi .pd .
[9] De Campos, L. M., Fe nández-Luna, J. M., Hue e, J. F., y Rueda-Mo ales, M. A.
(2011). USO DE CONOCIMIENTO ESTRUCTURADO EN UN SISTEMA DE RE-
73