From 05c3bf1edc7f942237af42908d90c4a4ace5b8bc Mon Sep 17 00:00:00 2001 From: "Daniel J. McDonald" Date: Mon, 9 Oct 2023 13:50:21 -0700 Subject: [PATCH] module 3 done --- .../execute-results/html.json | 20 + .../figure-revealjs/plot-d1-1.svg | 629 ++++ .../execute-results/html.json | 20 + .../figure-revealjs/plot-d1-1.png | Bin 0 -> 89757 bytes .../figure-revealjs/plot-d1-1.svg | 1317 +++++++++ .../figure-revealjs/plot-partition-1.svg | 512 ++++ .../figure-revealjs/unnamed-chunk-3-1.png | Bin 0 -> 41925 bytes .../figure-revealjs/unnamed-chunk-3-1.svg | 589 ++++ .../figure-revealjs/unnamed-chunk-4-1.png | Bin 0 -> 123592 bytes .../figure-revealjs/unnamed-chunk-4-1.svg | 2600 +++++++++++++++++ .../figure-revealjs/unnamed-chunk-6-1.svg | 273 ++ .../figure-revealjs/unnamed-chunk-7-1.png | Bin 0 -> 31983 bytes .../figure-revealjs/unnamed-chunk-7-1.svg | 589 ++++ schedule/slides/16-logistic-regression.html | 434 --- ...ression.Rmd => 16-logistic-regression.qmd} | 167 +- schedule/slides/17-nonlinear-classifiers.Rmd | 399 --- schedule/slides/17-nonlinear-classifiers.html | 493 ---- schedule/slides/17-nonlinear-classifiers.qmd | 407 +++ 18 files changed, 7042 insertions(+), 1407 deletions(-) create mode 100644 _freeze/schedule/slides/16-logistic-regression/execute-results/html.json create mode 100644 _freeze/schedule/slides/16-logistic-regression/figure-revealjs/plot-d1-1.svg create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/execute-results/html.json create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.png create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.svg create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-partition-1.svg create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-3-1.png create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-3-1.svg create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-4-1.png create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-4-1.svg create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-6-1.svg create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.png create mode 100644 _freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.svg delete mode 100644 schedule/slides/16-logistic-regression.html rename schedule/slides/{16-logistic-regression.Rmd => 16-logistic-regression.qmd} (60%) delete mode 100644 schedule/slides/17-nonlinear-classifiers.Rmd delete mode 100644 schedule/slides/17-nonlinear-classifiers.html create mode 100644 schedule/slides/17-nonlinear-classifiers.qmd diff --git a/_freeze/schedule/slides/16-logistic-regression/execute-results/html.json b/_freeze/schedule/slides/16-logistic-regression/execute-results/html.json new file mode 100644 index 0000000..4062349 --- /dev/null +++ b/_freeze/schedule/slides/16-logistic-regression/execute-results/html.json @@ -0,0 +1,20 @@ +{ + "hash": "321f23ca5b468e97b2588b152a875222", + "result": { + "markdown": "---\nlecture: \"16 Logistic regression\"\nformat: revealjs\nmetadata-files: \n - _metadata.yml\n---\n---\n---\n\n## {{< meta lecture >}} {.large background-image=\"gfx/smooths.svg\" background-opacity=\"0.3\"}\n\n[Stat 406]{.secondary}\n\n[{{< meta author >}}]{.secondary}\n\nLast modified -- 09 October 2023\n\n\n\n$$\n\\DeclareMathOperator*{\\argmin}{argmin}\n\\DeclareMathOperator*{\\argmax}{argmax}\n\\DeclareMathOperator*{\\minimize}{minimize}\n\\DeclareMathOperator*{\\maximize}{maximize}\n\\DeclareMathOperator*{\\find}{find}\n\\DeclareMathOperator{\\st}{subject\\,\\,to}\n\\newcommand{\\E}{E}\n\\newcommand{\\Expect}[1]{\\E\\left[ #1 \\right]}\n\\newcommand{\\Var}[1]{\\mathrm{Var}\\left[ #1 \\right]}\n\\newcommand{\\Cov}[2]{\\mathrm{Cov}\\left[#1,\\ #2\\right]}\n\\newcommand{\\given}{\\ \\vert\\ }\n\\newcommand{\\X}{\\mathbf{X}}\n\\newcommand{\\x}{\\mathbf{x}}\n\\newcommand{\\y}{\\mathbf{y}}\n\\newcommand{\\P}{\\mathcal{P}}\n\\newcommand{\\R}{\\mathbb{R}}\n\\newcommand{\\norm}[1]{\\left\\lVert #1 \\right\\rVert}\n\\newcommand{\\snorm}[1]{\\lVert #1 \\rVert}\n\\newcommand{\\tr}[1]{\\mbox{tr}(#1)}\n\\newcommand{\\brt}{\\widehat{\\beta}^R_{s}}\n\\newcommand{\\brl}{\\widehat{\\beta}^R_{\\lambda}}\n\\newcommand{\\bls}{\\widehat{\\beta}_{ols}}\n\\newcommand{\\blt}{\\widehat{\\beta}^L_{s}}\n\\newcommand{\\bll}{\\widehat{\\beta}^L_{\\lambda}}\n$$\n\n\n\n\n\n## Last time\n\n\n* We showed that with two classes, the [Bayes' classifier]{.secondary} is\n\n$$g_*(X) = \\begin{cases}\n1 & \\textrm{ if } \\frac{p_1(X)}{p_0(X)} > \\frac{1-\\pi}{\\pi} \\\\\n0 & \\textrm{ otherwise}\n\\end{cases}$$\n\nwhere $p_1(X) = Pr(X \\given Y=1)$ and $p_0(X) = Pr(X \\given Y=0)$\n\n* We then looked at what happens if we **assume** $Pr(X \\given Y=y)$ is Normally distributed.\n\nWe then used this distribution and the class prior $\\pi$ to find the __posterior__ $Pr(Y=1 \\given X=x)$.\n\n## Direct model\n\nInstead, let's directly model the posterior\n\n$$\n\\begin{aligned}\nPr(Y = 1 \\given X=x) & = \\frac{\\exp\\{\\beta_0 + \\beta^{\\top}x\\}}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}} \\\\\n\\P(Y = 0 | X=x) & = \\frac{1}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}}=1-\\frac{\\exp\\{\\beta_0 + \\beta^{\\top}x\\}}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}}\n\\end{aligned}\n$$\n\nThis is logistic regression.\n\n\n## Why this?\n\n$$Pr(Y = 1 \\given X=x) = \\frac{\\exp\\{\\beta_0 + \\beta^{\\top}x\\}}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}}$$\n\n* There are lots of ways to map $\\R \\mapsto [0,1]$.\n\n* The \"logistic\" function $z\\mapsto (1 + \\exp(-z))^{-1} = \\exp(z) / (1+\\exp(z)) =:h(z)$ is nice.\n\n* It's symmetric: $1 - h(z) = h(-z)$\n\n* Has a nice derivative: $h'(z) = \\frac{\\exp(z)}{(1 + \\exp(z))^2} = h(z)(1-h(z))$.\n\n* It's the inverse of the \"log-odds\" (logit): $\\log(p / (1-p))$.\n\n\n\n## Another linear classifier\n\nLike LDA, logistic regression is a linear classifier\n\nThe _logit_ (i.e.: log odds) transformation\ngives a linear decision boundary\n$$\\log\\left( \\frac{\\P(Y = 1 \\given X=x)}{\\P(Y = 0 \\given X=x) } \\right) = \\beta_0 + \\beta^{\\top} x$$\nThe decision boundary is the hyperplane\n$\\{x : \\beta_0 + \\beta^{\\top} x = 0\\}$\n\nIf the log-odds are below 0, classify as 0, above 0 classify as a 1.\n\n## Logistic regression is also easy in R\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nlogistic <- glm(y ~ ., dat, family = \"binomial\")\n```\n:::\n\n\nOr we can use lasso or ridge regression or a GAM as before\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nlasso_logit <- cv.glmnet(x, y, family = \"binomial\")\nridge_logit <- cv.glmnet(x, y, alpha = 0, family = \"binomial\")\ngam_logit <- gam(y ~ s(x), data = dat, family = \"binomial\")\n```\n:::\n\n\n\n::: aside\nglm means generalized linear model\n:::\n\n\n## Baby example (continued from last time)\n\n\n::: {.cell layout-align=\"center\"}\n\n:::\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\ndat1 <- generate_lda_2d(100, Sigma = .5 * diag(2))\nlogit <- glm(y ~ ., dat1 |> mutate(y = y - 1), family = \"binomial\")\nsummary(logit)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n\nCall:\nglm(formula = y ~ ., family = \"binomial\", data = mutate(dat1, \n y = y - 1))\n\nCoefficients:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) -2.6649 0.6281 -4.243 2.21e-05 ***\nx1 2.5305 0.5995 4.221 2.43e-05 ***\nx2 1.6610 0.4365 3.805 0.000142 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\n(Dispersion parameter for binomial family taken to be 1)\n\n Null deviance: 138.469 on 99 degrees of freedom\nResidual deviance: 68.681 on 97 degrees of freedom\nAIC: 74.681\n\nNumber of Fisher Scoring iterations: 6\n```\n:::\n:::\n\n\n\n## Visualizing the classification boundary\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code code-fold=\"true\"}\ngr <- expand_grid(x1 = seq(-2.5, 3, length.out = 100), \n x2 = seq(-2.5, 3, length.out = 100))\npts <- predict(logit, gr)\ng0 <- ggplot(dat1, aes(x1, x2)) +\n scale_shape_manual(values = c(\"0\", \"1\"), guide = \"none\") +\n geom_raster(data = tibble(gr, disc = pts), aes(x1, x2, fill = disc)) +\n geom_point(aes(shape = as.factor(y)), size = 4) +\n coord_cartesian(c(-2.5, 3), c(-2.5, 3)) +\n scale_fill_steps2(n.breaks = 6, name = \"log odds\") \ng0\n```\n\n::: {.cell-output-display}\n![](16-logistic-regression_files/figure-revealjs/plot-d1-1.svg){fig-align='center'}\n:::\n:::\n\n\n\n## Calculation\n\nWhile the `R` formula for logistic regression is straightforward, it's not as easy to compute as OLS or LDA or QDA.\n\n\nLogistic regression for two classes simplifies to a likelihood:\n\nWrite $p_i(\\beta) = \\P(Y_i = 1 | X = x_i,\\beta)$\n\n* $P(Y_i = y_i \\given X = x_i, \\beta) = p_i^{y_i}(1-p_i)^{1-y_i}$ (...Bernoulli distribution)\n\n* $P(\\mathbf{Y} \\given \\mathbf{X}, \\beta) = \\prod_{i=1}^n p_i^{y_i}(1-p_i)^{1-y_i}$. \n\n\n## Calculation\n\n\nWrite $p_i(\\beta) = \\P(Y_i = 1 | X = x_i,\\beta)$\n\n\n$$\n\\begin{aligned}\n\\ell(\\beta) \n& = \\log \\left( \\prod_{i=1}^n p_i^{y_i}(1-p_i)^{1-y_i} \\right)\\\\\n&=\\sum_{i=1}^n \\left( y_i\\log(p_i(\\beta)) + (1-y_i)\\log(1-p_i(\\beta))\\right) \\\\\n& = \n\\sum_{i=1}^n \\left( y_i\\log(e^{\\beta^{\\top}x_i}/(1+e^{\\beta^{\\top}x_i})) - (1-y_i)\\log(1+e^{\\beta^{\\top}x_i})\\right) \\\\\n& = \n\\sum_{i=1}^n \\left( y_i\\beta^{\\top}x_i -\\log(1 + e^{\\beta^{\\top} x_i})\\right)\n\\end{aligned}\n$$\n\nThis gets optimized via Newton-Raphson updates and iteratively reweighed\nleast squares.\n\n\n## IRWLS for logistic regression (skip for now)\n\n(This is preparation for Neural Networks.)\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nlogit_irwls <- function(y, x, maxit = 100, tol = 1e-6) {\n p <- ncol(x)\n beta <- double(p) # initialize coefficients\n beta0 <- 0\n conv <- FALSE # hasn't converged\n iter <- 1 # first iteration\n while (!conv && (iter < maxit)) { # check loops\n iter <- iter + 1 # update first thing (so as not to forget)\n eta <- beta0 + x %*% beta\n mu <- 1 / (1 + exp(-eta))\n gp <- 1 / (mu * (1 - mu)) # inverse of derivative of logistic\n z <- eta + (y - mu) * gp # effective transformed response\n beta_new <- coef(lm(z ~ x, weights = 1 / gp)) # do Weighted Least Squares\n conv <- mean(abs(c(beta0, beta) - betaNew)) < tol # check if the betas are \"moving\"\n beta0 <- betaNew[1] # update betas\n beta <- betaNew[-1]\n }\n return(c(beta0, beta))\n}\n```\n:::\n\n\n\n## Comparing LDA and Logistic regression\n\nBoth decision boundaries are linear in $x$: \n\n- LDA $\\longrightarrow \\alpha_0 + \\alpha_1^\\top x$ \n- Logit $\\longrightarrow \\beta_0 + \\beta_1^\\top x$.\n\nBut the parameters are estimated differently.\n\n## Comparing LDA and Logistic regression\n\nExamine the joint distribution of $(X,\\ Y)$ [(not the posterior)]{.f3}: \n\n- LDA: $f(X_i,\\ Y_i) = \\underbrace{ f(X_i \\given Y_i)}_{\\textrm{Gaussian}}\\underbrace{ f(Y_i)}_{\\textrm{Bernoulli}}$\n- Logistic Regression: $f(X_i,Y_i) = \\underbrace{ f(Y_i\\given X_i)}_{\\textrm{Logistic}}\\underbrace{ f(X_i)}_{\\textrm{Ignored}}$\n \n* LDA estimates the joint, but Logistic estimates only the conditional (posterior) distribution. [But this is really all we need.]{.hand}\n\n* So logistic requires fewer assumptions.\n\n* But if the two classes are perfectly separable, logistic crashes (and the MLE is undefined, too many solutions)\n\n* LDA \"works\" even if the conditional isn't normal, but works very poorly if any X is qualitative\n\n\n## Comparing with QDA (2 classes)\n\n\n* Recall: this gives a \"quadratic\" decision boundary (it's a curve).\n\n* If we have $p$ columns in $X$\n - Logistic estimates $p+1$ parameters\n - LDA estimates $2p + p(p+1)/2 + 1$\n - QDA estimates $2p + p(p+1) + 1$\n \n* If $p=50$,\n - Logistic: 51\n - LDA: 1376\n - QDA: 2651\n \n* QDA doesn't get used much: there are better nonlinear versions with way fewer parameters\n\n## Bad parameter counting\n\nI've motivated LDA as needing $\\Sigma$, $\\pi$ and $\\mu_0$, $\\mu_1$\n\nIn fact, we don't _need_ all of this to get the decision boundary.\n\nSo the \"degrees of freedom\" is much lower if we only want the _classes_ and not\nthe _probabilities_.\n\nThe decision boundary only really depends on\n\n* $\\Sigma^{-1}(\\mu_1-\\mu_0)$ \n* $(\\mu_1+\\mu_0)$, \n* so appropriate algorithms estimate $<2p$ parameters.\n\n## Note again:\n\nwhile logistic regression and LDA produce linear decision boundaries, they are **not** linear smoothers\n\nAIC/BIC/Cp work if you use the likelihood correctly and count degrees-of-freedom correctly\n\nMust people use either test set or CV\n\n\n# Next time:\n\nNonlinear classifiers\n", + "supporting": [ + "16-logistic-regression_files" + ], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": { + "include-after-body": [ + "\n\n\n" + ] + }, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/schedule/slides/16-logistic-regression/figure-revealjs/plot-d1-1.svg b/_freeze/schedule/slides/16-logistic-regression/figure-revealjs/plot-d1-1.svg new file mode 100644 index 0000000..a9c714f --- /dev/null +++ b/_freeze/schedule/slides/16-logistic-regression/figure-revealjs/plot-d1-1.svg @@ -0,0 +1,629 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/execute-results/html.json b/_freeze/schedule/slides/17-nonlinear-classifiers/execute-results/html.json new file mode 100644 index 0000000..9f1b948 --- /dev/null +++ b/_freeze/schedule/slides/17-nonlinear-classifiers/execute-results/html.json @@ -0,0 +1,20 @@ +{ + "hash": "587e959f2bf367631a52fe01acd5bc51", + "result": { + "markdown": "---\nlecture: \"17 Nonlinear classifiers\"\nformat: revealjs\nmetadata-files: \n - _metadata.yml\n---\n---\n---\n\n## {{< meta lecture >}} {.large background-image=\"gfx/smooths.svg\" background-opacity=\"0.3\"}\n\n[Stat 406]{.secondary}\n\n[{{< meta author >}}]{.secondary}\n\nLast modified -- 09 October 2023\n\n\n\n$$\n\\DeclareMathOperator*{\\argmin}{argmin}\n\\DeclareMathOperator*{\\argmax}{argmax}\n\\DeclareMathOperator*{\\minimize}{minimize}\n\\DeclareMathOperator*{\\maximize}{maximize}\n\\DeclareMathOperator*{\\find}{find}\n\\DeclareMathOperator{\\st}{subject\\,\\,to}\n\\newcommand{\\E}{E}\n\\newcommand{\\Expect}[1]{\\E\\left[ #1 \\right]}\n\\newcommand{\\Var}[1]{\\mathrm{Var}\\left[ #1 \\right]}\n\\newcommand{\\Cov}[2]{\\mathrm{Cov}\\left[#1,\\ #2\\right]}\n\\newcommand{\\given}{\\ \\vert\\ }\n\\newcommand{\\X}{\\mathbf{X}}\n\\newcommand{\\x}{\\mathbf{x}}\n\\newcommand{\\y}{\\mathbf{y}}\n\\newcommand{\\P}{\\mathcal{P}}\n\\newcommand{\\R}{\\mathbb{R}}\n\\newcommand{\\norm}[1]{\\left\\lVert #1 \\right\\rVert}\n\\newcommand{\\snorm}[1]{\\lVert #1 \\rVert}\n\\newcommand{\\tr}[1]{\\mbox{tr}(#1)}\n\\newcommand{\\brt}{\\widehat{\\beta}^R_{s}}\n\\newcommand{\\brl}{\\widehat{\\beta}^R_{\\lambda}}\n\\newcommand{\\bls}{\\widehat{\\beta}_{ols}}\n\\newcommand{\\blt}{\\widehat{\\beta}^L_{s}}\n\\newcommand{\\bll}{\\widehat{\\beta}^L_{\\lambda}}\n$$\n\n\n\n\n## Last time\n\n\nWe reviewed logistic regression\n\n$$\\begin{aligned}\n\\P(Y = 1 \\given X=x) & = \\frac{\\exp\\{\\beta_0 + \\beta^{\\top}x\\}}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}} \\\\\n\\P(Y = 0 \\given X=x) & = \\frac{1}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}}=1-\\frac{\\exp\\{\\beta_0 + \\beta^{\\top}x\\}}{1 + \\exp\\{\\beta_0 + \\beta^{\\top}x\\}}\\end{aligned}$$\n\n## Make it nonlinear\n\nWe can make LDA or logistic regression have non-linear decision boundaries by mapping the features to a higher dimension (just like with regular regression)\n\nSay:\n\n__Polynomials__\n\n$(x_1, x_2) \\mapsto \\left(1,\\ x_1,\\ x_1^2,\\ x_2,\\ x_2^2,\\ x_1 x_2\\right)$\n\n\n::: {.cell layout-align=\"center\"}\n\n:::\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\ndat1 <- generate_lda_2d(100, Sigma = .5 * diag(2)) |> mutate(y = as.factor(y))\nlogit_poly <- glm(y ~ x1 * x2 + I(x1^2) + I(x2^2), dat1, family = \"binomial\")\nlda_poly <- lda(y ~ x1 * x2 + I(x1^2) + I(x2^2), dat1)\n```\n:::\n\n\n\n\n## Visualizing the classification boundary\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code code-fold=\"true\"}\nlibrary(cowplot)\ngr <- expand_grid(x1 = seq(-2.5, 3, length.out = 100), x2 = seq(-2.5, 3, length.out = 100))\npts_logit <- predict(logit_poly, gr)\npts_lda <- predict(lda_poly, gr)\ng0 <- ggplot(dat1, aes(x1, x2)) +\n scale_shape_manual(values = c(\"0\", \"1\"), guide = \"none\") +\n geom_raster(data = tibble(gr, disc = pts_logit), aes(x1, x2, fill = disc)) +\n geom_point(aes(shape = as.factor(y)), size = 4) +\n coord_cartesian(c(-2.5, 3), c(-2.5, 3)) +\n scale_fill_viridis_b(n.breaks = 6, alpha = .5, name = \"log odds\") +\n ggtitle(\"Polynomial logit\") +\n theme(legend.position = \"bottom\", legend.key.width = unit(1.5, \"cm\"))\ng1 <- ggplot(dat1, aes(x1, x2)) +\n scale_shape_manual(values = c(\"0\", \"1\"), guide = \"none\") +\n geom_raster(data = tibble(gr, disc = pts_lda$x), aes(x1, x2, fill = disc)) +\n geom_point(aes(shape = as.factor(y)), size = 4) +\n coord_cartesian(c(-2.5, 3), c(-2.5, 3)) +\n scale_fill_viridis_b(n.breaks = 6, alpha = .5, name = bquote(delta[1] - delta[0])) +\n ggtitle(\"Polynomial lda\") +\n theme(legend.position = \"bottom\", legend.key.width = unit(1.5, \"cm\"))\nplot_grid(g0, g1)\n```\n\n::: {.cell-output-display}\n![](17-nonlinear-classifiers_files/figure-revealjs/plot-d1-1.svg){fig-align='center'}\n:::\n:::\n\n\nA linear decision boundary in the higher-dimensional space corresponds to a non-linear decision boundary in low dimensions.\n\n\n\n## Trees (reforestation)\n\n::: flex\n\n::: w-50\nWe saw regression trees last module\n\nClassification trees are \n\n- More natural\n- Slightly different computationally\n\nEverything else is pretty much the same\n:::\n\n::: w-50\n![](https://upload.wikimedia.org/wikipedia/commons/e/eb/Decision_Tree.jpg)\n:::\n:::\n\n\n\n## Axis-parallel splits\n\nLike with regression trees, classification trees operate by greedily splitting the predictor space\n\n\n::: {.cell layout-align=\"center\"}\n\n:::\n\n\n::: flex\n::: w-50\n\n::: {.cell layout-align=\"center\" R.options='{\"width\":50}'}\n\n```{.r .cell-code}\nnames(bakeoff)\n```\n\n::: {.cell-output .cell-output-stdout}\n```\n [1] \"winners\" \n [2] \"series\" \n [3] \"age\" \n [4] \"occupation\" \n [5] \"hometown\" \n [6] \"percent_star\" \n [7] \"percent_technical_wins\" \n [8] \"percent_technical_bottom3\"\n [9] \"percent_technical_top3\" \n[10] \"technical_highest\" \n[11] \"technical_lowest\" \n[12] \"technical_median\" \n[13] \"judge1\" \n[14] \"judge2\" \n[15] \"viewers_7day\" \n[16] \"viewers_28day\" \n```\n:::\n:::\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nsmalltree <- tree(\n winners ~ technical_median + percent_star,\n data = bakeoff\n)\n```\n:::\n\n\n:::\n\n\n::: w-50\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code code-fold=\"true\"}\npar(mar = c(5, 5, 0, 0) + .1)\nplot(bakeoff$technical_median, bakeoff$percent_star,\n pch = c(\"-\", \"+\")[bakeoff$winners + 1], cex = 2, bty = \"n\", las = 1,\n ylab = \"% star baker\", xlab = \"times above median in technical\",\n col = orange, cex.axis = 2, cex.lab = 2\n)\npartition.tree(smalltree,\n add = TRUE, col = blue,\n ordvars = c(\"technical_median\", \"percent_star\")\n)\n```\n\n::: {.cell-output-display}\n![](17-nonlinear-classifiers_files/figure-revealjs/plot-partition-1.svg){fig-align='center'}\n:::\n:::\n\n:::\n:::\n\n\n## When do trees do well?\n\n::: flex\n::: w-50\n![](gfx/8.7.png)\n:::\n\n::: w-50\n\n[2D example]{.hand}\n\n[Top Row:]{.primary} \n\ntrue decision boundary is linear\n\n🍎 linear classifier \n\n👎 tree with axis-parallel splits\n\n[Bottom Row:]{.primary}\n\ntrue decision boundary is non-linear\n\n🤮 A linear classifier can't capture the true decision boundary\n\n🍎 decision tree is successful.\n:::\n:::\n\n\n\n\n## How do we build a tree?\n\n\n1. Divide the predictor space into\n$J$ non-overlapping regions $R_1, \\ldots, R_J$ \n\n > this is done via greedy, recursive binary splitting\n\n2. Every observation that falls into a given region $R_j$ is given the same prediction\n\n > determined by majority (or plurality) vote in that region.\n\n\n\n[Important:]{.hand}\n\n* Trees can only make rectangular regions that are aligned with the coordinate axis.\n* The fit is _greedy_, which means that after a split is made, all further decisions are conditional on that split.\n\n\n\n\n\n\n## How do we measure quality of fit?\n\n\nLet $p_{mk}$ be the proportion of training observations in the $m^{th}$\nregion that are from the $k^{th}$ class.\n\n| | |\n|---|---|\n| __classification error rate:__ | $E = 1 - \\max_k (\\widehat{p}_{mk})$|\n| __Gini index:__ | $G = \\sum_k \\widehat{p}_{mk}(1-\\widehat{p}_{mk})$ |\n| __cross-entropy:__ | $D = -\\sum_k \\widehat{p}_{mk}\\log(\\widehat{p}_{mk})$|\n\n\nBoth Gini and cross-entropy measure the purity of the classifier (small if all $p_{mk}$ are near zero or 1). \n\nThese are preferred over the classification error rate. \n\nClassification error is hard to optimize.\n\nWe build a classifier by growing a tree that minimizes $G$ or $D$.\n\n\n\n## Pruning the tree\n\n\n* Cross-validation can be used to directly prune the tree, \n\n* But it is computationally expensive (combinatorial complexity).\n\n* Instead, we use _weakest link pruning_, (Gini version)\n\n$$\\sum_{m=1}^{|T|} \\sum_{k \\in R_m} \\widehat{p}_{mk}(1-\\widehat{p}_{mk}) + \\alpha |T|$$\n\n* $|T|$ is the number of terminal nodes. \n\n* Essentially, we are trading training fit (first term) with model complexity (second) term (compare to lasso).\n\n* Now, cross-validation can be used to pick $\\alpha$.\n\n\n\n\n## Advantages and disadvantages of trees (again)\n\n🎉 Trees are very easy to explain (much easier than even linear regression). \n\n🎉 Some people believe that decision trees mirror human decision. \n\n🎉 Trees can easily be displayed graphically no matter the dimension of the data.\n\n🎉 Trees can easily handle qualitative predictors without the need to create dummy variables.\n\n💩 Trees aren't very good at prediction.\n\n💩 Trees are highly variable. Small changes in training data $\\Longrightarrow$ big changes in the tree.\n\nTo fix these last two, we can try to grow many trees and average their performance. \n\n. . .\n\nWe do this next module\n\n\n## KNN classifiers\n\n* We saw $k$-nearest neighbors in the last module.\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nlibrary(class)\nknn3 <- knn(dat1[, -1], gr, dat1$y, k = 3)\n```\n:::\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code code-fold=\"true\"}\ngr$nn03 <- knn3\nggplot(dat1, aes(x1, x2)) +\n scale_shape_manual(values = c(\"0\", \"1\"), guide = \"none\") +\n geom_raster(data = tibble(gr, disc = knn3), aes(x1, x2, fill = disc), alpha = .5) +\n geom_point(aes(shape = as.factor(y)), size = 4) +\n coord_cartesian(c(-2.5, 3), c(-2.5, 3)) +\n scale_fill_manual(values = c(orange, blue), labels = c(\"0\", \"1\")) +\n theme(\n legend.position = \"bottom\", legend.title = element_blank(),\n legend.key.width = unit(2, \"cm\")\n )\n```\n\n::: {.cell-output-display}\n![](17-nonlinear-classifiers_files/figure-revealjs/unnamed-chunk-3-1.svg){fig-align='center'}\n:::\n:::\n\n\n\n## Choosing $k$ is very important\n\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code code-fold=\"true\"}\nset.seed(406406406)\nks <- c(1, 2, 5, 10, 20)\nnn <- map(ks, ~ as_tibble(knn(dat1[, -1], gr[, 1:2], dat1$y, .x)) |> \n set_names(sprintf(\"k = %02s\", .x))) |>\n list_cbind() |>\n bind_cols(gr)\npg <- pivot_longer(nn, starts_with(\"k =\"), names_to = \"k\", values_to = \"knn\")\n\nggplot(pg, aes(x1, x2)) +\n geom_raster(aes(fill = knn), alpha = .6) +\n facet_wrap(~ k) +\n scale_fill_manual(values = c(orange, green), labels = c(\"0\", \"1\")) +\n geom_point(data = dat1, mapping = aes(x1, x2, shape = as.factor(y)), size = 4) +\n theme_bw(base_size = 18) +\n scale_shape_manual(values = c(\"0\", \"1\"), guide = \"none\") +\n coord_cartesian(c(-2.5, 3), c(-2.5, 3)) +\n theme(\n legend.title = element_blank(),\n legend.key.height = unit(3, \"cm\")\n )\n```\n\n::: {.cell-output-display}\n![](17-nonlinear-classifiers_files/figure-revealjs/unnamed-chunk-4-1.svg){fig-align='center'}\n:::\n:::\n\n\n* How should we choose $k$?\n\n* Scaling is also very important. \"Nearness\" is determined by distance, so better to standardize your data first.\n\n* If there are ties, break randomly. So even $k$ is strange.\n\n\n## `knn.cv()` (leave one out)\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code}\nkmax <- 20\nerr <- map_dbl(1:kmax, ~ mean(knn.cv(dat1[, -1], dat1$y, k = .x) != dat1$y))\n```\n:::\n\n::: {.cell layout-align=\"center\"}\n::: {.cell-output-display}\n![](17-nonlinear-classifiers_files/figure-revealjs/unnamed-chunk-6-1.svg){fig-align='center'}\n:::\n:::\n\n\nI would use the _largest_ (odd) `k` that is close to the minimum. \nThis produces simpler, smoother, decision boundaries.\n\n\n\n## Final version\n\n\n::: flex\n::: w-50\n\n\n::: {.cell layout-align=\"center\"}\n\n```{.r .cell-code code-fold=\"true\"}\nkopt <- max(which(err == min(err)))\nkopt <- kopt + 1 * (kopt %% 2 == 0)\ngr$opt <- knn(dat1[, -1], gr[, 1:2], dat1$y, k = kopt)\ntt <- table(knn(dat1[, -1], dat1[, -1], dat1$y, k = kopt), dat1$y, dnn = c(\"predicted\", \"truth\"))\nggplot(dat1, aes(x1, x2)) +\n theme_bw(base_size = 24) +\n scale_shape_manual(values = c(\"0\", \"1\"), guide = \"none\") +\n geom_raster(data = gr, aes(x1, x2, fill = opt), alpha = .6) +\n geom_point(aes(shape = y), size = 4) +\n coord_cartesian(c(-2.5, 3), c(-2.5, 3)) +\n scale_fill_manual(values = c(orange, green), labels = c(\"0\", \"1\")) +\n theme(\n legend.position = \"bottom\", legend.title = element_blank(),\n legend.key.width = unit(2, \"cm\")\n )\n```\n\n::: {.cell-output-display}\n![](17-nonlinear-classifiers_files/figure-revealjs/unnamed-chunk-7-1.svg){fig-align='center'}\n:::\n:::\n\n\n:::\n\n::: w-50\n\n* Best $k$: 19\n\n* Misclassification error: 0.17\n\n* Confusion matrix:\n\n\n::: {.cell layout-align=\"center\"}\n::: {.cell-output .cell-output-stdout}\n```\n truth\npredicted 1 2\n 1 41 6\n 2 11 42\n```\n:::\n:::\n\n\n:::\n:::\n\n# Next time ... {background-image=\"https://i1.wp.com/bdtechtalks.com/wp-content/uploads/2018/12/artificial-intelligence-deep-learning-neural-networks-ai.jpg?w=1392&ssl=1\" background-opacity=.4}\n\n\n[Module 4]{.secondary}\n\n[boosting, bagging, random forests, and neural nets]{.secondary}\n", + "supporting": [ + "17-nonlinear-classifiers_files" + ], + "filters": [ + "rmarkdown/pagebreak.lua" + ], + "includes": { + "include-after-body": [ + "\n\n\n" + ] + }, + "engineDependencies": {}, + "preserve": {}, + "postProcess": true + } +} \ No newline at end of file diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.png b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f4ca901d907f88aab2f3f29013dbf91d263cde GIT binary patch literal 89757 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

