Git Product home page Git Product logo

ml_course's Introduction

EPFL Machine Learning Course CS-433

Machine Learning Course, Fall 2023

The course website and syllabus is available here: https://www.epfl.ch/labs/mlo/machine-learning-cs-433/

This repository contains all lecture notes, labs and projects - resources, code templates and solutions.

Videos will be available after each lecture on the mediaspace channel, here for 2022 lectures and for 2022 exercises, and here for 2021.

Contact us if you have any questions, via the discussion forum (for EPFL students), or email to the assistants or teachers. Please create issues and pull requests here using the menu above.

ml_course's People

Contributors

atlikosson avatar corentindumery avatar dngfra avatar elmahdichayti avatar fan1dy avatar fanagor avatar hojjatkarami avatar jbcdnr avatar juansapriza avatar koloskova avatar laraorlandic avatar liehe avatar martinjaggi avatar max-andr avatar mvladarean avatar nflammar avatar okyksl avatar olivia-fsm avatar skandermoalla avatar ysfalh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ml_course's Issues

Wrong Youtube link

The links of courses on 2021 and 2022 are not corresponding in the README. Someone should change it into the correct order.

Importing files from different folder

Since many students are asking for importing from different folders to reuse the code. Here is a useful link that can solve this problem.

https://stackoverflow.com/questions/4383571/importing-files-from-different-folder

Try the following:

sys.path.append('/path/to/application/app/folder')
import file

e.g.

sys.path.append('./scripts') # which means go to the scripts folder in the current folder
import helpers # import the helpers functions in the scripts folder

Typo in formulation of sigmoid function

Lecture 5b page 2 defines the logistic function as e^z / (1+e^z). This formulation is equivalent to 1/(1+e^(-z)), or 1 - 1/(1 + e^z).

Lecture 12a page 5 says that the sigmoid function 1/(1+e^(-x)) is one minus the logistic function, which is contradictory to lecture 5b.

Wikipedia's definition of the sigmoid function seems to say that the sigmoid function and logistic function often are referred to interchangeably. Therefore, I believe that saying that the sigmoid is one minus the logistic is wrong.

Exercise Set 2 - Exercise 5 - Typo

You say at the beginning of Exercise 5:

Reload the data through function load data() by setting sub sub_sample=False to keep only a few data
examples.
It should be sub_sample=True. It's a small typo.. But just in case..

Thanks @jmuth

Typo in Exercise 1

In Task C, the domain of the assignment vector α is {0,1}, right?
I mean, in order to be aligned with the python code.
Thanks!

Problem Set 2 -1st question, 4th bullet

This refers to Problem Set 2, Exercise 1
In the question - 'What would X32 represent?' I think it should be X_(31) instead of X_(32). X_32 would not be a matrix element as per the notations used in the exercise.

MAP :ridge regression

Hello,
Just a quick typo on the MAP for ridge regression
In the equation 3 i guess the last term is p(\omega ] \lamba) not p(\omega ] \thetha)

Typos in lecture 6a (GLM)

Hi,

I think I've spotted a few typos in the lecture notes for lecture 6a on Generalized Mixture Models:

  • Page 9, the probability of Gaussian distribution needs to be conditioned on both parameters image, not just on mu image. Alternatively, maybe a bold mu could be used to indicate the vector of usual parameters?
  • Page 14, μ and σ² are not the natural parameters, they're the usual parameters. η is the natural parameter.
  • Page 15, the log is missing a closing parenthesis, which should be right after h(yn)

Problem set 7 : strict convexity definition

In Problem Set 7, in the definition of strictly convex function, I think it should be :

for all x,y in the domain of f such that x ≠ y

instead of

for all x,y in the domain of f

🤓

Project2, text: glove_solution does not copy data

Currently, glove_solution.py computes a wrong value for ys, which is demonstrated by the following example code:

# example matrices parameter
xs = np.eye(5)
ys = np.eye(5)

# example indices parameter
ix = 0
jy = 0

# example scale parameter
scale = 1

# code from glove_solution.py
x, y = xs[ix, :], ys[jy, :]

xs[ix, :] += scale * y
ys[jy, :] += scale * x

print(ys)

Outputs

 [[ 3.  0.  0.  0.  0.]
 [ 0.  1.  0.  0.  0.]
 [ 0.  0.  1.  0.  0.]
 [ 0.  0.  0.  1.  0.]
 [ 0.  0.  0.  0.  1.]]

The problem with the ys value is that on the update it uses already modified variable x (modified by changing xs)

Possible solution: add data copying

Missing a file (Or something may not be clear)

Hi,

For the exercise 2 in lab03, the file plots.py is importing a file called build_polynomial. We are missing this file..

From what I've seen, we are using a function called build_poly in this file. Is it the build_poly function we wrote just before testing the polynomial regression?

Thanks

Miss the "grid_search.py" file for 2nd assignment

Miss the "grid_search.py" file for 2nd assignment.
@glederrey

import numpy as np

def generate_w(num_intervals = 10):
    w0 = np.linspace(-100.0, 200.0, num_intervals)
    w1 = np.linspace(-150.0, 150.0, num_intervals)
    return (w0, w1)

def get_best_parameters(grid_w0, grid_w1, grid_losses):
    flat_index = np.argmin(grid_losses)
    index = np.unravel_index(flat_index, grid_losses.shape)

    return (grid_losses.flat[flat_index], grid_w0[index[0]], grid_w1[index[1]])

lab03 figure 1

In order to get the same figure as in figure 1 in lab03
I think that lambdas in ex03.ipynb should be set
to np.logspace(-5, 1, 15)
instead of np.logspace(-5, 0, 15).
Am I right?

Clean-up in the repository history

Hi,

Could you please do some clean-up in the repository history before next semester starts?

A fresh clone gives me:

--- /home/git/ML_course -------------------------
  758.9 MiB [##########] /.git                                                                                                                                                                            
   33.6 MiB [          ] /exam
    1.5 MiB [          ] /labs
    4.0 KiB [          ]  .gitignore
    4.0 KiB [          ]  README.md

You can use git-filter-branch or bfg for that purpose.

Our users (on noto.epfl.ch) have 253 copies (and counting) of this repository, using already 230 GB of disk and about 2 TB of s3 backup/archive space.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.