Skip to content

Commit

Permalink
Added lab classes for MLSS
Browse files Browse the repository at this point in the history
  • Loading branch information
lawrennd committed Feb 1, 2015
1 parent 5400166 commit 0977de9
Show file tree
Hide file tree
Showing 8 changed files with 3,648 additions and 5 deletions.
12 changes: 9 additions & 3 deletions lab_classes/dss/index.ipynb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:5f088aa09ece4c868c0227f55893d711723c04870addf87a331c9773fc5a1202"
"signature": "sha256:12b4ed68eb96de17bd8650a6012dc583c393ee6b237a9fb6d2eaf24e0ccb929d"
},
"nbformat": 3,
"nbformat_minor": 0,
Expand Down Expand Up @@ -47,12 +47,18 @@
"* [Model Validation](./model validation.ipynb) Validation of model predictions is one of the most general and important concepts in machine learning, statistics and data science. Here we teach the general concepts and apply them to polynomial regression.\n",
"* [Bayesian Regression](./Bayesian regression.ipynb) Bayesian averaging over models is one way of improving performance through reducing variance, but without increasing bias.\n",
"\n",
"## Dimensionality Reduction and Classification\n",
"For the third day we will consider extensions of the fundamentals we've described. Different extensions are outlined below.\n",
"\n",
"The third day focusses on dimensionality reduction and classification.\n",
"## Dimensionality Reduction\n",
"\n",
"* [Dimensionality reduction](./dimensionality reduction.ipynb) Unsupervised learning is an exploratory approach to understanding a data set. Here we consider dimensionality reduction as an approach to unsupervised learning.\n",
"\n",
"* [Non linear Dimensionality Reduction](./non linear dimensionality reduction.ipynb) TODO Non linear dimensionality reduction seeks to find a low dimensional space that is non linearly related to our observed data.\n",
"\n",
"## Classification and Generalized Linear Models\n",
"\n",
"* [Probabilistic classification and naive Bayes](./probabilistic classification.ipynb) Classification of data is a mainstay of machine learning and data science. Here we consider the naive Bayes approach from the perspective of probabilistic modeling. \n",
"\n",
"* [Logistic regression and Generalized Linear Models](./logistic regression.ipynb) Naive Bayes classifies the data by modeling the entire joint distribution of the the labels and inputs, this can be useful when there's missing data, but it requires a very rich class of models. Logistic regression models the conditional distribution of the label given the data. It also leads to a very general class of models know as 'generalized linear models'.\n"
]
},
Expand Down
4 changes: 2 additions & 2 deletions lab_classes/machine_learning/week9.ipynb
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:e8a4041b578e09ca93ad1795a027f7cdfda80b63d4c00b2fc6df801e6399ebad"
"signature": "sha256:b89a62c5de2874c7cdc36948acc7176bd99db61b3ce247b1bf58cb5a713aacae"
},
"nbformat": 3,
"nbformat_minor": 0,
Expand All @@ -28,7 +28,7 @@
"\n",
"Mathematically we can use a trick to implement this same table. We can use the value $y$ as a mathematical switch and write that\n",
"$$\n",
"P(y) = \\pi^y (1-pi)^(1-y)\n",
"P(y) = \\pi^y (1-\\pi)^{(1-y)}\n",
"$$\n",
"where our probability distribution is now written as a function of $y$. This probability distribution is known as the [Bernoulli distribution](http://en.wikipedia.org/wiki/Bernoulli_distribution). The Bernoulli distribution is a clever trick for mathematically switching between two probabilities if we were to write it as code it would be better described as\n",
"```python\n",
Expand Down
100 changes: 100 additions & 0 deletions lab_classes/mlss/.ipynb_checkpoints/index-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"metadata": {
"name": "",
"signature": "sha256:43e13b0d3446c3bca3497c75aa3b092226d220c8b4dcd5f679f4e662bfd988e9"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Machine Learning Summer School, Sydney\n",
"\n",
"### February 2015\n",
"\n",
"### Neil D. Lawrence\n",
"\n",
"## Introduction\n",
"\n",
"Welcome to the lab for the Gaussian process section at the Machine Learning Summer School in Sydney.\n",
"\n",
"This notebook provides you with the guide to your lab classes for Gaussian processes. The lab classes are intended to help get you familiar with modeling with Gaussian processes as\n",
"\n",
"The lab classes are based on our two software packages, `pods` which is used for access to datasets and `GPy` (release 21st November 2014) for Gaussian processes. You can install the GPy framework with\n",
"\n",
"```sh\n",
"pip install GPy\n",
"```\n",
"As well as the GPy software we use our `pods` software for ['open data science'](http://inverseprobability.com/2014/07/01/open-data-science/) for access to data sets and other resources.\n",
"\n",
"```sh\n",
"pip install -pre pods\n",
"```\n",
"\n",
"on some systems you may need to use ```pip install -pre pods``` to allow the prerelease to install.\n",
"\n",
"As well as these lab classes here are a range of tutorials on how to use `GPy`, many of which are written by members of the Sheffield research group. `GPy` is under active development and is released under a BSD license, you'd also be very welcome to contribute!\n",
"\n",
"\n",
"\n",
"## Review\n",
"\n",
"Before you start, if you aren't familiar with probabilistic processes, the following lab classes from the GPRS schools might be useful. The first session will allow you to become familiar with the Jupyter (the ipython notebook) and start to work with Gaussian processes.\n",
"\n",
"* [Welcome to `Jupyter`](./gprs/jupyter introduction.ipynb) A quick introduction to `Jupyter`, `python` and `numpy`. \n",
"* [Introduction to Probabilistic Regression](./gprs/probabilistic interpretations of regression.ipynb) A review of least squares, basis function modelling and the probabilistic interpretation of least squares.\n",
"* [Introduction to Bayesian Regression](./gprs/bayesian approach to regression.ipynb) Introducing priors over parameters and averaging over solutions.\n",
"\n",
"## Gaussian Processes\n",
"\n",
"The second day will focus on Gaussian process models and developing covariance functions. \n",
" \n",
"* [Introduction to Gaussian Processes](./gaussian process introduction.ipynb) We move from the Bayesian regression with polynomials to Gaussian process perspectives by looking at the priors over the function directly.\n",
"* [GPy: Introduction through Covariance Functions](./GPy introduction covariance functions.ipynb) `GPy` is a Python Gaussian process framework that implements many of the ideas we'll see in the course. In this session we introduce its covariance functions and sample from the associated Gaussian processes.\n",
"* [Gaussian Process Regression with GPy](./GPy gaussian process regression.ipynb) In this example we show how to do a simple regression model using Gaussian processes in GPy.\n",
"* [Optimizing Gaussian Processes](./GPy optimizing gaussian processes.ipynb) The parameters of the covariance function can be optimized. In this example we show how to optimize the parameters of the covariance function. (TODO HMC)\n",
"\n",
"# Advanced Topics\n",
"\n",
"Things we haven't had time to cover in the MLSS can be found below.\n",
"\n",
"### Structured Outputs with Gaussian Processes\n",
"\n",
"Gaussian processes for learning vector valued functions.\n",
"\n",
"* [Multiple Output GPs](./gprs/multiple outputs.ipynb)\n",
"* [TODO Differential Equations and Gaussian Processes](./gprs/GP differential equation.ipynb)\n",
"\n",
"\n",
"### Approximations\n",
"\n",
"These examples look at approximations for speeding up inference in Gaussian processes and/or making inference tractable.\n",
"\n",
"* [Low Rank Approximations for Gaussian Processes](./gprs/low rank approximations.ipynb)\n",
"* [Non Gaussian Likelihoods](./gprs/non gaussian likelihoods.ipynb)\n",
"* [Low Rank and Non Gaussian](./gprs/low rank and non gaussian.ipynb)\n",
"\n",
"### Dimensionality Reduction\n",
"\n",
"These examples look at dimensionality reduction with Gaussian processes.\n",
"\n",
"* [Dimensionality Reduction with Gaussian Processes](./gprs/dimensionality reduction with gaussian processes.ipynb) "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Loading

0 comments on commit 0977de9

Please sign in to comment.