Writing up

This commit is contained in:
dkohl
2012-03-13 00:16:22 -04:00
parent b7676b08c2
commit 28aec2a148
11 changed files with 501 additions and 292 deletions

View File

@@ -3,14 +3,19 @@
\citation{corney}
\citation{janzenxiang}
\citation{truyen}
\citation{truyen}
\citation{murphy}
\citation{murphy}
\citation{russelnorvig}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Our Baysian net modeling user preferences. The top layer describes the categories Meat and Vegetable. We have a control variable vegetarian for Meat, such that it will always evaluate to $0$ when there is meat involved in a dish and we have a vegetarian diner. The mid layer describes the preference for different ingredients. The last layer is a gaussian predicting the users preferences.}}{2}}
\newlabel{img:bayes_net}{{1}{2}}
\bibstyle{plain}
\bibdata{p2refs}
\bibcite{corney}{1}
\bibcite{janzenxiang}{2}
\bibcite{murphy}{3}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Our Baysian net modeling user preferences}}{2}}
\newlabel{img:bayes_net}{{1}{2}}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Estimated vs. Actual Survey Dish Ratings}}{2}}
\bibcite{truyen}{4}
\bibcite{vanboekel}{5}
\bibcite{russelnorvig}{4}
\bibcite{truyen}{5}
\bibcite{vanboekel}{6}
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Estimated vs. surveyed dish ratings}}{3}}
\newlabel{result}{{2}{3}}

View File

@@ -18,6 +18,11 @@ Kevin Murphy.
\newblock http://www.cs.ubc.ca/~murphyk/Bayes/bnintro.html, 1998.
\newblock [Online; accessed 22-Feb-2012].
\bibitem{russelnorvig}
S.~Russel and P.~Norvig.
\newblock {\em Artificial Intelligence; A Modern Approach}.
\newblock Prentice Hall, third edition, 2010.
\bibitem{truyen}
Tran~The Truyen, Dinh~Q. Phung, and Svetha Venkatesh.
\newblock Preference {Networks}: {Probabilistic} {Models} for {Recommendation}
@@ -29,6 +34,6 @@ Tran~The Truyen, Dinh~Q. Phung, and Svetha Venkatesh.
Stein~A. van Boekel, M.A.J.S. and A.H.C. van Bruggen.
\newblock {Bayesian Statistics} and {Quality Modelling} in the {Agro-food
Production Chain}.
\newblock {\em Proceedings of the Frontis workshop}, 2004.
\newblock {\em Proceedings of the Frontis workshop}, 3, 2004.
\end{thebibliography}

View File

@@ -1,28 +1,51 @@
This is BibTeX, Version 0.99dThe top-level auxiliary file: P2 Proposal.aux
This is BibTeX, Version 0.99d (TeX Live 2010)
Capacity: max_strings=35307, hash_size=35307, hash_prime=30011
The top-level auxiliary file: P2 Proposal.aux
The style file: plain.bst
Database file #1: p2refs.bib
I was expecting a `,' or a `}'---line 14 of file p2refs.bib
:
: CITY = {Wageningen}
(Error may have been on previous line)
I'm skipping whatever remains of this entry
I was expecting a `,' or a `}'---line 23 of file p2refs.bib
:
: CITY = {London}
(Error may have been on previous line)
I'm skipping whatever remains of this entry
I was expecting a `,' or a `}'---line 31 of file p2refs.bib
:
: CITY = {London}
(Error may have been on previous line)
I'm skipping whatever remains of this entry
I was expecting a `,' or a `}'---line 40 of file p2refs.bib
:
: CITY = {Guelph}
(Error may have been on previous line)
I'm skipping whatever remains of this entry
Too many commas in name 1 of "van Boekel, M.A.J.S., Stein, A. and van Bruggen, A.H.C." for entry vanboekel
while executing---line 1049 of file plain.bst
Too many commas in name 1 of "van Boekel, M.A.J.S., Stein, A. and van Bruggen, A.H.C." for entry vanboekel
while executing---line 1090 of file plain.bst
(There were 6 error messages)
You've used 6 entries,
2118 wiz_defined-function locations,
529 strings with 4926 characters,
and the built_in function-call counts, 1457 in all, are:
= -- 138
> -- 71
< -- 0
+ -- 29
- -- 22
* -- 72
:= -- 272
add.period$ -- 19
call.type$ -- 6
change.case$ -- 29
chr.to.int$ -- 0
cite$ -- 6
duplicate$ -- 59
empty$ -- 113
format.name$ -- 22
if$ -- 295
int.to.chr$ -- 0
int.to.str$ -- 6
missing$ -- 6
newline$ -- 34
num.names$ -- 12
pop$ -- 34
preamble$ -- 1
purify$ -- 23
quote$ -- 0
skip$ -- 44
stack$ -- 0
substring$ -- 31
swap$ -- 6
text.length$ -- 0
text.prefix$ -- 0
top$ -- 0
type$ -- 22
warning$ -- 0
while$ -- 12
width$ -- 7
write$ -- 66
(There were 2 error messages)

View File

