Giter VIP home page Giter VIP logo

machinelearningsheets's Introduction

Machine Learning Sheets

This repository contains exercise sheets and example solutions for the course Machine Learning. They will be updated along the course during each summer semester.

The sheets were originally created during the summer semester 2016 but will be updated along each semester.

Old semesters

After each semester the final state will be tagged (see releases), so one can easily get the exercise sheets from one year or another by either downloading the archives or just checking out the appropriate semester. For example git checkout SS16 will take you to the version from summer semester 2016.

The master branch always reflects the latest state.

For Tutors/Maintainers

To create a tag after the end of a semester, use the following syntax:

git tag SS16
git push origin SS16

You can then update the release page with the new tag.

machinelearningsheets's People

Contributors

shoeffner avatar ahoereth avatar andreasuckro avatar krumnack avatar kirchner-jan avatar dependabot[bot] avatar genshivenom avatar

Stargazers

Nick Imanzi avatar Ashraf avatar  avatar  avatar Jake Dexheimer avatar Jannik Steinmann avatar

Watchers

James Cloos avatar  avatar  avatar  avatar Justin Shenk avatar  avatar

machinelearningsheets's Issues

Consider simplifying sheet 08: Multilayer Perceptron

Sheet 08 is quite complex. Not only does it require extensive explanations, but additionally the sample solution is quite long and for Python beginners difficult to reason about because of advanced object orientation and class inheritance.

To simplify this I propose an approach more along the lines of my naive MLP implementation. Specifically the first 4 cells:

  • One can be (still) be guided from bottom to top, going from a single perceptron over a layer of perceptrons to a multilayer perceptron.
  • Classes totally make sense for this. But inheritance is hard to reason about for beginners -- drop it.
  • Drop having multiple different perceptrons. To allow this
    • the input is provided as-is, as a list of values, one for each input neuron.
    • Activation functions are not hard coded into the perceptrons implementation but passed to the constructor. This is also more similar to the behavior of common ANN frameworks.

The code is not ready to be deployed. If the general idea is approved I would open a PR changing a couple of things:

  • Replace __call__ with activate or something simillar. While pretty, its confusing. For those coming from Java we should stick to something around "classes are called to create instances, instances provide methods".
  • Maybe get rid of __traverse__ because its very abstract. Redundant code here is not bad if its easier to understand.
  • Consider getting rid of zip and similar shorthands. Some of those, again, are quite hard to reason about and duplicated/longer code is probably preferable.
  • Adapt old exercises to new code.

Ping @krumnack @shoeffner @AndreaSuckro

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.