{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Generative Classification"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Preliminaries\n",
"\n",
"- Goal \n",
" - Introduction to linear generative classification with multinomial-Gaussian generative model\n",
" \n",
"- Materials \n",
" - Mandatory\n",
" - These lecture notes\n",
" - Optional\n",
" - Bishop pp. 196-202 "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Example Problem: an apple or a peach?\n",
"\n",
"You're given numerical values for the skin features roughness and color for 200 pieces of fruit, where for each piece of fruit you also know if it is an apple or a peach. Now you receive the roughness and color values for a new piece of fruit but you don't get its class label (apple or peach). What is the probability that the new piece is an apple? "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "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u3fvxi9+8QtMnz4dGzduBAAUFhZiz549eOedd7B3714sXrwYnTt3NujdIiIzFRYCSUlAQ4P0GOv/l1ofj+KYcJDa2loBQNTW1rZ47YcffhB79uwRP/zwgybnSkoSApAe9XbzzTeL6667zvP8o48+Ep06dRJTpkwRhYWFYuzYsT77V1dXCwBi3759qsc7dOiQACB27dolhBCivLxctG/fXhw9elR1/6KiItG2bVtRV1fn2TZv3jwxdOhQIYQQJ0+eFCkpKWLLli0+33frrbeKn/70p0IIISZOnChuueWWCK88/mj9c0hkByUl3v8vAem5lY5H5gt2/44FM0E6KC31/gXS0BC4WFpLb731Ftq1a4eUlBTk5+fj8ssvxx/+8AdUVVVhw4YNaNeunecrJycHADxdXvv378dNN92EXr16ITU1FT179gQAHDx4EACwY8cOXHzxxejYsWPA82dnZ6N9+/ae5+np6Th06BAAqTvu9OnTGDNmjE87XnrpJU8b7rzzTixfvhyDBg3Cr371K2zZskX7N4mILEdZMlBf37KkwOzjUXxjYbTG/GuA5OeAvinZUaNGYfHixWjdujUyMjLQunVrAEBzczMmTpyIRx99tMX3pKenAwAmTpyIrKwsVFRUICMjA83NzRgwYAAaGhoASF1rocjnk7lcLk93mfz49ttv4/zzz/fZLzk5GQAwbtw4/Pe//8Xbb7+Nf/7zn7jiiitw11134fHHH4/kbSCKO8XF0qALtf8/SkuBpib7Dv1Wq5lUK24263gU/xgEacjMX8BzzjkHF1xwQYvtubm5WLlyJbKzs9GqVcuP++jRo9i7dy/Ky8sxYsQIAMDmzZt99hk4cCCee+45fPfdd0GzQYH069cPycnJOHjwIEaOHBlwvy5dumDmzJmYOXMmRowYgXnz5jEIIsczc9Sp3pqa1Gsm5edNTeYej+IfgyANWfEX8K677kJFRQV++tOfYt68eejcuTP+85//YPny5aioqMC5556LTp06YcmSJUhPT8fBgwfx61//2ucYP/3pT/Hb3/4WkyZNwqJFi5Ceno5PPvkEGRkZyM/PD9mG9u3b4/7778cvfvELNDc3Y/jw4airq8OWLVvQrl073HzzzViwYAEGDx6M/v37o76+Hm+99Rb69u2r19tCZBvxPOw7WAYrmuvS+ngU/xgEaciKv4AZGRn417/+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i+4k2f79+3HmzBlcdtllnm2tW7fGJZdc0uIcynYEo7wmuf3ysaqqqrBhwwaf9uXk5HjaIj/edNNN6NWrF1JTU9GzZ08A8NRV7dixAxdffDE6duwYsA3Z2dlo376953l6ejoOHTrks8/OnTvxwgsv4I033sD5558f1rWR/amtTaUlvbvdlMtZxOtQdS6f4VycMVojI0aMQGZmJr755hvVuiCXy4XMzEyMGDFC83M///zzaGxs9LmxCiHQunVrHDt2DOeee27Q73e5XEGfB9rW3NwMAKioqMDQoUN9XksMUDAgvzf+xxNCtNh2zjnnBG13MPKxmpubMXHiRDz66KMt9pED0okTJyIrKwsVFRXIyMhAc3MzBgwYgIaGBgBAmzZtQp6vdevWLc4vvz+yAwcOAAD69OkT+QWRLfkHI/JzQNtgQs8FSON9gVEun+FszARpJDExEU8//TSAwEHFU089FTA4iFZjYyNeeuklPPHEE9ixY4fn69NPP0WPHj3w6quv+uz/4Ycfev597NgxfP75557MiHy8bdu2eZ7v27cPx48f99lH1rVrV5x//vn48ssvccEFF/h8ydkUfxdccAGSkpKwefNmz7YzZ85g27Zt6Nu3b1TvgfKaGhsbUVVV5Wlvbm4udu/ejezs7BZtPOecc3D06FHs3bsX8+fPxxVXXIG+ffvi2LFjPscfOHAgduzYge+++y6q9slGjhzpUwBO8c2MUU5aZ2yckCExoxCbLETTzjWL07MmSLZy5UqRmZnpUweUlZUlVq5cGdNxA1m9erVISkoSx48fb/HaQw89JAYNGiSE8NbZ9O/fX/zzn/8Uu3btEtdee63o3r27p0BXLoy+5JJLxIcffiiqqqpEfn6+uPTSSz3H9K8JqqioEG3atBFPPfWU2Ldvn9i5c6d44YUXxBNPPBGwzffee6/IyMgQ77zzjk9h9HfffefT1mPHjgW9drkmqHv37mLVqlVi79694vbbbxft2rUThw8fFkII8c0334guXbqIG264QXz00Udi//794h//+Ie45ZZbRGNjo2hqahKdOnUS06dPF1988YVYt26dGDJkiAAgVq9eLYQQor6+Xlx44YVixIgRYvPmzWL//v1ixYoVPoXRyvdECCGefPJJ0aNHD59tq1atEn369Al6TawJsqZoio/1LFgOdEwta1r0rjUiigQLozVgRBAk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BrLdPEGx0GueAdJQvMzREy/XYTS+b0SkQq/7N4MgshYtJtqzgni5DqPxfSMiFZwskZwhXuboiZfrMBrfNyIykK1GhxGRBXDoOhHFCQZBZF3xMmtwvFyHzKih6/H2vhGR5bAmiIgiw8VNichgrAkiIvNw6DoRxSEGQUQUGtd+I6I4xCCIiELTYmV4IiKLYRBERKFx6DoRxSGODiMiIiJHYhBERJHh0HUiihPsDiOiyHBleCKKE8wEEZEXZ4MmIgdhEEREXkbNBk1EZAEMgoiIiMiRWBNE5HScDZqIHIpBEJHTcTZoInIoBkFETsfZoInIoRgEETkdZ4MmIodiYTQRERE5EoMgIvLibNBE5CDsDiMiL84GTUQOwkwQERERORKDICIiInIkBkFERETkSAyCiIiIyJEYBBEREZEjMQgiIiIiR2IQRERERI7EIIiIiIgciUEQERERORKDICIiInIkBkFERETkSAyCiIiIyJEYBBEREZEjMQgiIiIiR2IQRERERI7EIIiIiIgciUEQERERORKDICIiInIkBkFERETkSAyCiIiIyJEYBBEREZEjMQgiIiIiR2IQRERERI7EIIiIiIgciUEQERERORKDICIiInIkBkFERETkSAyCiIiIyJEYBBEREZEjMQgiIiIiR2IQRERERI7EIIiIiIgciUEQERERORKDICIiInIkBkFERETkSAyCiIiIyJEYBBEREZEjMQgiIiIiR2IQRERERI7EIIiIiIgciUEQEREROZJtgqCHH34Yw4YNQ9u2bdGhQwezm0NEREQ2Z5sgqKGhAT/5yU9w5513mt0UIiIiigOtzG5AuBYuXAgAWLZsWdjfU19fj/r6es/z2tpaAEBdXZ2mbSMiIiL9yPdtIYSmx7VNEBSNRYsWeYInpaysLBNaQ0RERLE4evQo0tLSNDteXAdBDz74IObOnet5fvz4cfTo0QMHDx7U9E20urq6OmRlZaG6uhqpqalmN8cwvG5etxPwunndTlBbW4vu3bujY8eOmh7X1CCouLhYNVOjtHXrVuTl5UV1/OTkZCQnJ7fYnpaW5qgfHllqaiqv20F43c7C63YWp153QoK2pcymBkFz5szB1KlTg+6TnZ1tTGOIiIjIUUwNgjp37ozOnTub2QQiIiJyqMTi4uJisxsRjoMHD+LAgQP4+OOPsXnzZowfPx7ffvst2rVrh6SkpLCPk5iYiIKCArRqFdflUC3wunndTsDr5nU7Aa9bu+t2Ca3Hm+lk5syZePHFF1ts37BhAwoKCoxvEBEREdmabYIgIiIiIi3ZZsZoIiIiIi0xCCIiIiJHYhBEREREjsQgiIiIiBwp7oOghx9+GMOGDUPbtm3RoUOHsL5HCIHi4mJkZGSgTZs2KCgowO7du3VuqbaOHTuGGTNmIC0tDWlpaZgxYwaOHz8e9HsKCgrgcrl8vkJNZmm2Z599Fj179kRKSgoGDx6MTZs2Bd1/5cqV6NevH5KTk9GvXz+sXr3aoJZqK5LrXrZsWYvP1eVy4fTp0wa2OHbvv/8+Jk6ciIyMDLhcLqxZsybk92zcuBGDBw9GSkoKevXqhT//+c8GtFRbkV53ZWWl6uf92WefGdTi2C1atAhDhgxB+/btcd5552HSpEnYt29fyO+z++93NNcdD7/fixcvxsCBAz2zYOfn5+Odd94J+j1afdZxHwQ1NDTgJz/5Ce68886wv+d3v/sdfv/73+OPf/wjtm7dim7dumHMmDE4ceKEji3V1k033YQdO3Zg7dq1WLt2LXbs2IEZM2aE/L5Zs2bB7XZ7vsrLyw1obXRef/113HffffjNb36DTz75BCNGjMC4ceNw8OBB1f0/+OAD3HjjjZgxYwY+/fRTzJgxA1OmTMFHH31kcMtjE+l1A9IU+8rP1e12IyUlxcBWx+7UqVO46KKL8Mc//jGs/Q8cOIDx48djxIgR+OSTT/DQQw/hnnvuwcqVK3VuqbYivW7Zvn37fD7v3r1769RC7W3cuBF33XUXPvzwQ7z33ntobGzE2LFjcerUqYDfEw+/39FcN2D/3+/MzEw88sgj2LZtG7Zt24bRo0fjuuuuC5h80PSzFg6xdOlSkZaWFnK/5uZm0a1bN/HII494tp0+fVqkpaWJP//5z3o2UTN79uwRAMSHH37o2fbBBx8IAOKzzz4L+H0jR44U9957rxFN1MQll1wi7rjjDp9tOTk54te//rXq/lOmTBFXX321z7arrrpKTJ06Vbc26iHS6w73Z99OAIjVq1cH3edXv/qVyMnJ8dk2e/Zscemll+rZNF2Fc90bNmwQAMSxY8cMapX+Dh06JACIjRs3BtwnXn6/lcK57nj8/RZCiHPPPVc899xzqq9p+VnHfSYoUgcOHMC3336LsWPHerYlJydj5MiR2LJli4ktC98HH3yAtLQ0DB061LPt0ksvRVpaWshrePXVV9G5c2f0798f999/v2WzXw0NDaiqqvL5nABg7NixAa/xgw8+aLH/VVddZZvPFYjuugHg5MmT6NGjBzIzMzFhwgR88sknejfVdIE+723btuHMmTMmtco4F198MdLT03HFFVdgw4YNZjcnJrW1tQAQdAXxePj99hfOdQPx9fvd1NSE5cuX49SpU8jPz1fdR8vP2llzbofh22+/BQB07drVZ3vXrl3x3//+14wmRezbb7/Feeed12L7eeed57k+NdOmTUPPnj3RrVs3/Pvf/8aDDz6ITz/9FO+9956ezY3KkSNH0NTUpPo5BbrGb7/9NqL9rSia687JycGyZcvwox/9CHV1dXj66adx2WWX4dNPP7VVF0mkAn3ejY2NOHLkCNLT001qmb7S09OxZMkSDB48GPX19Xj55ZdxxRVXoLKyEpdffrnZzYuYEAJz587F8OHDMWDAgID7xcPvt1K41x0vv9+7du1Cfn4+Tp8+jXbt2mH16tXo16+f6r5afta2DIKKi4uxcOHCoPts3boVeXl5UZ/D5XL5PBdCtNhmtHCvG2jZfiD0NcyaNcvz7wEDBqB3797Iy8vD9u3bkZubG2Wr9RXp52TFzzUakVzHpZdeiksvvdTz/LLLLkNubi7+8Ic/4JlnntG1nWZTe5/UtseTPn36oE+fPp7n+fn5qK6uxuOPP27LIGjOnDnYuXMnNm/eHHLfePn9BsK/7nj5/e7Tpw927NiB48ePY+XKlbj55puxcePGgIGQVp+1LYOgOXPmhBy1lJ2dHdWxu3XrBkCKNJV/KR46dKhF5Gm0cK97586d+N///tfitcOHD0d0Dbm5uWjdujW++OILywVBnTt3RmJiYovIP9jn1K1bt4j2t6JorttfQkIChgwZgi+++EKPJlpGoM+7VatW6NSpk0mtMsell16KV155xexmROzuu+/GG2+8gffffx+ZmZlB942H329ZJNftz66/30lJSbjgggsAAHl5edi6dSuefvpp1cE5Wn7WtqwJ6ty5M3JycoJ+RVsZL3cHKbuAGhoasHHjRgwbNkyrS4hKuNedn5+P2tpa/P/27iW0iTUM4/irNrGooRgo3sALXaQIFtvYhaANUrCKFxB0ISUExY0gUnexIpqFEDeKoIhgEVcK1hQXBY1gg6K1ih2xthVR04riqkKtCuLlOZtjOPVyzkm9jNP5/2AWmflS3rcfX/owmY/eunWr8N6uri4bHh4uqofe3l57//79H/m1QTAYtGg0+tVXdZcvX/5uj0uXLv1qfDabdX1eizGWvr8kye7evftHzuvP9L35XrJkiQUCAZeqcofjOJ6ab0m2Y8cOy2QyduXKFVuwYMF/vmc8rO+x9P2tnzEe1rcke/fu3Tev/dS5LvpRao8ZHByU4zhKpVKaNm2aHMeR4zgaGRkpjIlEIspkMoXX6XRaZWVlymQy6unp0ebNmzVr1iy9evXKjRbGZNWqVaqqqlJnZ6c6Ozu1aNEirV27tnD92bNnikQi6urqkiQ9evRIqVRKt2/fVj6fV3t7uyorK1VdXa0PHz641ca/Onv2rAKBgFpaWtTX16empiZNnTpVAwMDkqR4PD5qx9T169c1adIkpdNp9ff3K51Oq6SkZNQuOi8otu/9+/fr4sWLevz4sRzH0ZYtW1RSUlKYe68YGRkprF8z06FDh+Q4jgYHByVJyWRS8Xi8MP7JkyeaMmWKdu3apb6+PrW0tCgQCKi1tdWtFsak2L4PHz6strY2PXz4UPfv31cymZSZ6fz58261ULTt27errKxMuVxOL168KBxv374tjBmP63ssfY+H9b17925dvXpV+Xxe9+7dU3NzsyZOnKhsNivp1871uA9BiURCZvbV0dHRURhjZjp16lTh9adPn7Rv3z7NnDlTkydPVl1dnXp6en5/8T9gaGhIjY2NCoVCCoVCamxsHLVlNp/Pj/o9PH36VHV1dQqHwwoGg6qoqNDOnTs1NDTkUgf/z7FjxzRv3jwFg0HV1NSM2koai8WUSCRGjT937pwikYgCgYAqKys99Yfhn4rpu6mpSXPnzlUwGFR5eblWrlypGzduuFD1j/m89fvL43OviURCsVhs1HtyuZyqq6sVDAY1f/58HT9+/PcX/oOK7fvgwYOqqKhQaWmppk+frmXLlqm9vd2d4sfoW/1++Tk9Htf3WPoeD+t769athc+z8vJy1dfXFwKQ9GvneoL095OCAAAAPuLJZ4IAAAB+FCEIAAD4EiEIAAD4EiEIAAD4EiEIAAD4EiEIAAD4EiEIAAD4EiEIAAD4EiEIAAD4EiEIgOecOXPGSktL7fnz54Vz27Zts6qqKhseHnaxMgBewr/NAOA5kmzx4sW2fPlyO3r0qKVSKTt58qTdvHnT5syZ43Z5ADyixO0CAKBYEyZMsAMHDtjGjRtt9uzZduTIEbt27VohAG3YsMFyuZzV19dba2ury9UC+FNxJwiAZ9XU1Fhvb69ls1mLxWKF8x0dHfb69Ws7ffo0IQjAd/FMEABPunTpkj148MA+fvxoM2bMGHVtxYoVFgqFXKoMgFcQggB4Tnd3t23atMlOnDhhDQ0NtnfvXrdLAuBBPBMEwFMGBgZszZo1lkwmLR6P28KFC622ttbu3Llj0WjU7fIAeAh3ggB4xsuXL2316tW2fv16a25uNjOzaDRq69atsz179rhcHQCv4U4QAM8Ih8PW39//1fkLFy64UA0Ar2N3GIBxp6Ghwbq7u+3NmzcWDoetra3Namtr3S4LwB+GEAQAAHyJZ4IAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAvEYIAAIAv/QWCOHv2lLEAbwAAAABJRU5ErkJggg==",
"text/plain": [
"Figure(PyObject