g= 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 literal 0 HcmV?d00001 diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.svg b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.svg new file mode 100644 index 0000000..4363685 --- /dev/null +++ b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-d1-1.svg @@ -0,0 +1,1317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-partition-1.svg b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-partition-1.svg new file mode 100644 index 0000000..46e2dff --- /dev/null +++ b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/plot-partition-1.svg @@ -0,0 +1,512 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-3-1.png b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-3-1.png new file mode 100644 index 0000000000000000000000000000000000000000..bebd0f9b3ace6766fc6bf0c65fb395b15096ae1c GIT binary patch literal 41925 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-4-1.png b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-4-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1fc7955d3a6f221cf82bee1f66e7ee98175acb24 GIT binary patch literal 123592 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-6-1.svg b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-6-1.svg new file mode 100644 index 0000000..22a006e --- /dev/null +++ b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-6-1.svg @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.png b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.png new file mode 100644 index 0000000000000000000000000000000000000000..48e1f5f5440d916626fd36ba3f4cc106657f7f8e GIT binary patch literal 31983 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 P0RAY*s7O~y8VCM29FvAO literal 0 HcmV?d00001 diff --git a/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.svg b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.svg new file mode 100644 index 0000000..e5f32d9 --- /dev/null +++ b/_freeze/schedule/slides/17-nonlinear-classifiers/figure-revealjs/unnamed-chunk-7-1.svg @@ -0,0 +1,589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/schedule/slides/16-logistic-regression.html b/schedule/slides/16-logistic-regression.html deleted file mode 100644 index 70c5c2e..0000000 --- a/schedule/slides/16-logistic-regression.html +++ /dev/null @@ -1,434 +0,0 @@ - - - - 16 Logistic regression - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/schedule/slides/16-logistic-regression.Rmd b/schedule/slides/16-logistic-regression.qmd similarity index 60% rename from schedule/slides/16-logistic-regression.Rmd rename to schedule/slides/16-logistic-regression.qmd index 201fbe9..1aec0a9 100644 --- a/schedule/slides/16-logistic-regression.Rmd +++ b/schedule/slides/16-logistic-regression.qmd @@ -1,34 +1,17 @@ --- -title: "16 Logistic regression" -author: - - "STAT 406" - - "Daniel J. McDonald" -date: 'Last modified - `r Sys.Date()`' +lecture: "16 Logistic regression" +format: revealjs +metadata-files: + - _metadata.yml --- -```{r setup, include=FALSE, warning=FALSE, message=FALSE} -source("rmd_config.R") -``` - -```{r css-extras, file="css-extras.R", echo=FALSE} -``` +{{< include _titleslide.qmd >}} ## Last time -$$\newcommand{\Expect}[1]{E\left[ #1 \right]} -\newcommand{\Var}[1]{\mathrm{Var}\left[ #1 \right]} -\newcommand{\Cov}[2]{\mathrm{Cov}\left[#1,\ #2\right]} -\newcommand{\given}{\ \vert\ } -\newcommand{\argmin}{\arg\min} -\newcommand{\argmax}{\arg\max} -\newcommand{\R}{\mathbb{R}} -\newcommand{\P}{Pr} -\renewcommand{\hat}{\widehat} -\newcommand{\tr}[1]{\mbox{tr}(#1)} -\newcommand{\X}{\mathbf{X}}$$ -* We showed that with two classes, the __Bayes' classifier__ is +* We showed that with two classes, the [Bayes' classifier]{.secondary} is $$g_*(X) = \begin{cases} 1 & \textrm{ if } \frac{p_1(X)}{p_0(X)} > \frac{1-\pi}{\pi} \\ @@ -41,17 +24,19 @@ where $p_1(X) = Pr(X \given Y=1)$ and $p_0(X) = Pr(X \given Y=0)$ We then used this distribution and the class prior $\pi$ to find the __posterior__ $Pr(Y=1 \given X=x)$. --- +## Direct model Instead, let's directly model the posterior -$$\begin{aligned} +$$ +\begin{aligned} Pr(Y = 1 \given X=x) & = \frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}} \\ -\P(Y = 0 | X=x) & = \frac{1}{1 + \exp\{\beta_0 + \beta^{\top}x\}}=1-\frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}}\end{aligned}$$ +\P(Y = 0 | X=x) & = \frac{1}{1 + \exp\{\beta_0 + \beta^{\top}x\}}=1-\frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}} +\end{aligned} +$$ This is logistic regression. ---- ## Why this? @@ -59,16 +44,15 @@ $$Pr(Y = 1 \given X=x) = \frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_ * There are lots of ways to map $\R \mapsto [0,1]$. -* The "logistic" function $z\mapsto \exp(z) / (1+\exp(z)) =:h(z)$ is nice. +* The "logistic" function $z\mapsto (1 + \exp(-z))^{-1} = \exp(z) / (1+\exp(z)) =:h(z)$ is nice. * It's symmetric: $1 - h(z) = h(-z)$ * Has a nice derivative: $h'(z) = \frac{\exp(z)}{(1 + \exp(z))^2} = h(z)(1-h(z))$. -* It's the inverse of the "log-odds": $\log(p / (1-p))$. +* It's the inverse of the "log-odds" (logit): $\log(p / (1-p))$. ---- ## Another linear classifier @@ -82,12 +66,10 @@ $\{x : \beta_0 + \beta^{\top} x = 0\}$ If the log-odds are below 0, classify as 0, above 0 classify as a 1. --- - -Logistic regression is also easy in R +## Logistic regression is also easy in R ```{r eval=FALSE} -logistic <- glm(y ~ ., dat, family="binomial") +logistic <- glm(y ~ ., dat, family = "binomial") ``` Or we can use lasso or ridge regression or a GAM as before @@ -95,56 +77,58 @@ Or we can use lasso or ridge regression or a GAM as before ```{r eval=FALSE} lasso_logit <- cv.glmnet(x, y, family = "binomial") ridge_logit <- cv.glmnet(x, y, alpha = 0, family = "binomial") -gam_logit <- gam(y~s(x), data = dat, family = "binomial") +gam_logit <- gam(y ~ s(x), data = dat, family = "binomial") ``` -_Aside: glm means generalized linear model_ +::: aside +glm means generalized linear model +::: ---- ## Baby example (continued from last time) ```{r simple-lda, echo=FALSE} library(mvtnorm) library(MASS) -generate_lda <- function( - n, p=c(.5,.5), - mumat=matrix(c(0,0,1,1),2), - Sigma=diag(2)){ - X = rmvnorm(n, sigma=Sigma) +generate_lda_2d <- function( + n, p = c(.5, .5), + mu = matrix(c(0, 0, 1, 1), 2), + Sigma = diag(2)) { + X <- rmvnorm(n, sigma = Sigma) tibble( - y=apply(rmultinom(n,1,p) > 0, 2, which)-1, - x1 = X[,1] + mumat[1,y+1], - x2 = X[,2] + mumat[2,y+1]) + y = which(rmultinom(n, 1, p) == 1, TRUE)[, 1], + x1 = X[, 1] + mu[1, y], + x2 = X[, 2] + mu[2, y] + ) } ``` ```{r} -dat1 <- generate_lda(100, Sigma = .5*diag(2)) -logit <- glm(y~., dat1, family="binomial") +dat1 <- generate_lda_2d(100, Sigma = .5 * diag(2)) +logit <- glm(y ~ ., dat1 |> mutate(y = y - 1), family = "binomial") summary(logit) ``` ---- ## Visualizing the classification boundary -```{r plot-d1, fig.align='center', fig.width=7, fig.height=7, dev='png',dvi=300,echo=FALSE} -gr = expand_grid(x1=seq(-2.5,3,length.out = 100),x2=seq(-2.5,3,length.out=100)) -pts = predict(logit, gr) -g0=ggplot(dat1, aes(x1,x2)) + - scale_shape_manual(values=c("0","1"), guide="none") + - geom_raster(data=tibble(gr,disc=pts), aes(x1,x2,fill=disc)) + - geom_point(aes(shape=as.factor(y)), size=4) + - coord_cartesian(c(-2.5,3),c(-2.5,3)) + - scale_fill_steps2(n.breaks=6, name="log odds") + - theme_bw(base_size = 24) + - theme(legend.position = "bottom", legend.key.width=unit(3,"cm")) +```{r plot-d1} +#| code-fold: true +#| fig-width: 8 +#| fig-height: 5 +gr <- expand_grid(x1 = seq(-2.5, 3, length.out = 100), + x2 = seq(-2.5, 3, length.out = 100)) +pts <- predict(logit, gr) +g0 <- ggplot(dat1, aes(x1, x2)) + + scale_shape_manual(values = c("0", "1"), guide = "none") + + geom_raster(data = tibble(gr, disc = pts), aes(x1, x2, fill = disc)) + + geom_point(aes(shape = as.factor(y)), size = 4) + + coord_cartesian(c(-2.5, 3), c(-2.5, 3)) + + scale_fill_steps2(n.breaks = 6, name = "log odds") g0 ``` ---- ## Calculation @@ -158,39 +142,49 @@ Write $p_i(\beta) = \P(Y_i = 1 | X = x_i,\beta)$ * $P(Y_i = y_i \given X = x_i, \beta) = p_i^{y_i}(1-p_i)^{1-y_i}$ (...Bernoulli distribution) * $P(\mathbf{Y} \given \mathbf{X}, \beta) = \prod_{i=1}^n p_i^{y_i}(1-p_i)^{1-y_i}$. -$$\begin{aligned} + + +## Calculation + + +Write $p_i(\beta) = \P(Y_i = 1 | X = x_i,\beta)$ + + +$$ +\begin{aligned} \ell(\beta) & = \log \left( \prod_{i=1}^n p_i^{y_i}(1-p_i)^{1-y_i} \right)\\ &=\sum_{i=1}^n \left( y_i\log(p_i(\beta)) + (1-y_i)\log(1-p_i(\beta))\right) \\ & = \sum_{i=1}^n \left( y_i\log(e^{\beta^{\top}x_i}/(1+e^{\beta^{\top}x_i})) - (1-y_i)\log(1+e^{\beta^{\top}x_i})\right) \\ & = -\sum_{i=1}^n \left( y_i\beta^{\top}x_i -\log(1 + e^{\beta^{\top} x_i})\right)\end{aligned}$$ +\sum_{i=1}^n \left( y_i\beta^{\top}x_i -\log(1 + e^{\beta^{\top} x_i})\right) +\end{aligned} +$$ This gets optimized via Newton-Raphson updates and iteratively reweighed least squares. ---- ## IRWLS for logistic regression (skip for now) (This is preparation for Neural Networks.) ```{r} -logit_irwls <- function(y, x, maxit = 100, tol=1e-6){ +logit_irwls <- function(y, x, maxit = 100, tol = 1e-6) { p <- ncol(x) - beta <- double(p) # initialize coefficients + beta <- double(p) # initialize coefficients beta0 <- 0 conv <- FALSE # hasn't converged iter <- 1 # first iteration while (!conv && (iter < maxit)) { # check loops - iter <- iter + 1 # update first thing (so as not to forget) - eta <- beta0 + x %*% beta - mu <- exp(eta) / (1 + exp(eta)) + iter <- iter + 1 # update first thing (so as not to forget) + eta <- beta0 + x %*% beta + mu <- 1 / (1 + exp(-eta)) gp <- 1 / (mu * (1 - mu)) # inverse of derivative of logistic z <- eta + (y - mu) * gp # effective transformed response - betaNew <- coef(lm(z ~ x, weights = 1/gp)) # do weighted Least Squares - conv <- mean((c(beta0, beta) - betaNew)^2) < tol # check if the betas are "moving" + beta_new <- coef(lm(z ~ x, weights = 1 / gp)) # do Weighted Least Squares + conv <- mean(abs(c(beta0, beta) - betaNew)) < tol # check if the betas are "moving" beta0 <- betaNew[1] # update betas beta <- betaNew[-1] } @@ -198,7 +192,6 @@ logit_irwls <- function(y, x, maxit = 100, tol=1e-6){ } ``` ---- ## Comparing LDA and Logistic regression @@ -209,12 +202,14 @@ Both decision boundaries are linear in $x$: But the parameters are estimated differently. -Examine the joint distribution of $(X,\ Y)$ .tiny[(not the posterior)]: +## Comparing LDA and Logistic regression + +Examine the joint distribution of $(X,\ Y)$ [(not the posterior)]{.f3}: - LDA: $f(X_i,\ Y_i) = \underbrace{ f(X_i \given Y_i)}_{\textrm{Gaussian}}\underbrace{ f(Y_i)}_{\textrm{Bernoulli}}$ - Logistic Regression: $f(X_i,Y_i) = \underbrace{ f(Y_i\given X_i)}_{\textrm{Logistic}}\underbrace{ f(X_i)}_{\textrm{Ignored}}$ -* LDA estimates the joint, but Logistic estimates only the conditional (posterior) distribution. .hand[But this is really all we need.] +* LDA estimates the joint, but Logistic estimates only the conditional (posterior) distribution. [But this is really all we need.]{.hand} * So logistic requires fewer assumptions. @@ -222,9 +217,8 @@ Examine the joint distribution of $(X,\ Y)$ .tiny[(not the posterior)]: * LDA "works" even if the conditional isn't normal, but works very poorly if any X is qualitative ---- -## Comparing with QDA +## Comparing with QDA (2 classes) * Recall: this gives a "quadratic" decision boundary (it's a curve). @@ -241,19 +235,30 @@ Examine the joint distribution of $(X,\ Y)$ .tiny[(not the posterior)]: * QDA doesn't get used much: there are better nonlinear versions with way fewer parameters -* LDA only really depends on $\Sigma^{-1}(\mu_1-\mu_0)$ and $(\mu_1+\mu_0)$, so appropriate algorithms use $<2p$ parameters. +## Bad parameter counting + +I've motivated LDA as needing $\Sigma$, $\pi$ and $\mu_0$, $\mu_1$ + +In fact, we don't _need_ all of this to get the decision boundary. + +So the "degrees of freedom" is much lower if we only want the _classes_ and not +the _probabilities_. --- +The decision boundary only really depends on -__Note again:__ while logistic regression and LDA produce linear decision boundaries, they are **not** linear smoothers +* $\Sigma^{-1}(\mu_1-\mu_0)$ +* $(\mu_1+\mu_0)$, +* so appropriate algorithms estimate $<2p$ parameters. + +## Note again: + +while logistic regression and LDA produce linear decision boundaries, they are **not** linear smoothers AIC/BIC/Cp work if you use the likelihood correctly and count degrees-of-freedom correctly Must people use either test set or CV ---- -class: middle, center, inverse # Next time: -Nonlinear classifiers \ No newline at end of file +Nonlinear classifiers diff --git a/schedule/slides/17-nonlinear-classifiers.Rmd b/schedule/slides/17-nonlinear-classifiers.Rmd deleted file mode 100644 index 0220ed9..0000000 --- a/schedule/slides/17-nonlinear-classifiers.Rmd +++ /dev/null @@ -1,399 +0,0 @@ ---- -title: "17 Nonlinear classifiers" -author: - - "STAT 406" - - "Daniel J. McDonald" -date: 'Last modified - `r Sys.Date()`' ---- - -```{r setup, include=FALSE, warning=FALSE, message=FALSE} -source("rmd_config.R") -``` - -```{r css-extras, file="css-extras.R", echo=FALSE} -``` - -## Last time - -$$\newcommand{\Expect}[1]{E\left[ #1 \right]} -\newcommand{\Var}[1]{\mathrm{Var}\left[ #1 \right]} -\newcommand{\Cov}[2]{\mathrm{Cov}\left[#1,\ #2\right]} -\newcommand{\given}{\ \vert\ } -\newcommand{\argmin}{\arg\min} -\newcommand{\argmax}{\arg\max} -\newcommand{\R}{\mathbb{R}} -\newcommand{\P}{Pr} -\renewcommand{\hat}{\widehat} -\newcommand{\tr}[1]{\mbox{tr}(#1)} -\newcommand{\X}{\mathbf{X}}$$ - -We reviewed logistic regression - -$$\begin{aligned} -\P(Y = 1 \given X=x) & = \frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}} \\ -\P(Y = 0 \given X=x) & = \frac{1}{1 + \exp\{\beta_0 + \beta^{\top}x\}}=1-\frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}}\end{aligned}$$ - --- - -We can make LDA or logistic regression have non-linear decision boundaries by mapping the features to a higher dimension (just like with regular regression) - -Say: - -__Polynomials__ - -$(x_1, x_2) \mapsto \left(1,\ x_1,\ x_1^2,\ x_2,\ x_2^2,\ x_1 x_2\right)$ - -```{r simple-lda, echo=FALSE} -library(mvtnorm) -library(MASS) -generate_lda <- function( - n, p=c(.5,.5), - mumat=matrix(c(0,0,1,1),2), - Sigma=diag(2)){ - X = rmvnorm(n, sigma=Sigma) - tibble( - y=apply(rmultinom(n,1,p) > 0, 2, which)-1, - x1 = X[,1] + mumat[1,y+1], - x2 = X[,2] + mumat[2,y+1]) -} -``` - -```{r} -dat1 <- generate_lda(100, Sigma = .5*diag(2)) -logit_poly <- glm(y ~ x1 * x2 + I(x1^2) + I(x2^2), dat1, family = "binomial") -lda_poly <- lda(y ~ x1 * x2 + I(x1^2) + I(x2^2), dat1) -``` - ---- - -## Visualizing the classification boundary - -```{r plot-d1, fig.align='center', fig.width=11, fig.height=7, dev='png',dvi=300,echo=FALSE} -library(cowplot) -gr = expand_grid(x1=seq(-2.5,3,length.out = 100),x2=seq(-2.5,3,length.out=100)) -pts_logit = predict(logit_poly, gr) -pts_lda = predict(lda_poly, gr) -g0=ggplot(dat1, aes(x1,x2)) + - scale_shape_manual(values=c("0","1"), guide="none") + - geom_raster(data=tibble(gr,disc=pts_logit), aes(x1,x2,fill=disc)) + - geom_point(aes(shape=as.factor(y)), size=4) + - coord_cartesian(c(-2.5,3),c(-2.5,3)) + - scale_fill_viridis_b(n.breaks=6,alpha=.5,name="log odds") + - ggtitle("Polynomial logit") + - theme_bw(base_size = 24) + - theme(legend.position = "bottom", legend.key.width=unit(2,"cm")) -g1=ggplot(dat1, aes(x1,x2)) + - scale_shape_manual(values=c("0","1"), guide="none") + - geom_raster(data=tibble(gr,disc=pts_lda$x), aes(x1,x2,fill=disc)) + - geom_point(aes(shape=as.factor(y)), size=4) + - coord_cartesian(c(-2.5,3),c(-2.5,3)) + - scale_fill_viridis_b(n.breaks=6,alpha=.5,name=bquote(delta[1]-delta[0])) + - ggtitle("Polynomial lda") + - theme_bw(base_size = 24) + - theme(legend.position = "bottom", legend.key.width=unit(2,"cm")) -plot_grid(g0,g1) -``` - -A linear decision boundary in the higher-dimensional space corresponds to a non-linear decision boundary in low dimensions. - ---- - -## Trees (reforestation) - -.pull-left[ -We saw regression trees last module - -Classification trees are -- More natural -- Slightly different computationally - -Everything else is pretty much the same -] - -.pull-right[ -![](https://upload.wikimedia.org/wikipedia/commons/e/eb/Decision_Tree.jpg) -] - ---- - -## Axis-parallel splits - -Like with regression trees, classification trees operate by greedily splitting the predictor space - -```{r bake-it, echo=FALSE} -gbbakeoff <- readRDS("data/gbbakeoff.RDS") -gbbakeoff <- gbbakeoff[complete.cases(gbbakeoff),] -library(tree) -library(maptree) -``` - -.pull-left[ -```{r glimpse-bakers, R.options = list(width = 50)} -gbbakeoff[FALSE,] -``` - -```{r our-partition} -smalltree <- tree( - winners ~ technical_median + percent_star, - data = gbbakeoff) -``` - -] - -.pull-right[ - -```{r plot-partition, echo=FALSE, fig.align="center", fig.height=5, fig.width=5} -plot(gbbakeoff$technical_median, gbbakeoff$percent_star, - pch=c("-","+")[gbbakeoff$winners+1], cex=1, bty='n',las=1, - ylab="% star baker",xlab="times above median in technical", - col=orange) -partition.tree(smalltree, add=TRUE, col=blue, - ordvars = c("technical_median","percent_star")) -``` -] - ---- - -## When do trees do well? - -.pull-left[ -![:scale 100%](gfx/8.7.png) -] - - -.pull-right[ - -.hand[2D example] - -__Top Row:__ - -true decision boundary is linear - -`r pro` linear classifier - -`r con` tree with axis-parallel splits - -__Bottom Row:__ - -true decision boundary is non-linear - -`r con` A linear classifier can't capture the true decision boundary - -`r pro` decision tree is successful. -] - ---- - - - -## How do we build a tree? - - -1. Divide the predictor space into -$J$ non-overlapping regions $R_1, \ldots, R_J$ - - > this is done via greedy, recursive binary splitting - -2. Every observation that falls into a given region $R_j$ is given the same prediction - - > determined by majority (or plurality) vote in that region. - - - -.hand[Important:] - -* Trees can only make rectangular regions that are aligned with the coordinate axis. -* The fit is __greedy__, which means that after a split is made, all further decisions are conditional on that split. - ---- - - - - -## How do we measure quality of fit? - - -Let $p_{mk}$ be the proportion of training observations in the $m^{th}$ -region that are from the $k^{th}$ class. - -| | | -|---|---| -| __classification error rate:__ | $E = 1 - \max_k (\widehat{p}_{mk})$| -| __Gini index:__ | $G = \sum_k \widehat{p}_{mk}(1-\widehat{p}_{mk})$ | -| __cross-entropy:__ | $D = -\sum_k \widehat{p}_{mk}\log(\widehat{p}_{mk})$| - - -Both Gini and cross-entropy measure the purity of the classifier (small if all $p_{mk}$ are near zero or 1). - -These are preferred over the classification error rate. - -Classification error is hard to optimize. - -We build a classifier by growing a tree that minimizes $G$ or $D$. - ---- - -## Pruning the tree - - -* Cross-validation can be used to directly prune the tree, - -* But it is computationally expensive (combinatorial complexity). - -* Instead, we use __weakest link pruning__, (Gini version) - -$$\sum_{m=1}^{|T|} \sum_{k \in R_m} \widehat{p}_{mk}(1-\widehat{p}_{mk}) + \alpha |T|$$ - -* $|T|$ is the number of terminal nodes. - -* Essentially, we are trading training fit (first term) with model complexity (second) term (compare to lasso). - -* Now, cross-validation can be used to pick $\alpha$. - - ---- - - -## Advantages and disadvantages of trees (again) - -`r pro` Trees are very easy to explain (much easier than even linear regression). - -`r pro` Some people believe that decision trees mirror human decision. - -`r pro` Trees can easily be displayed graphically no matter the dimension of the data. - -`r pro` Trees can easily handle qualitative predictors without the need to create dummy variables. - -`r con` Trees aren't very good at prediction. - -`r con` Trees are highly variable. Small changes in training data $\Longrightarrow$ big changes in the tree. - -To fix these last two, we can try to grow many trees and average their performance. - --- - -We do this next module - ---- - -## KNN classifiers - -* We saw $k$-nearest neighbors in the last module. - -```{r} -library(class) -knn3 <- knn(dat1[,-1], gr, dat1$y, k = 3) -``` - -```{r, fig.align="center", fig.width=10, fig.height=6, dev='png',dvi=300,echo=FALSE} -gr$nn03 = knn3 -ggplot(dat1, aes(x1,x2)) + - scale_shape_manual(values=c("0","1"), guide="none") + - geom_raster(data=tibble(gr,disc=knn3), aes(x1,x2,fill=disc)) + - geom_point(aes(shape=as.factor(y)), size=4) + - coord_cartesian(c(-2.5,3),c(-2.5,3)) + - scale_fill_manual(values=c(orange,green)) + - theme_bw(base_size = 24) + - theme(legend.position = "bottom", legend.title=element_blank(), - legend.key.width=unit(2,"cm")) -``` - ---- - -## Choosing $k$ is very important - - -```{r, fig.align="center",fig.width=10, fig.height=6, dev='png',dvi=300,echo=FALSE} -gr$nn01 = knn(dat1[,-1], gr[,1:2], dat1$y, k=1) -gr$nn02 = knn(dat1[,-1], gr[,1:2], dat1$y, k=2) -gr$nn05 = knn(dat1[,-1], gr[,1:2], dat1$y, k=5) -gr$nn10 = knn(dat1[,-1], gr[,1:2], dat1$y, k=10) -gr$nn20 = knn(dat1[,-1], gr[,1:2], dat1$y, k=20) -pg = pivot_longer(gr, names_to='k',values_to = 'knn',-c(x1,x2)) - -ggplot(pg, aes(x1,x2)) + geom_raster(aes(fill=knn)) + - facet_wrap(~k,labeller = label_both) + - theme_bw(base_size = 24) + - scale_fill_manual(values=c(orange,green)) + - geom_point(data=dat1,mapping=aes(x1,x2,shape=as.factor(y)), size=4) + - scale_shape_manual(values=c("0","1"), guide="none") + - coord_cartesian(c(-2.5,3),c(-2.5,3)) + - theme(legend.position = "bottom", legend.title=element_blank(), - legend.key.width=unit(2,"cm")) -``` - -* How should we choose $k$? - -* Scaling is also very important. "Nearness" is determined by distance, so better to standardize your data first. - -* If there are ties, break randomly. So even $k$ is strange. - ---- - -## `knn.cv()` - -```{r} -kmax <- 20 -err <- double(kmax) -for (ii in 1:kmax) { - pk <- knn.cv(dat1[,-1], dat1$y, k = ii) # does leave one out CV - err[ii] <- mean(pk != dat1$y) -} -``` - -```{r, fig.width=10, fig.height=4, fig.align="center", echo=FALSE} -ggplot(data.frame(k=1:kmax, error=err), aes(k,error)) + - geom_point(color=red) + - geom_line(color=red) -``` - -* I would use the __largest__ `k` that is close to the minimum. This produces simpler, smoother, decision boundaries. - ---- - -## Final version - - -.pull-left[ -```{r fig.align="center",fig.width=5, fig.height=5, dev='png',dvi=300,echo=FALSE} -kkk = which.min(err) -gr$opt = knn(dat1[,-1], gr[,1:2], dat1$y, k=kkk) -ggplot(dat1, aes(x1,x2)) + - theme_bw(base_size = 24) + - scale_shape_manual(values=c("0","1"), guide="none") + - geom_raster(data=gr, aes(x1,x2,fill=opt)) + - geom_point(aes(shape=as.factor(y)), size=4) + - coord_cartesian(c(-2.5,3),c(-2.5,3)) + - scale_fill_manual(values=c(orange,green)) + - theme(legend.position = "bottom", legend.title=element_blank(), - legend.key.width=unit(2,"cm")) -tt <- table(knn(dat1[,-1],dat1[,-1],dat1$y,k=kkk),dat1$y, dnn=c('predicted','truth')) -``` -] - -.pull-right[ - -* Best $k$: `r kkk` - -* Misclassification error: `r 1-sum(diag(tt))/sum(tt)` - -* Confusion matrix: - -```{r echo=FALSE} -knitr::kable(tt) -``` -] - ---- -class: middle, center -background-image: url("https://i1.wp.com/bdtechtalks.com/wp-content/uploads/2018/12/artificial-intelligence-deep-learning-neural-networks-ai.jpg?w=1392&ssl=1") -background-size: cover - - -.secondary[.larger[Next time...]] - -.secondary[.larger[Module]] .huge-orange-number[4] - -.secondary[.large[boosting, bagging, random forests, and neural nets]] - - diff --git a/schedule/slides/17-nonlinear-classifiers.html b/schedule/slides/17-nonlinear-classifiers.html deleted file mode 100644 index 55febd6..0000000 --- a/schedule/slides/17-nonlinear-classifiers.html +++ /dev/null @@ -1,493 +0,0 @@ - - - - 17 Nonlinear classifiers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/schedule/slides/17-nonlinear-classifiers.qmd b/schedule/slides/17-nonlinear-classifiers.qmd new file mode 100644 index 0000000..751f4d1 --- /dev/null +++ b/schedule/slides/17-nonlinear-classifiers.qmd @@ -0,0 +1,407 @@ +--- +lecture: "17 Nonlinear classifiers" +format: revealjs +metadata-files: + - _metadata.yml +--- + +{{< include _titleslide.qmd >}} + +## Last time + + +We reviewed logistic regression + +$$\begin{aligned} +\P(Y = 1 \given X=x) & = \frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}} \\ +\P(Y = 0 \given X=x) & = \frac{1}{1 + \exp\{\beta_0 + \beta^{\top}x\}}=1-\frac{\exp\{\beta_0 + \beta^{\top}x\}}{1 + \exp\{\beta_0 + \beta^{\top}x\}}\end{aligned}$$ + +## Make it nonlinear + +We can make LDA or logistic regression have non-linear decision boundaries by mapping the features to a higher dimension (just like with regular regression) + +Say: + +__Polynomials__ + +$(x_1, x_2) \mapsto \left(1,\ x_1,\ x_1^2,\ x_2,\ x_2^2,\ x_1 x_2\right)$ + +```{r simple-lda, echo=FALSE} +library(mvtnorm) +library(MASS) +generate_lda_2d <- function( + n, p = c(.5, .5), + mu = matrix(c(0, 0, 1, 1), 2), + Sigma = diag(2)) { + X <- rmvnorm(n, sigma = Sigma) + tibble( + y = which(rmultinom(n, 1, p) == 1, TRUE)[, 1], + x1 = X[, 1] + mu[1, y], + x2 = X[, 2] + mu[2, y] + ) +} +``` + +```{r} +dat1 <- generate_lda_2d(100, Sigma = .5 * diag(2)) |> mutate(y = as.factor(y)) +logit_poly <- glm(y ~ x1 * x2 + I(x1^2) + I(x2^2), dat1, family = "binomial") +lda_poly <- lda(y ~ x1 * x2 + I(x1^2) + I(x2^2), dat1) +``` + + + +## Visualizing the classification boundary + +```{r plot-d1} +#| code-fold: true +#| fig-width: 10 +#| fig-height: 5 +library(cowplot) +gr <- expand_grid(x1 = seq(-2.5, 3, length.out = 100), x2 = seq(-2.5, 3, length.out = 100)) +pts_logit <- predict(logit_poly, gr) +pts_lda <- predict(lda_poly, gr) +g0 <- ggplot(dat1, aes(x1, x2)) + + scale_shape_manual(values = c("0", "1"), guide = "none") + + geom_raster(data = tibble(gr, disc = pts_logit), aes(x1, x2, fill = disc)) + + geom_point(aes(shape = as.factor(y)), size = 4) + + coord_cartesian(c(-2.5, 3), c(-2.5, 3)) + + scale_fill_viridis_b(n.breaks = 6, alpha = .5, name = "log odds") + + ggtitle("Polynomial logit") + + theme(legend.position = "bottom", legend.key.width = unit(1.5, "cm")) +g1 <- ggplot(dat1, aes(x1, x2)) + + scale_shape_manual(values = c("0", "1"), guide = "none") + + geom_raster(data = tibble(gr, disc = pts_lda$x), aes(x1, x2, fill = disc)) + + geom_point(aes(shape = as.factor(y)), size = 4) + + coord_cartesian(c(-2.5, 3), c(-2.5, 3)) + + scale_fill_viridis_b(n.breaks = 6, alpha = .5, name = bquote(delta[1] - delta[0])) + + ggtitle("Polynomial lda") + + theme(legend.position = "bottom", legend.key.width = unit(1.5, "cm")) +plot_grid(g0, g1) +``` + +A linear decision boundary in the higher-dimensional space corresponds to a non-linear decision boundary in low dimensions. + + + +## Trees (reforestation) + +::: flex + +::: w-50 +We saw regression trees last module + +Classification trees are + +- More natural +- Slightly different computationally + +Everything else is pretty much the same +::: + +::: w-50 +![](https://upload.wikimedia.org/wikipedia/commons/e/eb/Decision_Tree.jpg) +::: +::: + + + +## Axis-parallel splits + +Like with regression trees, classification trees operate by greedily splitting the predictor space + +```{r bake-it, echo=FALSE} +data("bakeoff_train", package = "Stat406") +bakeoff <- bakeoff_train[complete.cases(bakeoff_train), ] +library(tree) +library(maptree) +``` + +::: flex +::: w-50 +```{r glimpse-bakers, R.options = list(width = 50)} +names(bakeoff) +``` + +```{r our-partition} +smalltree <- tree( + winners ~ technical_median + percent_star, + data = bakeoff +) +``` + +::: + + +::: w-50 + +```{r plot-partition} +#| code-fold: true +#| fig-width: 6 +#| fig-height: 6 +par(mar = c(5, 5, 0, 0) + .1) +plot(bakeoff$technical_median, bakeoff$percent_star, + pch = c("-", "+")[bakeoff$winners + 1], cex = 2, bty = "n", las = 1, + ylab = "% star baker", xlab = "times above median in technical", + col = orange, cex.axis = 2, cex.lab = 2 +) +partition.tree(smalltree, + add = TRUE, col = blue, + ordvars = c("technical_median", "percent_star") +) +``` +::: +::: + + +## When do trees do well? + +::: flex +::: w-50 +![](gfx/8.7.png) +::: + +::: w-50 + +[2D example]{.hand} + +[Top Row:]{.primary} + +true decision boundary is linear + +🍎 linear classifier + +👎 tree with axis-parallel splits + +[Bottom Row:]{.primary} + +true decision boundary is non-linear + +🤮 A linear classifier can't capture the true decision boundary + +🍎 decision tree is successful. +::: +::: + + + + +## How do we build a tree? + + +1. Divide the predictor space into +$J$ non-overlapping regions $R_1, \ldots, R_J$ + + > this is done via greedy, recursive binary splitting + +2. Every observation that falls into a given region $R_j$ is given the same prediction + + > determined by majority (or plurality) vote in that region. + + + +[Important:]{.hand} + +* Trees can only make rectangular regions that are aligned with the coordinate axis. +* The fit is _greedy_, which means that after a split is made, all further decisions are conditional on that split. + + + + + + +## How do we measure quality of fit? + + +Let $p_{mk}$ be the proportion of training observations in the $m^{th}$ +region that are from the $k^{th}$ class. + +| | | +|---|---| +| __classification error rate:__ | $E = 1 - \max_k (\widehat{p}_{mk})$| +| __Gini index:__ | $G = \sum_k \widehat{p}_{mk}(1-\widehat{p}_{mk})$ | +| __cross-entropy:__ | $D = -\sum_k \widehat{p}_{mk}\log(\widehat{p}_{mk})$| + + +Both Gini and cross-entropy measure the purity of the classifier (small if all $p_{mk}$ are near zero or 1). + +These are preferred over the classification error rate. + +Classification error is hard to optimize. + +We build a classifier by growing a tree that minimizes $G$ or $D$. + + + +## Pruning the tree + + +* Cross-validation can be used to directly prune the tree, + +* But it is computationally expensive (combinatorial complexity). + +* Instead, we use _weakest link pruning_, (Gini version) + +$$\sum_{m=1}^{|T|} \sum_{k \in R_m} \widehat{p}_{mk}(1-\widehat{p}_{mk}) + \alpha |T|$$ + +* $|T|$ is the number of terminal nodes. + +* Essentially, we are trading training fit (first term) with model complexity (second) term (compare to lasso). + +* Now, cross-validation can be used to pick $\alpha$. + + + + +## Advantages and disadvantages of trees (again) + +🎉 Trees are very easy to explain (much easier than even linear regression). + +🎉 Some people believe that decision trees mirror human decision. + +🎉 Trees can easily be displayed graphically no matter the dimension of the data. + +🎉 Trees can easily handle qualitative predictors without the need to create dummy variables. + +💩 Trees aren't very good at prediction. + +💩 Trees are highly variable. Small changes in training data $\Longrightarrow$ big changes in the tree. + +To fix these last two, we can try to grow many trees and average their performance. + +. . . + +We do this next module + + +## KNN classifiers + +* We saw $k$-nearest neighbors in the last module. + +```{r} +library(class) +knn3 <- knn(dat1[, -1], gr, dat1$y, k = 3) +``` + +```{r} +#| code-fold: true +#| fig-width: 8 +#| fig-height: 4 +gr$nn03 <- knn3 +ggplot(dat1, aes(x1, x2)) + + scale_shape_manual(values = c("0", "1"), guide = "none") + + geom_raster(data = tibble(gr, disc = knn3), aes(x1, x2, fill = disc), alpha = .5) + + geom_point(aes(shape = as.factor(y)), size = 4) + + coord_cartesian(c(-2.5, 3), c(-2.5, 3)) + + scale_fill_manual(values = c(orange, blue), labels = c("0", "1")) + + theme( + legend.position = "bottom", legend.title = element_blank(), + legend.key.width = unit(2, "cm") + ) +``` + + +## Choosing $k$ is very important + + +```{r} +#| code-fold: true +#| fig-width: 16 +#| fig-height: 5 +set.seed(406406406) +ks <- c(1, 2, 5, 10, 20) +nn <- map(ks, ~ as_tibble(knn(dat1[, -1], gr[, 1:2], dat1$y, .x)) |> + set_names(sprintf("k = %02s", .x))) |> + list_cbind() |> + bind_cols(gr) +pg <- pivot_longer(nn, starts_with("k ="), names_to = "k", values_to = "knn") + +ggplot(pg, aes(x1, x2)) + + geom_raster(aes(fill = knn), alpha = .6) + + facet_wrap(~ k) + + scale_fill_manual(values = c(orange, green), labels = c("0", "1")) + + geom_point(data = dat1, mapping = aes(x1, x2, shape = as.factor(y)), size = 4) + + theme_bw(base_size = 18) + + scale_shape_manual(values = c("0", "1"), guide = "none") + + coord_cartesian(c(-2.5, 3), c(-2.5, 3)) + + theme( + legend.title = element_blank(), + legend.key.height = unit(3, "cm") + ) +``` + +* How should we choose $k$? + +* Scaling is also very important. "Nearness" is determined by distance, so better to standardize your data first. + +* If there are ties, break randomly. So even $k$ is strange. + + +## `knn.cv()` (leave one out) + +```{r} +kmax <- 20 +err <- map_dbl(1:kmax, ~ mean(knn.cv(dat1[, -1], dat1$y, k = .x) != dat1$y)) +``` + +```{r} +#| echo: false +ggplot(data.frame(k = 1:kmax, error = err), aes(k, error)) + + geom_point(color = red) + + geom_line(color = red) +``` + +I would use the _largest_ (odd) `k` that is close to the minimum. +This produces simpler, smoother, decision boundaries. + + + +## Final version + + +::: flex +::: w-50 + +```{r} +#| code-fold: true +#| fig-height: 6 +#| fig-width: 6 +kopt <- max(which(err == min(err))) +kopt <- kopt + 1 * (kopt %% 2 == 0) +gr$opt <- knn(dat1[, -1], gr[, 1:2], dat1$y, k = kopt) +tt <- table(knn(dat1[, -1], dat1[, -1], dat1$y, k = kopt), dat1$y, dnn = c("predicted", "truth")) +ggplot(dat1, aes(x1, x2)) + + theme_bw(base_size = 24) + + scale_shape_manual(values = c("0", "1"), guide = "none") + + geom_raster(data = gr, aes(x1, x2, fill = opt), alpha = .6) + + geom_point(aes(shape = y), size = 4) + + coord_cartesian(c(-2.5, 3), c(-2.5, 3)) + + scale_fill_manual(values = c(orange, green), labels = c("0", "1")) + + theme( + legend.position = "bottom", legend.title = element_blank(), + legend.key.width = unit(2, "cm") + ) +``` + +::: + +::: w-50 + +* Best $k$: `r kopt` + +* Misclassification error: `r 1-sum(diag(tt))/sum(tt)` + +* Confusion matrix: + +```{r echo=FALSE} +tt +``` + +::: +::: + +# Next time ... {background-image="https://i1.wp.com/bdtechtalks.com/wp-content/uploads/2018/12/artificial-intelligence-deep-learning-neural-networks-ai.jpg?w=1392&ssl=1" background-opacity=.4} + + +[Module 4]{.secondary} + +[boosting, bagging, random forests, and neural nets]{.secondary}