@@ -1,21 +1,23 @@
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9) (preloaded format=pdflatex 2012.1.11) 12 MAR 2012 22:10
This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010) (format=pdflatex 2011.7.20) 13 MAR 2012 00:15
entering extended mode
**D:/workspace/cs6601p2/writeup/P2*Proposal.tex
("D:/workspace/cs6601p2/writeup/P2 Proposal.tex"
LaTeX2e <2011/06/27>
Babel <v3.8m> and hyphenation patterns for english, afrikaans, ancientgreek, ar
abic, armenian, assamese, basque, bengali, bokmal, bulgarian, catalan, coptic,
croatian, czech, danish, dutch, esperanto, estonian, farsi, finnish, french, ga
lician, german, german-x-2009-06-19, greek, gujarati, hindi, hungarian, iceland
ic, indonesian, interlingua, irish, italian, kannada, kurmanji, lao, latin, lat
vian, lithuanian, malayalam, marathi, mongolian, mongolianlmc, monogreek, ngerm
an, ngerman-x-2009-06-19, nynorsk, oriya, panjabi, pinyin, polish, portuguese,
romanian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, swis
sgerman, tamil, telugu, turkish, turkmen, ukenglish, ukrainian, uppersorbian, u
senglishmax, welsh, loaded.
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\article.cls"
restricted \write18 enabled.
%&-line parsing enabled.
**"P2 Proposal.tex"
(./P2 Proposal.tex
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, dumylang, nohyphenation, ge
rman-x-2009-06-19, ngerman-x-2009-06-19, ancientgreek, ibycus, arabic, armenian
, basque, bulgarian, catalan, pinyin, coptic, croatian, czech, danish, dutch, u
kenglish, usenglishmax, esperanto, estonian, farsi, finnish, french, galician,
german, ngerman, swissgerman, monogreek, greek, hungarian, icelandic, assamese,
bengali, gujarati, hindi, kannada, malayalam, marathi, oriya, panjabi, tamil,
telugu, indonesian, interlingua, irish, italian, kurmanji, lao, latin, latvian,
lithuanian, mongolian, mongolianlmc, bokmal, nynorsk, polish, portuguese, roma
nian, russian, sanskrit, serbian, slovak, slovenian, spanish, swedish, turkish,
turkmen, ukrainian, uppersorbian, welsh, loaded.
(/usr/local/texlive/2010/texmf-dist/tex/latex/base/article.cls
Document Class: article 2007/10/19 v1.4h Standard LaTeX document class
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\base\size10.clo"
(/usr/local/texlive/2010/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
)
\c@part=\count79
@@ -29,13 +31,12 @@ File: size10.clo 2007/10/19 v1.4h Standard LaTeX file (size option)
\abovecaptionskip=\skip41
\belowcaptionskip=\skip42
\bibindent=\dimen102
)
(D:\workspace\cs6601p2\writeup\latex8.sty
) (./latex8.sty
IEEE 8.5 x 11-Inch Proceedings Style `latex8.sty'.
\@ctmp=\skip43
\@figindent=\skip44
) ("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\titlesec\titlesec.sty"
Package: titlesec 2011/12/15 v2.10.0 Sectioning titles
) (/usr/local/texlive/2010/texmf-dist/tex/latex/titlesec/titlesec.sty
Package: titlesec 2007/08/12 v2.8 Sectioning titles
\ttl@box=\box26
\beforetitleunit=\skip45
\aftertitleunit=\skip46
@@ -46,93 +47,110 @@ Package: titlesec 2011/12/15 v2.10.0 Sectioning titles
\titlewidthlast=\dimen106
\titlewidthfirst=\dimen107
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\graphics\graphicx.sty"
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/local/texlive/2010/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2010/07/13 v5.5 Page Geometry
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\graphics\keyval.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
\KV@toks@=\toks15
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\graphics\graphics.sty"
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ifpdf.sty
Package: ifpdf 2010/01/28 v2.1 Provides the ifpdf switch (HO)
Package ifpdf Info: pdfTeX in pdf mode detected.
)
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ifvtex.sty
Package: ifvtex 2010/03/01 v1.5 Switches for detecting VTeX and its modes (HO)
Package ifvtex Info: VTeX not detected.
)
\Gm@cnth=\count87
\Gm@cntv=\count88
\c@Gm@tempcnt=\count89
\Gm@bindingoffset=\dimen108
\Gm@wd@mp=\dimen109
\Gm@odd@mp=\dimen110
\Gm@even@mp=\dimen111
\Gm@layoutwidth=\dimen112
\Gm@layoutheight=\dimen113
\Gm@layouthoffset=\dimen114
\Gm@layoutvoffset=\dimen115
\Gm@dimlist=\toks16
)
(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\graphics\trig.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\00miktex\graphics.cfg"
File: graphics.cfg 2007/01/18 v1.5 graphics configuration of teTeX/TeXLive
(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/graphics.cfg
File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live
)
Package graphics Info: Driver file: pdftex.def on input line 91.
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\pdftex-def\pdftex.def"
File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
("C:\Program Files (x86)\MiKTeX 2.9\tex\generic\oberdiek\infwarerr.sty"
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/message (HO)
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\generic\oberdiek\ltxcmds.sty"
Package: ltxcmds 2011/04/18 v1.20 LaTeX kernel commands for general use (HO)
)
\Gread@gobject=\count87
(/usr/local/texlive/2010/texmf-dist/tex/latex/pdftex-def/pdftex.def
File: pdftex.def 2010/02/14 v0.04n Graphics/color for pdfTeX
\Gread@gobject=\count90
))
\Gin@req@height=\dimen108
\Gin@req@width=\dimen109
\Gin@req@height=\dimen116
\Gin@req@width=\dimen117
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\ams\math\amsmath.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsmath.sty
Package: amsmath 2000/07/18 v2.13 AMS math features
\@mathmargin=\skip47
For additional information on amsmath, use the `?' option.
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\ams\math\amstext.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amstext.sty
Package: amstext 2000/06/29 v2.01
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\ams\math\amsgen.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsgen.sty
File: amsgen.sty 1999/11/30 v2.0
\@emptytoks=\toks16
\ex@=\dimen110
\@emptytoks=\toks17
\ex@=\dimen118
))
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\ams\math\amsbsy.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsbsy.sty
Package: amsbsy 1999/11/29 v1.2d
\pmbraise@=\dimen111
\pmbraise@=\dimen119
)
("C:\Program Files (x86)\MiKTeX 2.9\tex\latex\ams\math\amsopn.sty"
(/usr/local/texlive/2010/texmf-dist/tex/latex/amsmath/amsopn.sty
Package: amsopn 1999/12/14 v2.01 operator names
)
\inf@bad=\count88
\inf@bad=\count91
LaTeX Info: Redefining \frac on input line 211.
\uproot@=\count89
\leftroot@=\count90
\uproot@=\count92
\leftroot@=\count93
LaTeX Info: Redefining \overline on input line 307.
\classnum@=\count91
\DOTSCASE@=\count92
\classnum@=\count94
\DOTSCASE@=\count95
LaTeX Info: Redefining \ldots on input line 379.
LaTeX Info: Redefining \dots on input line 382.
LaTeX Info: Redefining \cdots on input line 467.
\Mathstrutbox@=\box27
\strutbox@=\box28
\big@size=\dimen112
\big@size=\dimen120
LaTeX Font Info: Redeclaring font encoding OML on input line 567.
LaTeX Font Info: Redeclaring font encoding OMS on input line 568.
\macc@depth=\count93
\c@MaxMatrixCols=\count94
\macc@depth=\count96
\c@MaxMatrixCols=\count97
\dotsspace@=\muskip10
\c@parentequation=\count95
\dspbrk@lvl=\count96
\tag@help=\toks17
\row@=\count97
\column@=\count98
\maxfields@=\count99
\andhelp@=\toks18
\eqnshift@=\dimen113
\alignsep@=\dimen114
\tagshift@=\dimen115
\tagwidth@=\dimen116
\totwidth@=\dimen117
\lineht@=\dimen118
\@envbody=\toks19
\c@parentequation=\count98
\dspbrk@lvl=\count99
\tag@help=\toks18
\row@=\count100
\column@=\count101
\maxfields@=\count102
\andhelp@=\toks19
\eqnshift@=\dimen121
\alignsep@=\dimen122
\tagshift@=\dimen123
\tagwidth@=\dimen124
\totwidth@=\dimen125
\lineht@=\dimen126
\@envbody=\toks20
\multlinegap=\skip48
\multlinetaggap=\skip49
\mathdisplay@stack=\toks20
\mathdisplay@stack=\toks21
LaTeX Info: Redefining \[ on input line 2666.
LaTeX Info: Redefining \] on input line 2667.
)
@@ -140,7 +158,9 @@ LaTeX Info: Redefining \] on input line 2667.
LaTeX Warning: Unused global option(s):
[times,08pt].
("D:\workspace\cs6601p2\writeup\P2 Proposal.aux")
(./P2 Proposal.aux)
\openout1 = `"P2 Proposal.aux"'.
LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 11.
LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 11.
@@ -154,54 +174,125 @@ LaTeX Font Info: ... okay on input line 11.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 11.
LaTeX Font Info: ... okay on input line 11.
("C:\Program Files (x86)\MiKTeX 2.9\tex\context\base\supp-pdf.mkii"
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: <default>
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes:
* h-part:(L,W,R)=(63.59795pt, 487.0991pt, 63.59795pt)
* v-part:(T,H,B)=(63.59795pt, 667.7741pt, 63.59795pt)
* \paperwidth=614.295pt
* \paperheight=794.96999pt
* \textwidth=487.0991pt
* \textheight=667.7741pt
* \oddsidemargin=-8.67204pt
* \evensidemargin=-8.67204pt
* \topmargin=-8.67204pt
* \headheight=0.0pt
* \headsep=0.0pt
* \topskip=10.0pt
* \footskip=30.0pt
* \marginparwidth=4.0pt
* \marginparsep=10.0pt
* \columnsep=22.58437pt
* \skip\footins=9.0pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumntrue
* \@twosidefalse
* \@mparswitchfalse
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
(/usr/local/texlive/2010/texmf-dist/tex/context/base/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
\scratchcounter=\count100
\scratchdimen=\dimen119
\scratchcounter=\count103
\scratchdimen=\dimen127
\scratchbox=\box29
\nofMPsegments=\count101
\nofMParguments=\count102
\everyMPshowfont=\toks21
\MPscratchCnt=\count103
\MPscratchDim=\dimen120
\MPnumerator=\count104
\makeMPintoPDFobject=\count105
\everyMPtoPDFconversion=\toks22
\nofMPsegments=\count104
\nofMParguments=\count105
\everyMPshowfont=\toks22
\MPscratchCnt=\count106
\MPscratchDim=\dimen128
\MPnumerator=\count107
\everyMPtoPDFconversion=\toks23
) (/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty
Package: pdftexcmds 2010/04/01 v0.9 Utility functions of pdfTeX for LuaTeX (HO)
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/infwarerr.sty
Package: infwarerr 2010/04/08 v1.3 Providing info/warning/message (HO)
)
Underfull \hbox (badness 4254) in paragraph at lines 67--70
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ifluatex.sty
Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
Package ifluatex Info: LuaTeX not detected.
)
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
Package: ltxcmds 2010/04/26 v1.7 LaTeX kernel commands for general use (HO)
)
Package pdftexcmds Info: LuaTeX not detected.
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
)
(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty
Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf
(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/grfext.sty
Package: grfext 2007/09/30 v1.0 Managing graphics extensions (HO)
)
(/usr/local/texlive/2010/texmf-dist/tex/latex/oberdiek/kvoptions.sty
Package: kvoptions 2010/02/22 v3.7 Keyval support for LaTeX options (HO)
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty
Package: kvsetkeys 2010/03/01 v1.9 Key value parser (HO)
(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/etexcmds.sty
Package: etexcmds 2010/01/28 v1.3 Prefix for e-TeX command names (HO)
Package etexcmds Info: Could not find \expanded.
(etexcmds) That can mean that you are not using pdfTeX 1.50 or
(etexcmds) that some package has redefined \expanded.
(etexcmds) In the latter case, load this package earlier.
)))
Package grfext Info: Graphics extension search list:
(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE
G,.JBIG2,.JB2,.eps]
(grfext) \AppendGraphicsExtensions on input line 436.
(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
e
))
Underfull \hbox (badness 2495) in paragraph at lines 90--95
[] \OT1/cmr/bx/n/10 Data ac-cui-si-tion \OT1/cmr/m/n/10 We first ac-cu-mu-lated
a di-
[]
<bayes.png, id=1, 987.69pt x 480.79625pt>
File: bayes.png Graphic file (type png)
<use bayes.png>
Package pdftex.def Info: bayes.png used on input line 99.
(pdftex.def) Requested size: 237.13594pt x 115.43013pt.
[1{C:/ProgramData/MiKTeX/2.9/pdftex/config/pdftex.map}
[1{/usr/local/texlive/2010/texmf-var/fonts/map/pdftex/updmap/pdftex.map}
]
<bayes.png, id=13, 969.6225pt x 506.89375pt>
File: bayes.png Graphic file (type png)
<use bayes.png>
Package amsmath Warning: Foreign command \over;
(amsmath) \frac or \genfrac should be used instead
(amsmath) on input line 133.
(amsmath) on input line 162.
LaTeX Warning: Reference `rms-table' on page 2 undefined on input line 150.
<BayesChefChart.png, id=14, 426.99525pt x 313.77225pt>
[2 <./bayes.png (PNG copy)>]
<BayesChefChart.png, id=19, 426.99525pt x 313.77225pt>
File: BayesChefChart.png Graphic file (type png)
<use BayesChefChart.png>
Package pdftex.def Info: BayesChefChart.png used on input line 154.
(pdftex.def) Requested size: 248.42812pt x 182.55777pt.
Overfull \hbox (11.29218pt too wide) in paragraph at lines 154--155
Overfull \hbox (11.29218pt too wide) in paragraph at lines 259--260
[][]
[]
("D:\workspace\cs6601p2\writeup\P2 Proposal.bbl"
(./P2 Proposal.bbl
Underfull \hbox (badness 10000) in paragraph at lines 16--20
[]\OT1/cmr/m/n/10 Kevin Mur-phy. A Brief In-tro-duc-tion
[]
@@ -216,36 +307,30 @@ Underfull \hbox (badness 10000) in paragraph at lines 16--20
\OT1/cmr/m/n/10 works. http://www.cs.ubc.ca/ mur-
[]
[2 <D:/workspace/cs6601p2/writeup/bayes.png> <D:/workspace/cs6601p2/writeup/Bay
esChefChart.png>]) [3
] ("D:\workspace\cs6601p2\writeup\P2 Proposal.aux")
LaTeX Warning: There were undefined references.
)
) [3 <./BayesChefChart.png (PNG copy)>] (./P2 Proposal.aux) )
Here is how much of TeX's memory you used:
2023 strings out of 494045
25481 string characters out of 3145969
87176 words of memory out of 3000000
5325 multiletter control sequences out of 15000+200000
2667 strings out of 493747
35847 string characters out of 3143546
109079 words of memory out of 3000000
5934 multiletter control sequences out of 15000+200000
11026 words of font info for 36 fonts, out of 3000000 for 9000
715 hyphenation exceptions out of 8191
27i,8n,28p,716b,219s stack positions out of 5000i,500n,10000p,200000b,50000s
{C:/Program Files (x86)/MiKTeX 2.9/fonts/enc/dvips/fontname/8r.enc}<C:/Progra
m Files (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmbx10.pfb><C:/Program
Files (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmbx12.pfb><C:/Program Fi
les (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmmi10.pfb><C:/Program File
s (x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmmi7.pfb><C:/Program Files (
x86)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmr10.pfb><C:/Program Files (x86
)/MiKTeX 2.9/fonts/type1/public/amsfonts/cm/cmr12.pfb><C:/Program Files (x86)/M
iKTeX 2.9/fonts/type1/public/amsfonts/cm/cmr7.pfb><C:/Program Files (x86)/MiKTe
X 2.9/fonts/type1/public/amsfonts/cm/cmsy10.pfb><C:/Program Files (x86)/MiKTeX
2.9/fonts/type1/public/amsfonts/cm/cmti10.pfb><C:/Program Files (x86)/MiKTeX 2.
9/fonts/type1/urw/helvetic/uhvb8a.pfb>
Output written on "P2 Proposal.pdf" (3 pages, 190917 bytes).
714 hyphenation exceptions out of 8191
38i,8n,32p,507b,219s stack positions out of 5000i,500n,10000p,200000b,50000s
{/usr/local/texliv
e/2010/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/local/texlive/2010/texmf-di
st/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/local/texlive/2010/texmf-dis
t/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/local/texlive/2010/texmf-dist
/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/local/texlive/2010/texmf-dist/
fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/local/texlive/2010/texmf-dist/fo
nts/type1/public/amsfonts/cm/cmr12.pfb></usr/local/texlive/2010/texmf-dist/font
s/type1/public/amsfonts/cm/cmr7.pfb></usr/local/texlive/2010/texmf-dist/fonts/t
ype1/public/amsfonts/cm/cmsy10.pfb></usr/local/texlive/2010/texmf-dist/fonts/ty
pe1/public/amsfonts/cm/cmti10.pfb></usr/local/texlive/2010/texmf-dist/fonts/typ
e1/urw/helvetic/uhvb8a.pfb>
Output written on "P2 Proposal.pdf" (3 pages, 199213 bytes).
PDF statistics:
55 PDF objects out of 1000 (max. 8388607)
53 PDF objects out of 1000 (max. 8388607)
36 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
11 words of extra memory for PDF output out of 10000 (max. 10000000)

Binary file not shown.

View File

@@ -2,7 +2,7 @@
\usepackage{latex8}
\usepackage{titlesec}
% \usepackage[margin=0.5in]{geometry}
\usepackage[margin=0.88in]{geometry}
\usepackage{graphicx}
\usepackage{amsmath}
@@ -11,7 +11,7 @@
\begin{document}
\pagestyle{empty}
\title{A Bayesian Approach to Collaborative Dish Selection}
\title{A Baysian Approach to Collaborative Dish Selection}
\author{Team 10}
\date{February 23, 2012}
@@ -33,17 +33,40 @@ would be of great use to a catering service or restaurant which needs to rapdily
a small number of dishes which would be acceptable for a large dinner party,
given diverse requirements and preferences.
\paragraph*{Baysian Catering: A use case.}
Imagine, you run a catering service and have to
plan an event with a customer. You can
create a variaty of dishes and now you
want to discuss with your clients which one to
serve. In order to get a better idea of which preferences
and needs you clients will have, you let them fill
out a survey in advance, where they rate a small amount of
your dishes on a scale from $1 - 10$ and inform you about
hard constraints like allergies, religous constraints
or vegetarians. You then use those results in order to predict
the ratings for the rest of your dishes and present the clients
the top $k$ results. If such a system works this will save time and will lead
to a better cutomer satisfaction since you can present them dishes
they will most probably like but still suprise them (since you have
not presented them what the already rated). After the dinner
participants could rate the dishes served at the party which would
improve your work for that client in the future.
\section*{Related Work}
Boekel and Corney propose using Bayesian Networks to model
consumer needs in food production chains \cite{vanboekel} \cite{corney}.
Janzen and Xiang propose an intelligent refrigerator capable of
generating meal plans based on inventory
and past food choices \cite{janzenxiang}. Baysian networks have also been
and past food choices \cite{janzenxiang}.
We suggest that these approaches are limited in that they
only consider the preferences of a single (or supposed 'typical')
user rather than a group. Baysian networks have also been
applied to recommendation systems before in on-line social
networks \cite{truyen} making predictions of the form
``if you bought those items what is the probability you would like to
buy that''. We suggest that these approaches are limited in that they
only consider the preferences of a single (or supposed 'typical') user rather than a group.
buy that''. This method also uses baysian networks
for prediction and our approach is similar or inspired by
some of Truyens \cite{truyen}.
\section*{Approach}
@@ -66,57 +89,103 @@ value for different recipes.
\paragraph*{Data accuisition}
We first accumulated a diverse collection of license-free sample recipes from web sites such as \emph{Darkstar's Meal-Master Recipes} (http://home.earthlink.net/~darkstar105/). Next, we converted these recipes from flat text files to well-formed XML using the Krecipes application for Debian Linux. Finally, we created a representative data set representing several diners' preference for
24 of these recipes, using a simple survey of the type 'rate on a
scale of 1 to 10, 10 being favorite and 1 being least favorite'. Furthermore, users were allowed to specify a vegetarian or nut-free meal preference.
scale of 1 to 10, 10 being favorite and 1 being least favorite'.
Furthermore, users were allowed to specify a vegetarian
or nut-free meal preference.
%daniel is here
\paragraph*{Knowledge Engineering}
We model the diners' various taste preferences using
a Bayes net. We model the taste
\begin{description}
\item[Layer 1] The first layer models a general preference towards
different food categories like vegetables or meat.
As one can see, the food categories are dependent
on the general meal preference. For example
being vegetarian will exclude meat and will
support vegetables.
\item[Layer 2] Specific flavors and ingredients. Each ingredient is conditioned
by the food category to which it belongs.
\end{description}
If we need to model hard constraints, like
a Bayes net. The net consists of three node types.
We call them ``control nodes'', ``taste nodes''
and ``rating nodes''. A ``preference node''
models the probability of a diners' preference towards an
ingredient ($P(likes tomato)$, $P(likes potato)$) or a category
($P(likes meat)$). These variables are discrete. The ingredients
are conditional independent from each other but conditioned
by the food category they belong to (see Figure \ref{img:bayes_net}
the two top layers). A control node can definitely reject a dish,
by evaluating to $0$ in certain conditions. For
example if someone is vegetarian and the presented dish contains
meet, the control variable for vegetarian will evaluate to $0$ and
so the probability for the whole dish will become $0$.
So the vegetarian variable is conditioned by meat.
The third type in the net is a preference node, it is continuos
and models the dish rating given a set of ingredients.
The overall net is shown in Figure \ref{img:bayes_net}.
Given a recipe with a list of ingredients $I = i_1,...,i_n$
and a Bayesian network capturing user preferences
we can calculate the probability of users liking the dish given
the probabilities of liking each ingrediant.
\begin{figure}
\begin{figure}[ht]
\centering
\includegraphics[width=\linewidth]{bayes}
\caption{Our Baysian net modeling user preferences}
\includegraphics[width=0.9\linewidth]{bayes}
\caption{Our Baysian net modeling user preferences. The top layer
describes the categories Meat and Vegetable. We have a control
variable vegetarian for Meat, such that it will always evaluate to
$0$ when there is meat involved in a dish and we have a vegetarian
diner. The mid layer describes the preference for different
ingredients. The last layer is a gaussian predicting the users preferences.}
\label{img:bayes_net}
\end{figure}
%\subsection*{implementation}
\paragraph*{Learning and Predicting}
\paragraph*{Learning user preferences}
In order to estimate the model parameters, the
system will be trained with statistics about taste
and preferences given a set of dishes with ratings
from multiple users. From that information we can directly calculate
the probabilities for the ingredients using Maximum Likelihood Learning \cite{murphy}.
from multiple users. The training set is generated from
the questionnaires we distributed.
An example for a survey output could look like this (Ingredients, Rating): ``Pork,
Potatoes, 8''. In order to perform normal Maximum Likelihood Learning
\cite{murphy} we have to have information about all variables
(``Pork, Potatoes, Tomatoes, Beef, Meat, Vegetables, Rating'').
We perform several steps in order to transform from the survey input
to a training instance.
First we discretize the values such that all given variables (in our
case Pork and Potatoes) are set to ``true'' if the value is above
a certain threshold (in our experiments $5$) and ``false'' otherwise.
In that way ``liking things rated $>$ 5'' appear more often in the
training set and will be assigned with a higher probability.
We add categories by including the category of each ingredient
from the survey. If the ingredient is liked, the category is too
and if it is not, the category is not liked too. The last step
is to add all values that are not in the recipe as ``false''
to the training instance.
From a set of those preprocessed assignments, we can directly calculate
the probabilities for the ingredients using Maximum Likelihood
Learning \cite{murphy}. For example for an assignment of a
conditional variable $P(X = x \mid Y_1 = y_1, ... Y_2 = y2)$,
we count how often we observe the configuration $X = x, Y_1 = y_1,
... Y_2 = y2$ and how often we count $Y_1 = y_1, ... Y_2 = y2$
in our data set. The maximum likelihood is then defined as
\begin{align}
P(X = x| Y_1 = y_1, ... Y_2 = y2) =\\
N(X = x| Y_1 = y_1, ... Y_2 = y2) \over N(Y_1 = y_1, ... Y_2 = y2)
\end{align}
where $N(A)$ is the number of times event $A$occurs in the data set.
For a continuos variable like rating, we estimate a gaussian for
each combination of it's parents. For example if the rating variable
is dependent on beef and tomatos, we would estimate 4 gaussians,
one for each possible combination of beef and tomatos. So during
training we would estimate mean and variance for all cases where
$(tomato = true, potato = true)$, $(tomato = false, potato = true)$
and so on.
%\subsection*{Meal Optimization}
\paragraph*{Inferring maximum likelihood rating}
Having estimated the probabilities of such a net, we can infer
the maximum likelihood rating of a unseen dish while observing only
a set of ingredients. Therefore we will iterate over all possible
ratings ($1 - 10$) and compute the probability of this rating.
The maximum probability is the maximum likelihood rating
for that dish. We use the enumerateAll algorithm \cite{russelnorvig},
for the probability calculations.
\paragraph*{Implementation}
In order to model food preferences, we implemented
a custom Baysian net library in java with minimal use of third party libraries (e.g. for XML input).
We chose to implement our own Library, for maximum flexibility and to ensure that the learning algorithm functions precisely as follows:
The library
uses the sum-product algorithm for
a custom Baysian net library in java with
minimal use of third party libraries (e.g. for XML input).
We chose to implement our own Library,
for maximum flexibility and to ensure that the learning algorithm
functions precisely as follows:
The library uses the sum-product algorithm for
inference and maximum likelihood learning
for parameter estimation. In our implementation
we support discrete as well as continous
@@ -124,39 +193,94 @@ probability distributions. Discrete distributions
can be modeled as tables or as trees.
In our implementation only continous distributions with discrete parents
are supported. A continous distribution is then modeled as a mapping
of all possible combination of it' s parents to a gaussian.
Given a data set, the parameters of a discrete variable $X$ are
estimated as
\begin{align}
P(X = x| Y_1 = y_1, ... Y_2 = y2) =\\
N(X = x| Y_1 = y_1, ... Y_2 = y2) \over N(Y_1 = y_1, ... Y_2 = y2)
\end{align}
where $N(A)$ is the number of times event $A$occurs in the data set.
of all possible combination of it' s parents to a gaussian set.
\section*{Evaluation}
The application model will be trained using a sparse subset (50\%) of the survey data and the optimization problem solved for the inferred constraints. As shown below, the calculated preferences for recipes which were not used to train the Bayes net are quite close to the actual survey data, which essentially reflects the following preferences (Sample ratings are on a 1-10 scale):
In an experiment we collected $XXX$ ratings from $XXX$ persons.
We trained the Bayes net using a sparse subset (50\% of the rated
recipes) of the survey data. Then we evaluated the rest of the
recipes (which are all unseen) and calculated
the maximum likelihood rating.
As shown below, the calculated preferences for recipes
which were not used to train the Bayes net are quite close to the
actual survey data, which essentially reflects the following
preferences
(Sample ratings are on a 1-10 scale):
\begin{description}
\item[Diner 1] No allergies, prefers all dishes equally (5)
%\begin{description}
%\item[Diner 1] No allergies, prefers all dishes equally (5)
\item[Diner 2] Vegetarian, meat dishes are (1), remainder are (9)
%\item[Diner 2] Vegetarian, meat dishes are (1), remainder are (9)
\item[Diner 3] Nut Alleregy, prefers meat (6) to vegetarian (4) to desert (3)
%\item[Diner 3] Nut Alleregy, prefers meat (6) to vegetarian (4) to desert (3)
\item[Diner 4] No allergies, prefers Pork and Desserts (9), remainder are (3)
%\item[Diner 4] No allergies, prefers Pork and Desserts (9), remainder are (3)
\end{description}
%\end{description}
Next, we calculate the correlation between the application's ranking of all dishes and the actual ranking as determined by the user surveys. We suggest that a high degree of correlation indicates that the system has the potential to accurately appraise constrained group food preferences for dishes which are not part of the survey, given sufficiently detailed recipe information. As \ref{rms-table} shows, the estimated food preferences are quite close to the actual mean ratings over all diners for the dishes which were not used to train the Bayes net. The root mean-square-error for calculated vs. surveyed meal preferences is approximately 1.0.
Next, we calculate the error between the application's ranking of all
dishes and the actual ranking as determined by the user surveys. We
suggest that a low error indicates that the system has the potential
to accurately appraise constrained group food preferences for dishes
which are not part of the survey, given sufficiently detailed recipe
information. As the Table and Figure \ref{result} show, the estimated food preferences are quite close to the actual mean ratings over all diners for the dishes which were not used to train the Bayes net. The root mean-square-error for calculated vs. surveyed meal preferences is approximately 1.92.
\begin{figure}[h!]
\begin{table}[ht]
\begin{tabular}{ | l | l | l | }
\hline
Southwest Smoothie: & &\\
DAIRY & 5 & 5.5 \\ \hline
Bayou Shrimp Creole: & &\\
TOMATO & 9 & 3.75 \\ \hline
Crab Burgers: & &\\
EGGS & 5 & 3.75 \\ \hline
Broiled Flounder: & &\\
GENERIC NUTS, EGGS & 5 & 3.75 \\ \hline
Baked Steak And Lima Beans: & &\\
TOMATO, SUGAR & 2 & 3.75 \\ \hline
Eggplant Lasagna: & &\\
GLUTEN & 5 & 5.25 \\ \hline
Salisbury Steak with Mushroom Sauce: & &\\
GLUTEN, DAIRY, BEEF & 6 & 3.75 \\ \hline
Meatless Loaf: & &\\
SPICE & 5 & 5.25 \\ \hline
Lemon Pork Chops: & &\\
PORK, SUGAR & 5 & 5.25 \\ \hline
Fava Bean Burgers: & &\\
EGGS, POTATO & 3 & 5.25 \\ \hline
Angel Hair Pesto Primavera: & &\\
GENERIC NUTS, SPICE & 5 & 5.25 \\ \hline
%\hline
\end{tabular}
\end{table}
\begin{figure}[ht]
\centering
\includegraphics[width=0.5 \textwidth]{BayesChefChart.png}
\caption{Estimated vs. Actual Survey Dish Ratings}
\caption{Estimated vs. surveyed dish ratings}
\label{result}
\end{figure}
Note the outlier at Dish \#2 (Bayou Shrimp Creole). The strong preference for this dish is a result of the ingredient list containing primarily shrimp and tomato. Unlike beef and pork, the seafood category was not implemented in the knowledge enginerring of the net. Consequently, this dish is incorrectly deemed to be vegetarian-compatible. The same issue had previously occurred at Dish \#5 (Baked Steak and Lima Beans) until 'steak' was added to the recipe parser as a synonym for beef, and therefore a type of meat.
\section*{Conclusion}
We proposed, implemented and evaluated a food preference prediction system that
is capable of predicting how much a user would like a new, unseen recipes.
We discussed how to encode user preference towards ingredients and
categories in a Bayes Net and how to add control variables in order
to exclude dishes that users have to avoid like no meat for
vegetarians. Furthermore, we presented our learning
scheme for such a Bayes net using data from a small survey
and how to predict the user rating for unseen dishes.
In an evaluation we showed that the net can predict
preferences when learned from a sparse data set.
So in a real life setting, where people plan
a dinner with a catering service,
a few participants could rate a small amount of recipes
in an online service
and the system could actually predict the scores
on the rest of the caterers data base.
The top $k$ with the answers highest predicted
rating of the system could be used to assemble the final
dinner.
\bibliographystyle{plain}
\bibliography{p2refs}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -1,2 +0,0 @@
mktextfm phvb
mktextfm phvb

View File

@@ -10,8 +10,8 @@
AUTHOR = {van Boekel, M.A.J.S., Stein, A. and van Bruggen, A.H.C.},
TITLE = {{Bayesian Statistics} and {Quality Modelling} in the {Agro-food Production Chain}},
YEAR = {2004},
JOURNAL = {Proceedings of the Frontis workshop}
CITY = {Wageningen}
JOURNAL = {Proceedings of the Frontis workshop},
CITY = {Wageningen},
VOLUME = {3}
}
@@ -19,7 +19,7 @@
AUTHOR = {David Corney},
TITLE = {{Designing Food} with {Bayesian Belief Networks}},
YEAR = {2000},
JOURNAL = {ACDM}
JOURNAL = {ACDM},
CITY = {London}
}
@@ -27,7 +27,7 @@
AUTHOR = {Tran The Truyen and Dinh Q. Phung and Svetha Venkatesh},
TITLE = {Preference {Networks}: {Probabilistic} {Models} for {Recommendation} {Systems}},
YEAR = {2007},
JOURNAL = {Proceedings of the {Sixth Australasian Conference} on {Data Mining}}
JOURNAL = {Proceedings of the {Sixth Australasian Conference} on {Data Mining}},
CITY = {London}
}
@@ -36,7 +36,7 @@
AUTHOR = {Janzen, M. and Xiang, Y.},
TITLE = {{Probabilistic Reasoning} in {Meal Planning} in {Intelligent Fridges}},
YEAR = {2003},
JOURNAL = {16th Conference of the Canadian Society for Computational Studies of Intelligence}
JOURNAL = {16th Conference of the Canadian Society for Computational Studies of Intelligence},
CITY = {Guelph}
}

View File

@@ -1,11 +0,0 @@
This is pdfTeX, Version 3.1415926-2.3-1.40.12 (MiKTeX 2.9) (preloaded format=pdftex 2012.1.30) 22 FEB 2012 19:39
entering extended mode
**C:/Users/Woody/Downloads/paper3/paper3/p2refs.bib
(C:/Users/Woody/Downloads/paper3/paper3/p2refs.bib)
*
! Emergency stop.
<*> ...rs/Woody/Downloads/paper3/paper3/p2refs.bib
End of file on the terminal!
! ==> Fatal error occurred, no output PDF file produced!

View File

@@ -1,20 +0,0 @@
This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009/Debian) (format=pdflatex 2012.2.29) 29 FEB 2012 11:12
entering extended mode
%&-line parsing enabled.
**quit
! Emergency stop.
<*> quit
End of file on the terminal!
Here is how much of TeX's memory you used:
3 strings out of 495061
105 string characters out of 1182621
45108 words of memory out of 3000000
3282 multiletter control sequences out of 15000+50000
3640 words of font info for 14 fonts, out of 3000000 for 9000
28 hyphenation exceptions out of 8191
0i,0n,0p,11b,6s stack positions out of 5000i,500n,10000p,200000b,50000s
! ==> Fatal error occurred, no output PDF file produced!