\contentsline {chapter}{\numberline {1}Setting the Stage}{5}{chapter.1}
\contentsline {section}{\numberline {1.1}What Are Recommender Systems?}{5}{section.1.1}
\contentsline {section}{\numberline {1.2}How Is It Done?}{6}{section.1.2}
\contentsline {subsection}{\numberline {1.2.1}Nearest-Neighbor Methods}{6}{subsection.1.2.1}
\contentsline {subsection}{\numberline {1.2.2}Latent Factor Approach: Matrix Factorization}{7}{subsection.1.2.2}
\contentsline {subsection}{\numberline {1.2.3}Latent Factor Approach: Statistical Models}{7}{subsection.1.2.3}
\contentsline {subsubsection}{\numberline {1.2.3.1}Comparison}{8}{subsubsection.1.2.3.1}
\contentsline {section}{\numberline {1.3}Covariates/Side Information}{8}{section.1.3}
\contentsline {section}{\numberline {1.4}Prerequisites}{8}{section.1.4}
\contentsline {section}{\numberline {1.5}Software}{9}{section.1.5}
\contentsline {section}{\numberline {1.6}What You Should Gain from This Book}{9}{section.1.6}
\contentsline {chapter}{\numberline {2}Some Infrastructure: Linear Algebra}{11}{chapter.2}
\contentsline {section}{\numberline {2.1}Matrix Rank and Vector Linear Independence}{11}{section.2.1}
\contentsline {section}{\numberline {2.2}Partitioned Matrices}{12}{section.2.2}
\contentsline {subsection}{\numberline {2.2.1}How It Works}{12}{subsection.2.2.1}
\contentsline {subsection}{\numberline {2.2.2}Important Special Case}{14}{subsection.2.2.2}
\contentsline {section}{\numberline {2.3}The Notion of Approximate Rank: Principal Components Analysis}{15}{section.2.3}
\contentsline {subsection}{\numberline {2.3.1}Dimension Reduction}{15}{subsection.2.3.1}
\contentsline {subsection}{\numberline {2.3.2}Exploiting Correlations}{15}{subsection.2.3.2}
\contentsline {subsection}{\numberline {2.3.3}Eigenanalysis}{17}{subsection.2.3.3}
\contentsline {subsection}{\numberline {2.3.4}PCA}{18}{subsection.2.3.4}
\contentsline {subsection}{\numberline {2.3.5}Matrix View}{19}{subsection.2.3.5}
\contentsline {subsection}{\numberline {2.3.6}Why It Works}{19}{subsection.2.3.6}
\contentsline {subsection}{\numberline {2.3.7}Choosing the Number of Principal Components}{20}{subsection.2.3.7}
\contentsline {subsection}{\numberline {2.3.8}Software and Example}{21}{subsection.2.3.8}
\contentsline {chapter}{\numberline {3}Some Infrastructure: Probability and Statistics}{25}{chapter.3}
\contentsline {section}{\numberline {3.1}Data as a Sample}{25}{section.3.1}
\contentsline {section}{\numberline {3.2}Probability, Expected Value and Variance}{26}{section.3.2}
\contentsline {section}{\numberline {3.3}Regression Models}{27}{section.3.3}
\contentsline {subsection}{\numberline {3.3.1}Definition}{27}{subsection.3.3.1}
\contentsline {subsection}{\numberline {3.3.2}Prediction}{27}{subsection.3.3.2}
\contentsline {subsection}{\numberline {3.3.3}Estimation}{28}{subsection.3.3.3}
\contentsline {subsubsection}{\numberline {3.3.3.1}Nonparametric}{28}{subsubsection.3.3.3.1}
\contentsline {subsubsection}{\numberline {3.3.3.2}Parametric}{28}{subsubsection.3.3.3.2}
\contentsline {subsubsection}{\numberline {3.3.3.3}Comparison}{28}{subsubsection.3.3.3.3}
\contentsline {subsection}{\numberline {3.3.4}The lm() Function in R}{29}{subsection.3.3.4}
\contentsline {subsection}{\numberline {3.3.5}Details of Linear Regression Estimation}{31}{subsection.3.3.5}
\contentsline {subsubsection}{\numberline {3.3.5.1}Polynomial Terms}{32}{subsubsection.3.3.5.1}
\contentsline {subsection}{\numberline {3.3.6}Categorical Variables (Predictor, Response)}{33}{subsection.3.3.6}
\contentsline {subsubsection}{\numberline {3.3.6.1}Dummy Variables as Predictors}{33}{subsubsection.3.3.6.1}
\contentsline {subsubsection}{\numberline {3.3.6.2}Interaction Terms}{35}{subsubsection.3.3.6.2}
\contentsline {subsubsection}{\numberline {3.3.6.3}Dummy Variables as Response Variables}{36}{subsubsection.3.3.6.3}
\contentsline {subsection}{\numberline {3.3.7}R's predict(), a Generic Function}{37}{subsection.3.3.7}
\contentsline {subsection}{\numberline {3.3.8}More Than Two Levels in Categorical Response}{38}{subsection.3.3.8}
\contentsline {section}{\numberline {3.4}Bias, Variance, Overfitting and p-Hacking}{39}{section.3.4}
\contentsline {subsection}{\numberline {3.4.1}What Is Overfitting?}{39}{subsection.3.4.1}
\contentsline {subsection}{\numberline {3.4.2}Can Anything Be Done about It?}{41}{subsection.3.4.2}
\contentsline {subsection}{\numberline {3.4.3}The Problem of P-hacking}{42}{subsection.3.4.3}
\contentsline {section}{\numberline {3.5}Extended Example}{43}{section.3.5}
\contentsline {chapter}{\numberline {4}Nearest-Neighbor Methods}{47}{chapter.4}
\contentsline {section}{\numberline {4.1}Notation}{47}{section.4.1}
\contentsline {section}{\numberline {4.2}User-Based Filtering}{47}{section.4.2}
\contentsline {subsection}{\numberline {4.2.1}Matrix View}{48}{subsection.4.2.1}
\contentsline {subsection}{\numberline {4.2.2}(One) Implementation}{48}{subsection.4.2.2}
\contentsline {section}{\numberline {4.3}Regression Analog}{50}{section.4.3}
\contentsline {section}{\numberline {4.4}Choosing k}{50}{section.4.4}
\contentsline {section}{\numberline {4.5}Defining Distance}{50}{section.4.5}
\contentsline {section}{\numberline {4.6}Item-Based Filtering}{50}{section.4.6}
\contentsline {section}{\numberline {4.7}Covariates}{50}{section.4.7}
\contentsline {section}{\numberline {4.8}Edge Bias}{50}{section.4.8}
\contentsline {chapter}{\numberline {5}Matrix Factorization Methods}{51}{chapter.5}
\contentsline {chapter}{\numberline {6}Statistical Models}{53}{chapter.6}
\contentsline {chapter}{\numberline {7}Use of Side Information}{55}{chapter.7}
\contentsline {chapter}{\numberline {8}Bias, Variance and Overfitting}{57}{chapter.8}
\contentsline {chapter}{\numberline {A}R Quick Start}{59}{appendix.A}
\contentsline {section}{\numberline {A.1}Correspondences}{59}{section.A.1}
\contentsline {section}{\numberline {A.2}Starting R}{60}{section.A.2}
\contentsline {section}{\numberline {A.3}First Sample Programming Session}{60}{section.A.3}
\contentsline {section}{\numberline {A.4}Vectorization}{63}{section.A.4}
\contentsline {section}{\numberline {A.5}Second Sample Programming Session}{63}{section.A.5}
\contentsline {section}{\numberline {A.6}Recycling}{64}{section.A.6}
\contentsline {section}{\numberline {A.7}More on Vectorization}{65}{section.A.7}
\contentsline {section}{\numberline {A.8}Third Sample Programming Session}{65}{section.A.8}
\contentsline {section}{\numberline {A.9}Default Argument Values}{66}{section.A.9}
\contentsline {section}{\numberline {A.10}The R List Type}{67}{section.A.10}
\contentsline {subsection}{\numberline {A.10.1}The Basics}{67}{subsection.A.10.1}
\contentsline {subsection}{\numberline {A.10.2}The Reduce() Function}{68}{subsection.A.10.2}
\contentsline {subsection}{\numberline {A.10.3}S3 Classes}{69}{subsection.A.10.3}
\contentsline {section}{\numberline {A.11}Some Workhorse Functions}{70}{section.A.11}
\contentsline {section}{\numberline {A.12}Handy Utilities}{72}{section.A.12}
\contentsline {section}{\numberline {A.13}Data Frames}{73}{section.A.13}
\contentsline {section}{\numberline {A.14}Graphics}{75}{section.A.14}
\contentsline {section}{\numberline {A.15}Packages}{75}{section.A.15}
\contentsline {section}{\numberline {A.16}Other Sources for Learning R}{76}{section.A.16}
\contentsline {section}{\numberline {A.17}Online Help}{77}{section.A.17}
\contentsline {section}{\numberline {A.18}Debugging in R}{77}{section.A.18}
\contentsline {section}{\numberline {A.19}Complex Numbers}{77}{section.A.19}
\contentsline {section}{\numberline {A.20}Further Reading}{78}{section.A.20}
